@import '_content/Clevi.App.Components/Clevi.App.Components.pkpzusqpuy.bundle.scp.css';
@import '_content/Clevi.App.Server.Services.Accounts/Clevi.App.Server.Services.Accounts.l2k07moei7.bundle.scp.css';

/* /Components/Admin/Components/AdminLayout.razor.rz.scp.css */
/* === Admin layout shared variables === */
.admin-content-shell[b-zd0wkqgx4i] {
    --admin-surface: var(--clc-assign-base, var(--clv-background, #ffffff));
    --admin-surface-soft: var(--clc-assign-base-50, #f8fafc);
    --admin-border: var(--clc-assign-base-200, #e5e7eb);
    --admin-text: var(--clv-text-primary, #111827);
    --admin-muted: var(--clv-text-secondary, #6b7280);
    --admin-accent: var(--clc-primary, #1d4ed8);
}

/* === Body shell === */
.admin-content-shell[b-zd0wkqgx4i] {
    min-height: 100%;
    padding: 18px;
    background: var(--clc-assign-base-50, #f8fafc);
}

.admin-context-bar[b-zd0wkqgx4i] {
    margin-bottom: 12px;
    border: 1px solid var(--admin-border);
    border-radius: 12px;
    background: var(--admin-surface);
    padding: 10px 12px;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-items: center;
    -webkit-align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.admin-context-title[b-zd0wkqgx4i] {
    margin: 0;
    font-size: 0.95rem;
    color: var(--admin-text);
    font-weight: 700;
}

.admin-context-sub[b-zd0wkqgx4i] {
    margin: 2px 0 0;
    color: var(--admin-muted);
    font-size: 0.82rem;
}

.admin-context-actions[b-zd0wkqgx4i] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.admin-context-actions[b-zd0wkqgx4i]  .admin-chip {
    border-color: var(--clc-assign-base-200, #cbd5e1);
    background: var(--clc-assign-base-50, #f8fafc);
    color: var(--clv-text-primary, #334155);
}

.admin-content-shell[b-zd0wkqgx4i]  .container-fluid {
    background: transparent;
}

.admin-content-shell[b-zd0wkqgx4i]  .cl-page-title {
    border: 1px solid var(--admin-border);
    background: var(--admin-surface);
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 14px;
}

.admin-content-shell[b-zd0wkqgx4i]  .cl-card {
    border: 1px solid var(--admin-border);
    border-radius: 14px;
    background: var(--admin-surface);
    box-shadow: var(--clc-shadow-layer0);
}

.admin-content-shell[b-zd0wkqgx4i]  .muted {
    color: var(--admin-muted);
}

/* === Sidebar header (admin-prefixed to avoid global .logo / .right / .menu-button collisions) === */
.admin-side-header[b-zd0wkqgx4i] {
    padding: 14px 16px;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid var(--clc-assign-base-200, #e5e7eb);
    background: var(--clc-assign-base, #ffffff);
    box-sizing: border-box;
    width: 100%;
}

.admin-header-sidebar-toggle[b-zd0wkqgx4i] {
    appearance: none;
    border: 1px solid var(--clc-assign-base-200);
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    min-height: 36px;
    padding: 6px 10px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.admin-header-sidebar-toggle:hover[b-zd0wkqgx4i] {
    background: var(--clc-assign-base-100);
}

/* The expanded sidebar owns its close action; the header button is the reachable collapsed-state control. */
.admin-header-sidebar-toggle.open[b-zd0wkqgx4i] {
    display: none;
}

.admin-side-logo[b-zd0wkqgx4i] {
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    text-decoration: none;
    line-height: 0;
    flex-shrink: 0;
    /* defeat global app.css `.logo { background-image: url(../clevilogo.svg) }` if class collision happens */
    background: none !important;
}

.admin-side-logo img[b-zd0wkqgx4i] {
    width: auto;
    height: 28px;
    max-width: 140px;
    object-fit: contain;
    -o-object-fit: contain;
    display: block;
}

.admin-side-header-actions[b-zd0wkqgx4i] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.admin-side-toggle[b-zd0wkqgx4i] {
    appearance: none;
    border: 0;
    background: transparent;
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    cursor: pointer;
    width: 34px;
    height: 34px;
    -webkit-justify-content: center;
    justify-content: center;
    border-radius: 8px;
    color: var(--clv-text-secondary, #4b5563);
    transition: background-color 0.15s ease;
    -webkit-transition: background-color 0.15s ease;
    flex-shrink: 0;
}

.admin-side-toggle:hover[b-zd0wkqgx4i] {
    background: var(--clc-assign-base-100, #f1f5f9);
}

.admin-side-toggle-icon[b-zd0wkqgx4i] {
    width: 22px;
    height: 22px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* outward chevron — sidebar open icon */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M9 4v16'/%3E%3Cpath d='M14 9l3 3-3 3'/%3E%3C/svg%3E");
}

.admin-side-toggle.open .admin-side-toggle-icon[b-zd0wkqgx4i] {
    /* inward chevron — sidebar close icon */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M9 4v16'/%3E%3Cpath d='M17 9l-3 3 3 3'/%3E%3C/svg%3E");
}

@media screen and (min-width: 769px) {
    .clc-sidebar-collapsed .admin-side-header[b-zd0wkqgx4i] {
        padding: 12px;
        justify-content: center;
    }

    .clc-sidebar-collapsed .admin-side-logo img[b-zd0wkqgx4i] {
        width: 32px;
        height: 32px;
        max-width: 32px;
    }

    /* A collapsed CleviSidebar is inert. Keep only the brand visible and move expansion to the header. */
    .clc-sidebar-collapsed .admin-side-header-actions[b-zd0wkqgx4i],
    .clc-sidebar-collapsed .admin-side-body[b-zd0wkqgx4i] {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .admin-header-sidebar-toggle[b-zd0wkqgx4i] {
        display: none;
    }
}

/* === Sidebar body container === */
.admin-side-body[b-zd0wkqgx4i] {
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    box-sizing: border-box;
    width: 100%;
    /* CleviSidebar has its own overflow:auto so we let the panel scroll —
       no nested scrollbar here. */
}

.admin-sidebar-tools[b-zd0wkqgx4i] {
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 4px;
}

.admin-menu-search[b-zd0wkqgx4i] {
    width: 100%;
    border-radius: 10px;
    border: 1px solid var(--admin-border);
    background: var(--clc-assign-base, #fff);
    color: var(--admin-text);
    padding: 8px 10px;
    font-size: 13px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    -webkit-transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-menu-search:focus[b-zd0wkqgx4i] {
    border-color: var(--clc-primary, #1d4ed8);
    box-shadow: 0 0 0 3px var(--clc-primary-lighter, #dbeafe);
}

.admin-quick-links[b-zd0wkqgx4i] {
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    gap: 6px;
}

.admin-context-actions[b-zd0wkqgx4i]  .admin-chip,
.admin-side-body[b-zd0wkqgx4i]  .admin-chip {
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--clc-primary-lighter, #bfdbfe);
    background: var(--clc-primary-lighter, #eff6ff);
    color: var(--clc-primary, #1d4ed8);
    font-size: 12px;
    text-decoration: none;
    transition: background-color 0.15s ease;
    -webkit-transition: background-color 0.15s ease;
}

.admin-context-actions[b-zd0wkqgx4i]  .admin-chip:hover,
.admin-side-body[b-zd0wkqgx4i]  .admin-chip:hover {
    background: var(--clc-primary-light, #c7d2fe);
    color: var(--clc-primary-dark, #1e3a8a);
    text-decoration: none;
}

.admin-context-actions[b-zd0wkqgx4i]  .admin-chip.active,
.admin-side-body[b-zd0wkqgx4i]  .admin-chip.active {
    background: var(--clc-primary-lighter, #dbeafe);
    font-weight: 600;
    color: var(--clc-primary-dark, #1e3a8a);
}

.admin-recent[b-zd0wkqgx4i] {
    border: 1px solid var(--admin-border);
    border-radius: 10px;
    background: var(--admin-surface);
    padding: 8px;
}

.admin-recent h6[b-zd0wkqgx4i] {
    margin: 0 0 6px;
    font-size: 11px;
    color: var(--admin-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.admin-recent-list[b-zd0wkqgx4i] {
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 2px;
}

.admin-side-body[b-zd0wkqgx4i]  .admin-recent-link {
    color: var(--clv-text-primary, #334155);
    text-decoration: none;
    border-radius: 6px;
    padding: 5px 8px;
    font-size: 12px;
    background: transparent;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.admin-side-body[b-zd0wkqgx4i]  .admin-recent-link:hover {
    background: var(--clc-assign-base-100, #f1f5f9);
    color: var(--admin-text);
    text-decoration: none;
}

.admin-side-body[b-zd0wkqgx4i]  .admin-recent-link.active {
    background: var(--clc-primary-lighter, #dbeafe);
    color: var(--clc-primary-dark, #1e3a8a);
    font-weight: 600;
}

.admin-side-body[b-zd0wkqgx4i]  .admin-sidebar-link {
    color: var(--clv-text-secondary, #4b5563);
    text-decoration: none;
    padding: 8px 12px;
    display: block;
    border-radius: 8px;
    margin: 1px 0;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
    -webkit-transition: background-color 0.15s ease, color 0.15s ease;
}

.admin-side-body[b-zd0wkqgx4i]  .admin-sidebar-link:hover {
    background: var(--clc-assign-base-100, #f1f5f9);
    color: var(--admin-text);
    text-decoration: none;
}

.admin-side-body[b-zd0wkqgx4i]  .admin-sidebar-link.active {
    background: var(--clc-primary-lighter, #dbeafe);
    color: var(--clc-primary-dark, #1e3a8a);
    font-weight: 600;
}

.admin-empty[b-zd0wkqgx4i] {
    border: 1px dashed var(--admin-border);
    border-radius: 10px;
    color: var(--admin-muted);
    padding: 12px;
    font-size: 13px;
    text-align: center;
}

/* === Accordion overrides — actual rendered classes are .clc-accordion / .clc-accordion-header / .clc-accordion-content === */
.admin-side-body[b-zd0wkqgx4i]  .clc-accordion {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
    border-radius: 0 !important;
    width: 100%;
}

.admin-side-body[b-zd0wkqgx4i]  .clc-accordion .clc-accordion-header {
    background: var(--clc-assign-base, #fff) !important;
    border: 1px solid var(--clc-assign-base-200, #e5e7eb);
    border-radius: 10px;
    margin-bottom: 6px;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
}

.admin-side-body[b-zd0wkqgx4i]  .clc-accordion .clc-accordion-header > button {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    color: var(--clv-text-primary, #111827);
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
}

.admin-side-body[b-zd0wkqgx4i]  .clc-accordion .clc-accordion-header > button:hover {
    background: var(--clc-assign-base-50, #f8fafc);
    color: var(--clv-text-primary, #111827);
}

.admin-side-body[b-zd0wkqgx4i]  .clc-accordion-content {
    padding: 4px 6px 8px !important;
    background: transparent !important;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-side-body[b-zd0wkqgx4i]  .clc-expander {
    background: transparent !important;
}
/* /Components/Admin/MasterSettings.razor.rz.scp.css */
.master-brand-preview[b-usg0own62a] {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    background: var(--clc-assign-base-50);
    padding: 4px;
    flex-shrink: 0;
}
/* /Components/Admin/Services/Accounts/AccountActivity.razor.rz.scp.css */
/* AccountActivity 페이지 고유 스타일 — 공용 adm-* 로 표현되지 않는 부분만 유지 */

.account-activity-summary[b-0p4r0r4i7k] {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.account-activity-summary__item[b-0p4r0r4i7k] {
    background: var(--clc-assign-base);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 12px;
}

.account-activity-summary__item span[b-0p4r0r4i7k] {
    color: var(--clv-text-secondary);
    font-size: 0.78rem;
}

.account-activity-summary__item strong[b-0p4r0r4i7k] {
    color: var(--clv-text-primary);
    font-size: 0.94rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.account-activity-profiles[b-0p4r0r4i7k] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.account-activity-profile[b-0p4r0r4i7k] {
    align-items: center;
    background: var(--clc-assign-base-50);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    display: inline-flex;
    gap: 6px;
    padding: 6px 10px;
}

.account-activity-profile__mark[b-0p4r0r4i7k] {
    color: var(--clc-primary);
    font-size: 0.78rem;
    font-weight: 600;
}

.account-activity-tabs[b-0p4r0r4i7k] {
    align-items: center;
    background: var(--clc-assign-base-50);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    display: flex;
    gap: 4px;
    padding: 4px;
    width: fit-content;
}

.account-activity-tab[b-0p4r0r4i7k] {
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: inherit;
    cursor: pointer;
    font: inherit;
    min-height: 34px;
    padding: 6px 14px;
    white-space: nowrap;
}

.account-activity-tab:hover[b-0p4r0r4i7k] {
    background: var(--clc-assign-base-100);
}

.account-activity-tab--active[b-0p4r0r4i7k] {
    background: var(--clc-primary);
    color: var(--clc-assign-base);
    font-weight: 600;
}

.account-activity-panel[b-0p4r0r4i7k] {
    min-height: 280px;
}

.account-operations-grid[b-0p4r0r4i7k] {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.account-operation-card[b-0p4r0r4i7k] {
    background: var(--clc-assign-base);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    color: inherit;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 104px;
    padding: 14px;
    text-align: left;
}

.account-operation-card:hover[b-0p4r0r4i7k] {
    border-color: var(--clc-primary);
}

.account-operation-card span[b-0p4r0r4i7k],
.account-operation-card small[b-0p4r0r4i7k],
.account-recent-item span[b-0p4r0r4i7k] {
    color: var(--clv-text-secondary);
}

.account-operation-card strong[b-0p4r0r4i7k] {
    color: var(--clv-text-primary);
    font-size: 1.45rem;
}

.account-quick-actions[b-0p4r0r4i7k] {
    margin-top: 12px;
}

.account-recent-list[b-0p4r0r4i7k] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.account-recent-item[b-0p4r0r4i7k] {
    align-items: center;
    border-bottom: 1px solid var(--clc-assign-base-200);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 0;
}

.account-recent-item:last-child[b-0p4r0r4i7k] {
    border-bottom: 0;
}

.account-recent-item > div:first-child[b-0p4r0r4i7k] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.account-recent-item__meta[b-0p4r0r4i7k] {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 4px;
}

.account-activity-chat[b-0p4r0r4i7k] {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
}

.account-activity-room-list[b-0p4r0r4i7k] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    max-height: 640px;
    min-width: 0;
    overflow: auto;
}

.account-activity-room[b-0p4r0r4i7k] {
    background: var(--clc-assign-base);
    border: 0;
    border-bottom: 1px solid var(--clc-assign-base-200);
    color: inherit;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.account-activity-room:hover[b-0p4r0r4i7k],
.account-activity-room--active[b-0p4r0r4i7k] {
    background: var(--clc-assign-base-100);
}

.account-activity-room__title[b-0p4r0r4i7k] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.account-activity-room__meta[b-0p4r0r4i7k],
.account-activity-room__preview[b-0p4r0r4i7k],
.account-activity-message__meta[b-0p4r0r4i7k],
.account-activity-messages__header span[b-0p4r0r4i7k] {
    color: var(--clv-text-secondary);
    font-size: 0.78rem;
}

.account-activity-room__preview[b-0p4r0r4i7k] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-activity-messages[b-0p4r0r4i7k] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    min-width: 0;
    padding: 12px;
}

.account-activity-messages__header[b-0p4r0r4i7k] {
    border-bottom: 1px solid var(--clc-assign-base-200);
    margin-bottom: 12px;
    padding-bottom: 10px;
}

.account-activity-message-list[b-0p4r0r4i7k] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 580px;
    overflow: auto;
}

.account-activity-message[b-0p4r0r4i7k] {
    background: var(--clc-assign-base);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    padding: 10px 12px;
}

.account-activity-message--target[b-0p4r0r4i7k] {
    border-color: var(--clc-primary);
}

.account-activity-message__meta[b-0p4r0r4i7k] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}

.account-activity-message__body[b-0p4r0r4i7k] {
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.account-activity-table[b-0p4r0r4i7k] {
    min-width: 980px;
}

.account-activity-table .num[b-0p4r0r4i7k] {
    text-align: right;
}

.account-usage-log-actions[b-0p4r0r4i7k] {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
}

/* 추론 로그 영구 보관 전 요청 상세: 사용량 행 바로 아래 펼치는 행. 표 안에 있으므로 바깥 테두리 없이 안쪽 칸만 나눈다. */
.account-activity-table tbody tr.account-legacy-detail-row:hover[b-0p4r0r4i7k] {
    background: transparent;
}

.account-legacy-detail[b-0p4r0r4i7k] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 4px 0 8px;
}

.account-legacy-detail__grid[b-0p4r0r4i7k] {
    display: grid;
    gap: 8px 16px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    margin: 0;
}

.account-legacy-detail__field[b-0p4r0r4i7k] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.account-legacy-detail__field dt[b-0p4r0r4i7k] {
    color: var(--clv-text-secondary);
    font-size: 0.75rem;
}

.account-legacy-detail__field dd[b-0p4r0r4i7k] {
    color: var(--clv-text-primary);
    margin: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 960px) {
    .account-activity-tabs[b-0p4r0r4i7k] {
        overflow-x: auto;
        width: 100%;
    }

    .account-activity-chat[b-0p4r0r4i7k] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Admin/Services/Accounts/AccountDetails.razor.rz.scp.css */
/* AccountDetails 페이지 고유 스타일 — 공용 adm-* 로 표현되지 않는 부분만 유지 */

.acc-info-list[b-7oesj64jdm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}

.acc-info-row[b-7oesj64jdm] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.acc-info-row h6[b-7oesj64jdm] {
    margin: 0;
    min-width: 76px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.acc-info-row p[b-7oesj64jdm] {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--clv-text-primary);
    overflow-wrap: anywhere;
}

.acc-subhead[b-7oesj64jdm] {
    margin: 16px 0 8px;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.acc-subhead:first-of-type[b-7oesj64jdm] {
    margin-top: 0;
}
/* /Components/Admin/Services/Accounts/AccountPermissions.razor.rz.scp.css */
/* AccountPermissions 페이지 고유 스타일 — 공용 adm-* 로 표현되지 않는 부분만 유지 */

.account-summary-grid[b-u8zezl0xuk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}

.account-summary-grid > div[b-u8zezl0xuk],
.preset-row[b-u8zezl0xuk] {
    border-radius: 8px;
    background: var(--clc-assign-base-50);
    padding: 10px;
}

.account-summary-grid small[b-u8zezl0xuk] {
    display: block;
    margin-bottom: 4px;
    color: var(--clv-text-secondary);
    font-size: 0.8rem;
    font-weight: 600;
}

.account-summary-grid strong[b-u8zezl0xuk],
.preset-row strong[b-u8zezl0xuk] {
    display: block;
    color: var(--clv-text-primary);
}

.account-summary-grid code[b-u8zezl0xuk],
.preset-row code[b-u8zezl0xuk] {
    color: var(--clc-primary-dark);
    word-break: break-all;
}

.preset-list[b-u8zezl0xuk] {
    display: grid;
    gap: 10px;
}

.preset-row[b-u8zezl0xuk] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
}

.preset-row p[b-u8zezl0xuk] {
    margin: 4px 0 6px;
    color: var(--clv-text-secondary);
    font-size: 0.86rem;
}

.risk-option[b-u8zezl0xuk] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
}

@media (max-width: 920px) {
    .preset-row[b-u8zezl0xuk] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Admin/Services/Accounts/AddRoleDialog.razor.rz.scp.css */
/* AddRoleDialog 고유 스타일 — 역할 선택 리스트 */

.role-list[b-h4tchs1ad6] {
    max-height: 250px;
    overflow-y: auto;
}

.role-item[b-h4tchs1ad6] {
    padding: 8px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    margin-bottom: 6px;
    cursor: pointer;
}

.role-item:hover[b-h4tchs1ad6] {
    background-color: var(--clc-assign-base-100);
}

.role-item.selected[b-h4tchs1ad6] {
    background-color: var(--clc-primary-lighter);
    border-color: var(--clc-primary);
}
/* /Components/Admin/Services/Accounts/BulkIssueAccountsDialog.razor.rz.scp.css */
/* BulkIssueAccountsDialog 고유 스타일
   대화상자 폭은 여는 쪽(AccountList)의 DialogOptions.Width 가 정한다. 여기서 min-width 로 폭을
   강제하면 틀보다 내용이 넓어져 본문 전체가 가로로 스크롤되므로, 안쪽 배치는 창 폭이 아니라
   대화상자 자신의 폭(컨테이너 쿼리)에 맞춰 접는다. */

.adm-dialog.bulk-account-dialog[b-l3p6q0nhhu] {
    /* 공용 .adm-dialog 의 최소·최대 폭을 풀어 틀 폭을 그대로 따른다. 폰에서는 틀이 320px 보다 좁다. */
    min-width: 0;
    max-width: none;
    container: bulk-account-dialog / inline-size;
}

/* 공용 그리드의 260px 최소 열은 폰 폭 대화상자에서 넘치므로 열 최소 폭에 100% 상한을 둔다 */
.adm-form-grid[b-l3p6q0nhhu] {
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.switch-field[b-l3p6q0nhhu] {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
}

.switch-field label[b-l3p6q0nhhu] {
    display: block;
    font-weight: 600;
    margin-bottom: 2px;
    color: var(--clv-text-primary);
}

.switch-field span[b-l3p6q0nhhu],
.preview-policy[b-l3p6q0nhhu] {
    color: var(--clv-text-secondary);
    font-size: 0.9em;
}

.preview[b-l3p6q0nhhu],
.result-summary[b-l3p6q0nhhu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.preview strong[b-l3p6q0nhhu],
.result-summary strong[b-l3p6q0nhhu] {
    color: var(--clv-text-primary);
}

/* 긴 prefix 로 만든 아이디·이메일 범위가 한 덩어리로 버티지 않고 줄 안에서 끊기게 한다 */
.preview span[b-l3p6q0nhhu] {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* 표 모드는 열 비율을 고정해 표가 틀 폭을 넘지 못하게 한다. auto 배치에서는 긴 실패 문구가 폭을
   독차지해 아이디·이메일을 글자 중간에서 꺾고, 긴 prefix 처럼 끊을 곳 없는 값은 표를 틀 밖으로 민다.
   비율은 아이디·이메일·전화번호·날짜·비밀번호가 카드 전환 폭에서도 한 줄에 드는 크기로 잡고
   나머지를 상태 문구에 준다. */
.result-table[b-l3p6q0nhhu] {
    table-layout: fixed;
}

.result-table th:nth-child(1)[b-l3p6q0nhhu] { width: 11%; }
.result-table th:nth-child(2)[b-l3p6q0nhhu] { width: 20%; }
.result-table th:nth-child(3)[b-l3p6q0nhhu] { width: 13%; }
.result-table th:nth-child(4)[b-l3p6q0nhhu] { width: 11%; }
.result-table th:nth-child(5)[b-l3p6q0nhhu] { width: 9%; }
.result-table th:nth-child(6)[b-l3p6q0nhhu] { width: 16%; }
.result-table th:nth-child(7)[b-l3p6q0nhhu] { width: 20%; }

/* 고정 폭 열에 들지 않는 값은 셀 안에서 줄바꿈해 옆 열이나 틀 밖으로 넘치지 않게 한다 */
.result-table td[b-l3p6q0nhhu] {
    overflow-wrap: anywhere;
}

.password-cell[b-l3p6q0nhhu] {
    word-break: break-all;
}

/* 7열이 한 줄로 들어가지 않는 폭부터는 행마다 "라벨 | 값" 카드로 접는다.
   가로 스크롤 대신 세로로 늘어나 모바일에서도 대화상자 본문 스크롤 하나로 끝난다. */
@container bulk-account-dialog (max-width: 920px) {
    .result-table[b-l3p6q0nhhu],
    .result-table tbody[b-l3p6q0nhhu],
    .result-table tr[b-l3p6q0nhhu] {
        display: block;
    }

    /* 열 이름은 각 셀의 data-label 이 대신 보여 준다 */
    .result-table thead[b-l3p6q0nhhu] {
        display: none;
    }

    .result-table tr[b-l3p6q0nhhu] {
        padding: 8px 0;
        border-bottom: 1px solid var(--clc-assign-base-100);
    }

    .result-table td[b-l3p6q0nhhu] {
        display: grid;
        grid-template-columns: 6.5em minmax(0, 1fr);
        gap: 12px;
        align-items: baseline;
        padding: 3px 4px;
        border-bottom: 0;
    }

    .result-table td[b-l3p6q0nhhu]::before {
        content: attr(data-label);
        color: var(--clv-text-secondary);
        font-size: 0.75rem;
        font-weight: 600;
    }
}
/* /Components/Admin/Services/AccountSettings.razor.rz.scp.css */
.acct-check-list[b-xy2d1el18e] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.acct-check-row[b-xy2d1el18e] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--clc-assign-base-100);
}

.acct-check-row:last-child[b-xy2d1el18e] {
    border-bottom: 0;
}
/* /Components/Admin/Services/Acl/AclPlatform.razor.rz.scp.css */
.checkbox-line[b-ouxc72b12n] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    margin: 0;
    color: var(--clv-text-primary);
    cursor: pointer;
}

.principal-list[b-ouxc72b12n] {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    max-height: 280px;
    overflow: auto;
}

.principal-item[b-ouxc72b12n] {
    text-align: left;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-primary);
    padding: 8px 10px;
    cursor: pointer;
}

.principal-item.selected[b-ouxc72b12n] {
    border-color: var(--clc-primary-light);
    background: var(--clc-primary-lighter);
}

.principal-item small[b-ouxc72b12n] {
    display: block;
    color: var(--clv-text-secondary);
    font-size: 0.72rem;
}

.scope-list[b-ouxc72b12n] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

code[b-ouxc72b12n] {
    color: var(--clc-primary-dark);
    word-break: break-all;
}

.cell-sub[b-ouxc72b12n] {
    display: block;
    color: var(--clv-text-secondary);
    font-size: 0.72rem;
}
/* /Components/Admin/Services/Ari/AriCapabilityProposalOperations.razor.rz.scp.css */
/* 역량 제안 — adm-* 로 표현 불가능한 페이지 고유 스타일 */

.ari-gap-dashboard[b-4glh6giqhi] {
    margin-top: 12px;
}

.ari-proposal-table th[b-4glh6giqhi],
.ari-proposal-table td[b-4glh6giqhi] {
    vertical-align: top;
}

.ari-proposal-wrap[b-4glh6giqhi] {
    overflow-wrap: anywhere;
}

.ari-proposal-selected[b-4glh6giqhi] {
    outline: 2px solid var(--clc-primary);
    outline-offset: -2px;
}

.ari-proposal-detail[b-4glh6giqhi],
.ari-proposal-action-grid[b-4glh6giqhi] {
    margin-top: 14px;
}

.ari-proposal-evidence-table[b-4glh6giqhi] {
    margin-top: 14px;
}

.ari-proposal-definition[b-4glh6giqhi] {
    display: grid;
    gap: 6px 10px;
    grid-template-columns: max-content minmax(0, 1fr);
}

.ari-proposal-definition dd[b-4glh6giqhi] {
    margin: 0;
    overflow-wrap: anywhere;
}

.ari-proposal-definition dt[b-4glh6giqhi] {
    color: var(--clv-text-secondary);
    font-weight: 600;
}

.ari-proposal-json[b-4glh6giqhi],
.ari-proposal-result pre[b-4glh6giqhi] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ari-proposal-json[b-4glh6giqhi] {
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-primary);
    resize: vertical;
}

.ari-proposal-check[b-4glh6giqhi] {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    min-height: 36px;
    white-space: nowrap;
}

.ari-proposal-result[b-4glh6giqhi] {
    margin-top: 14px;
}
/* /Components/Admin/Services/Ari/AriPromptPacks.razor.rz.scp.css */
/* 프롬프트 팩 — adm-* 로 표현할 수 없는 목록 고유 레이아웃만 남깁니다.
   배지는 admin.css의 .adm-badge 공용 패턴을 사용하며, 색상 토큰은 Components 테마에
   실제로 정의된 --clc-assign-* / --clv-text-* 만 씁니다. */

.ari-prompt-pack-head[b-xpt25lid32] {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.ari-prompt-pack-head h3[b-xpt25lid32],
.ari-prompt-pack-row h4[b-xpt25lid32] {
    margin: 0;
}

.ari-workflow-template-card[b-xpt25lid32] {
    margin-bottom: 1rem;
}

.ari-workflow-template-meta dd[b-xpt25lid32] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

/* 게시는 기존 워크플로우 편집기가 담당합니다. 관리자 화면은 두 번째 변경 경로를 만들지 않습니다. */
.ari-workflow-template-link[b-xpt25lid32] {
    color: inherit;
    display: inline-flex;
    font-weight: 700;
    margin-bottom: 1rem;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.ari-workflow-template-action-help[b-xpt25lid32] {
    margin-bottom: 0.75rem;
}

.ari-workflow-template-action-help p[b-xpt25lid32] {
    margin: 0.35rem 0 0;
}

.ari-workflow-template-boundary[b-xpt25lid32] {
    margin-top: 0;
}

.ari-prompt-pack-actions[b-xpt25lid32] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1rem 0;
}

.ari-prompt-pack-actions[data-knowledge-template-actions][b-xpt25lid32] {
    align-items: center;
}

.ari-prompt-pack-actions[data-knowledge-template-actions] .ari-workflow-template-link[b-xpt25lid32] {
    margin-bottom: 0;
}

.ari-prompt-pack-boundary[b-xpt25lid32] {
    margin-bottom: 1rem;
}

.ari-prompt-pack-list[b-xpt25lid32] {
    display: grid;
    gap: 1rem;
}

.ari-prompt-pack-row[b-xpt25lid32] {
    background: var(--clc-assign-base);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 12px;
    padding: 1rem;
}

.ari-prompt-pack-row-head[b-xpt25lid32] {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.ari-prompt-pack-role[b-xpt25lid32] {
    color: var(--clv-text-secondary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.ari-prompt-pack-row code[b-xpt25lid32] {
    overflow-wrap: anywhere;
}

.ari-prompt-pack-badges[b-xpt25lid32] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-end;
}

.ari-prompt-pack-meta[b-xpt25lid32] {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin: 1rem 0;
}

.ari-prompt-pack-meta div[b-xpt25lid32] {
    min-width: 0;
}

.ari-prompt-pack-meta dt[b-xpt25lid32] {
    color: var(--clv-text-secondary);
    font-size: 0.78rem;
    margin-bottom: 0.2rem;
}

.ari-prompt-pack-meta dd[b-xpt25lid32] {
    margin: 0;
}

.ari-prompt-pack-row details[b-xpt25lid32] {
    border-top: 1px solid var(--clc-assign-base-200);
    margin-top: 1rem;
    padding-top: 0.8rem;
}

.ari-prompt-pack-row summary[b-xpt25lid32] {
    cursor: pointer;
    font-weight: 700;
}

.ari-prompt-pack-row pre[b-xpt25lid32] {
    background: var(--clc-assign-base-50);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    margin: 0.8rem 0 0;
    max-height: 32rem;
    overflow: auto;
    padding: 1rem;
    white-space: pre-wrap;
}

@media (max-width: 720px) {
    .ari-prompt-pack-head[b-xpt25lid32],
    .ari-prompt-pack-row-head[b-xpt25lid32] {
        align-items: stretch;
        flex-direction: column;
    }

    .ari-prompt-pack-badges[b-xpt25lid32] {
        justify-content: flex-start;
    }
}
/* /Components/Admin/Services/Ari/AriSvceProvisioningSettings.razor.rz.scp.css */
/* Ari 컨테이너 런타임 — adm-* 로 표현 불가능한 페이지 고유 스타일만 남깁니다.
   섹션 탭은 admin.css의 .adm-tabs / .adm-tab 공용 패턴을 사용합니다. */

.ari-svce-runtime .runtime-metric-value[b-t7otmnqv1a] {
    display: block;
    color: var(--clv-text-primary);
    font-size: 14px;
    font-weight: 700;
    word-break: break-all;
}

.ari-svce-runtime .runtime-layout[b-t7otmnqv1a] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.ari-svce-runtime .runtime-panel[b-t7otmnqv1a] {
    min-width: 0;
}

.ari-svce-runtime[b-t7otmnqv1a]  .runtime-input {
    width: 100%;
    max-width: 760px;
}

.ari-svce-runtime[b-t7otmnqv1a]  .runtime-input-small {
    max-width: 180px;
}
/* /Components/Admin/Services/Ari/AriWorkflowAutonomySettings.razor.rz.scp.css */
/* Workflow Autonomy 설정 — adm-* 로 표현 불가능한 컴포넌트 고유 스타일 */

.ari-autonomy-state strong[b-1notdxgwq7],
.ari-autonomy-state span[b-1notdxgwq7] {
    display: block;
}

.ari-autonomy-state strong[b-1notdxgwq7] {
    color: var(--clv-text-primary);
    font-size: 14px;
}

.ari-autonomy-state span[b-1notdxgwq7] {
    color: var(--clv-text-secondary);
    font-size: 12px;
    margin-top: 2px;
}

.ari-autonomy-settings[b-1notdxgwq7]  textarea,
.ari-autonomy-settings[b-1notdxgwq7]  input {
    width: 100%;
    min-width: 0;
}

.ari-autonomy-node-overrides[b-1notdxgwq7] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ari-autonomy-node-overrides code[b-1notdxgwq7] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-primary);
    padding: 3px 6px;
    font-size: 12px;
}
/* /Components/Admin/Services/Audit/AuditSettings.razor.rz.scp.css */
.audit-runtime-stats[b-mlwwyyhvbx] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.audit-level-control[b-mlwwyyhvbx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.audit-level-option[b-mlwwyyhvbx] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-start;
    min-height: 66px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    padding: 10px;
    text-align: left;
    cursor: pointer;
}

.audit-level-option.selected[b-mlwwyyhvbx] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.audit-level-option span[b-mlwwyyhvbx] {
    font-weight: 600;
}

.audit-level-option small[b-mlwwyyhvbx] {
    color: var(--clv-text-secondary);
    line-height: 1.35;
}

.audit-switch[b-mlwwyyhvbx] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--clv-text-primary);
    cursor: pointer;
}

.audit-section-gap[b-mlwwyyhvbx] {
    margin-top: 14px;
}

.audit-table th[b-mlwwyyhvbx],
.audit-table td[b-mlwwyyhvbx] {
    white-space: nowrap;
}

.audit-table td:last-child[b-mlwwyyhvbx] {
    white-space: normal;
    min-width: 220px;
}

.audit-catalog-table td:nth-child(3)[b-mlwwyyhvbx],
.audit-catalog-table td:nth-child(4)[b-mlwwyyhvbx],
.audit-catalog-table td:nth-child(7)[b-mlwwyyhvbx] {
    white-space: normal;
    min-width: 180px;
}

.audit-tag-list[b-mlwwyyhvbx],
.audit-rule-actions[b-mlwwyyhvbx] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.audit-tag-chip[b-mlwwyyhvbx],
.audit-rule-actions button[b-mlwwyyhvbx] {
    border: 1px solid var(--clc-assign-base-300);
    border-radius: 8px;
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    padding: 3px 8px;
    font-size: 0.78rem;
    cursor: pointer;
}

.audit-tag-chip:hover[b-mlwwyyhvbx],
.audit-rule-actions button:hover[b-mlwwyyhvbx] {
    border-color: var(--clc-primary);
    color: var(--clc-primary);
}

.audit-detail[b-mlwwyyhvbx] {
    margin-top: 6px;
    color: var(--clv-text-secondary);
}

.audit-detail summary[b-mlwwyyhvbx] {
    cursor: pointer;
    color: var(--clc-primary);
}

.audit-detail dl[b-mlwwyyhvbx] {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 4px 8px;
    margin: 8px 0 0;
}

.audit-detail dt[b-mlwwyyhvbx] {
    color: var(--clv-text-secondary);
    font-weight: 600;
}

.audit-detail dd[b-mlwwyyhvbx] {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.audit-detail pre[b-mlwwyyhvbx] {
    max-height: 240px;
    overflow: auto;
    margin: 0;
    white-space: pre-wrap;
    color: var(--clv-text-primary);
}
/* /Components/Admin/Services/AutomaticTasks.razor.rz.scp.css */
/* 작업 행은 카드 안의 구획이라 바깥 테두리 없이 행 사이 머리선으로만 나눈다(Mist 표면 규칙). */
.automatic-task-list[b-ims3efrd82] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.automatic-task-row[b-ims3efrd82] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    min-width: 0;
}

.automatic-task-row + .automatic-task-row[b-ims3efrd82] {
    border-top: 1px solid var(--clc-material-hairline);
}

.automatic-task-body[b-ims3efrd82] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.automatic-task-title[b-ims3efrd82] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--clv-text-primary);
}

.automatic-task-text[b-ims3efrd82] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--clv-text-secondary);
}

.automatic-task-facts[b-ims3efrd82] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 14px;
    font-size: 0.78rem;
    color: var(--clv-text-tertiary);
}

/* 선행 설정 안내와 읽기 실패는 강조 막대 대신 글자 색으로만 구분한다. */
.automatic-task-setup[b-ims3efrd82] {
    margin: 0;
    font-size: 0.8rem;
    color: var(--clc-warning-dark);
}

.automatic-task-problem[b-ims3efrd82] {
    margin: 0;
    font-size: 0.8rem;
    color: var(--clc-danger-dark);
}

.automatic-task-link[b-ims3efrd82] {
    align-self: flex-start;
    font-size: 0.8rem;
}

.automatic-task-control[b-ims3efrd82] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    min-width: 72px;
}

.automatic-task-alert[b-ims3efrd82] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.automatic-task-subtitle[b-ims3efrd82] {
    margin: 4px 0 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

@media (max-width: 640px) {
    .automatic-task-row[b-ims3efrd82] {
        flex-direction: column;
        gap: 8px;
    }

    .automatic-task-control[b-ims3efrd82] {
        flex-direction: row;
        align-items: center;
    }
}
/* /Components/Admin/Services/Billing/AccessPlan/AccessPlanEditor.razor.rz.scp.css */
/* 접근 모델·권한 선택 행 — 체크박스와 설명을 한 행에 두고, 선택된 행은 낮은 채도의 워시로만 구분한다(Mist: 테두리·레일 금지). */
.product-list[b-zblplo4bdd],
.permission-list[b-zblplo4bdd] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.product-row[b-zblplo4bdd],
.permission-row[b-zblplo4bdd] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.12s ease;
}

.product-row:hover[b-zblplo4bdd],
.permission-row:hover[b-zblplo4bdd] {
    background: var(--clc-assign-base-50);
}

.product-row.selected[b-zblplo4bdd],
.permission-row.selected[b-zblplo4bdd] {
    background: var(--clc-primary-lighter);
}

.product-body[b-zblplo4bdd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.product-title[b-zblplo4bdd] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.product-excluded[b-zblplo4bdd] {
    color: var(--clc-warning-dark);
}
/* /Components/Admin/Services/Billing/AccessPlan/AccessPlanExpiryPicker.razor.rz.scp.css */
/* 프리셋·날짜·미리보기를 한 줄에 놓고 좁은 폭에서는 줄바꿈한다. */
.expiry-row[b-vbtglsntvj] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.expiry-row .adm-select[b-vbtglsntvj] {
    min-width: 160px;
}
/* /Components/Admin/Services/Billing/AccessPlan/AccessPlanMembers.razor.rz.scp.css */
/* 기간 변경 인라인 편집 행 — 낮은 채도의 워시로 편집 중임을 표시한다(선·레일 금지). */
.member-edit-row td[b-hoe8ljn8u1] {
    background: var(--clc-primary-lighter);
}
/* /Components/Admin/Services/Billing/AccessPlan/AccessPlanUsers.razor.rz.scp.css */
/* 선택된 검색 결과·기간 변경 편집 행 — 낮은 채도의 워시로만 구분한다(선·레일 금지). */
.selected-row td[b-c4zfnyoi26],
.member-edit-row td[b-c4zfnyoi26] {
    background: var(--clc-primary-lighter);
}
/* /Components/Admin/Services/Billing/BillingAccountPolicy.razor.rz.scp.css */
/* 수금 방식·잔액 부족 처리·미수금 조치 선택지. 선택은 바탕 워시로, 누를 수 있다는 느낌은 그림자로 보이고 외곽선으로 강조하지 않는다. */
.section-title[b-mnbpp4oj7m] {
    margin: 18px 0 8px;
    font-size: 15px;
    font-weight: 700;
}

.choice-grid[b-mnbpp4oj7m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.choice-card[b-mnbpp4oj7m] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    min-height: 104px;
    padding: 14px;
    border: 0;
    border-radius: 12px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-primary);
    text-align: left;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.choice-card:hover:not(:disabled)[b-mnbpp4oj7m] {
    box-shadow: var(--clc-shadow-layer0);
}

.choice-card:active:not(:disabled)[b-mnbpp4oj7m] {
    transform: scale(.995);
}

.choice-card-selected[b-mnbpp4oj7m] {
    background: var(--clc-primary-lighter);
    box-shadow: var(--clc-shadow-layer0);
}

/* 막힌 선택지는 투명도 대신 글자 단계를 낮춘다. */
.choice-card:disabled[b-mnbpp4oj7m] {
    cursor: default;
    color: var(--clv-text-secondary);
}

.choice-head[b-mnbpp4oj7m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.choice-title[b-mnbpp4oj7m] {
    font-size: 15px;
    font-weight: 700;
}

.choice-selected[b-mnbpp4oj7m] {
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--clc-primary);
    color: var(--clc-text-contrast-color);
    font-size: 12px;
    white-space: nowrap;
}

.choice-description[b-mnbpp4oj7m] {
    color: var(--clv-text-secondary);
    font-size: 13px;
    line-height: 1.45;
}

.limit-row[b-mnbpp4oj7m] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 한도 사용 내역. 카드 안의 한 단 낮은 바탕 위에 줄을 놓고, 줄 사이만 안쪽 구분선으로 나눈다(바깥 테두리 없음). */
.exposure-breakdown[b-mnbpp4oj7m] {
    display: flex;
    flex-direction: column;
    margin-top: 12px;
    padding: 4px 14px;
    border-radius: 12px;
    background: var(--clc-assign-base-50);
}

.exposure-row[b-mnbpp4oj7m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    font-size: 13px;
    color: var(--clv-text-secondary);
}

.exposure-row + .exposure-row[b-mnbpp4oj7m] {
    border-top: 1px solid var(--clc-material-hairline);
}

.exposure-total[b-mnbpp4oj7m] {
    color: var(--clv-text-primary);
    font-weight: 700;
}
/* /Components/Admin/Services/Billing/BillingPolicySettings.razor.rz.scp.css */
/* 레이아웃만 정한다. 색·재질·상태는 admin.css 공통 클래스와 테마 토큰이 말한다. 카드 안 구획은 선 대신 간격으로 나눈다. */
.billing-policy-block[b-kqgk7enxqg] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}

.billing-policy-block h4[b-kqgk7enxqg] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

/* 숫자 입력 옆에 단위를 한 줄로 붙인다. 좁은 화면에서는 줄바꿈한다. */
.billing-policy-input[b-kqgk7enxqg] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.billing-policy-unit[b-kqgk7enxqg] {
    color: var(--clv-text-secondary);
    font-size: 0.85rem;
}

.billing-policy-inline[b-kqgk7enxqg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.billing-policy-example[b-kqgk7enxqg] {
    margin: 4px 0;
}
/* /Components/Admin/Services/Billing/CreditGrants.razor.rz.scp.css */
.grant-status-list[b-te946hzn0g] {
    display: grid;
    gap: 10px;
}

.grant-status-row[b-te946hzn0g] {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: baseline;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.grant-status-row > span:last-child[b-te946hzn0g] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    min-width: 0;
}

.grant-status-label[b-te946hzn0g] {
    font-size: 13px;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.grant-status-detail[b-te946hzn0g] {
    font-size: 13px;
    color: var(--clv-text-secondary);
    overflow-wrap: anywhere;
}

.grant-actor-list[b-te946hzn0g] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

.grant-actor[b-te946hzn0g] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 999px;
    font-size: 13px;
    color: var(--clv-text-secondary);
    background: var(--clc-body-background-color);
}

.grant-actor.ready[b-te946hzn0g] {
    border-color: var(--clc-success);
    color: var(--clc-success);
}

.grant-actor.missing[b-te946hzn0g] {
    border-color: var(--clc-warning);
    color: var(--clc-warning);
}

.grant-warning-hint[b-te946hzn0g] {
    color: var(--clc-warning);
}

.grant-result-card[b-te946hzn0g] {
    border-left: 4px solid var(--clc-primary);
}

.grant-result-body p[b-te946hzn0g] {
    margin: 4px 0;
    font-size: 14px;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .grant-status-row[b-te946hzn0g] {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

.grant-policy-actions[b-te946hzn0g] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.grant-new-policy[b-te946hzn0g] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

/* ── 상태 배너 ─────────────────────────────────────────────────────────── */
.credit-status[b-te946hzn0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid var(--clv-sidebar-border);
    border-left-width: 4px;
    border-radius: 10px;
    background: var(--clc-assign-base-50);
}

.credit-status.ok[b-te946hzn0g] { border-left-color: var(--clc-success); }
.credit-status.warn[b-te946hzn0g] { border-left-color: var(--clc-warning); }
.credit-status.idle[b-te946hzn0g] { border-left-color: var(--clv-text-secondary); }

.credit-status-main[b-te946hzn0g] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.credit-status-title[b-te946hzn0g] {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.credit-status-detail[b-te946hzn0g] {
    font-size: 0.875rem;
    color: var(--clv-text-secondary);
}

.credit-failure[b-te946hzn0g] {
    display: block;
    margin-top: 0.375rem;
    word-break: break-all;
}

/* ── 지급 규칙 카드 ────────────────────────────────────────────────────── */
.credit-rule[b-te946hzn0g] {
    padding: 1rem 0;
    border-top: 1px solid var(--clv-sidebar-border);
}

.credit-rule:first-of-type[b-te946hzn0g] { border-top: none; }
.credit-rule.off[b-te946hzn0g] { opacity: 0.72; }

.credit-rule-head[b-te946hzn0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.credit-rule-title[b-te946hzn0g] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.credit-rule-name[b-te946hzn0g] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.credit-rule-sub[b-te946hzn0g] {
    font-size: 0.875rem;
    color: var(--clv-text-secondary);
}

.credit-rule-toggle[b-te946hzn0g] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
    white-space: nowrap;
}

.credit-rule-body[b-te946hzn0g] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.credit-amount-row[b-te946hzn0g] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.credit-amount-row > label[b-te946hzn0g] {
    min-width: 88px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.credit-amount-hint[b-te946hzn0g] {
    font-size: 0.8125rem;
    color: var(--clv-text-secondary);
}

.credit-rule-stats[b-te946hzn0g] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 1.25rem;
    font-size: 0.8125rem;
    color: var(--clv-text-secondary);
}

.credit-warning[b-te946hzn0g] { color: var(--clc-warning); }

/* ── 고급 접기 ─────────────────────────────────────────────────────────── */
.credit-advanced[b-te946hzn0g] {
    margin-top: 0.5rem;
    font-size: 0.875rem;
}

.credit-advanced > summary[b-te946hzn0g] {
    cursor: pointer;
    padding: 0.375rem 0;
    font-weight: 600;
    color: var(--clv-text-secondary);
    user-select: none;
}

.credit-advanced > summary:hover[b-te946hzn0g] { color: var(--clv-text-primary); }

.credit-advanced dl[b-te946hzn0g] {
    display: grid;
    grid-template-columns: minmax(120px, max-content) 1fr;
    gap: 0.25rem 1rem;
    margin: 0.5rem 0;
}

.credit-advanced dt[b-te946hzn0g] {
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.credit-advanced dd[b-te946hzn0g] {
    margin: 0;
    color: var(--clv-text-primary);
    word-break: break-all;
}

.credit-add[b-te946hzn0g] { border-top: 1px solid var(--clv-sidebar-border); padding-top: 0.5rem; }

.credit-add-grid[b-te946hzn0g] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1rem;
    margin: 0.5rem 0;
}

.credit-preview[b-te946hzn0g] {
    margin: 0.25rem 0 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 8px;
    background: var(--clc-assign-base-100);
    font-size: 0.875rem;
    color: var(--clv-text-primary);
}

.credit-system[b-te946hzn0g] { padding: 1rem 1.25rem; }
.credit-system > summary[b-te946hzn0g] { font-size: 0.9375rem; }

.credit-receipt h4[b-te946hzn0g] {
    margin: 0.75rem 0 0.25rem;
    font-size: 0.875rem;
}

/* ── 담당자 권한 ───────────────────────────────────────────────────────── */
.credit-role-grid[b-te946hzn0g] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.625rem;
    margin: 0.75rem 0;
}

.credit-role[b-te946hzn0g] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--clv-sidebar-border);
    border-radius: 10px;
    cursor: pointer;
}

.credit-role.selected[b-te946hzn0g] {
    border-color: var(--clc-primary);
    box-shadow: 0 0 0 1px var(--clc-primary) inset;
}

.credit-role input[b-te946hzn0g] { margin-bottom: 0.25rem; }

.credit-role-name[b-te946hzn0g] {
    font-weight: 700;
    color: var(--clv-text-primary);
}

.credit-role-desc[b-te946hzn0g] {
    font-size: 0.8125rem;
    color: var(--clv-text-secondary);
}

.credit-search-row[b-te946hzn0g] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin: 0.5rem 0;
}

.credit-search-row .form-control[b-te946hzn0g] { max-width: 360px; }

.credit-operator-list[b-te946hzn0g] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.credit-operator[b-te946hzn0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--clv-sidebar-border);
    border-radius: 8px;
}

.credit-operator-name[b-te946hzn0g] {
    font-size: 0.875rem;
    color: var(--clv-text-primary);
}
/* /Components/Admin/Services/Billing/MobileStoreIntroductionEditor.razor.rz.scp.css */
/* 관리자 공용 카드는 바깥 테두리를 그린다. 이 편집기는 판매 관리 화면과 같이 Mist 카드 재질과 그림자로 깊이를 표현한다. */
.intro-editor[b-8wyx5jztg1] {
    border: none;
    background: var(--clv-card-surface);
    box-shadow: var(--clv-card-shadow);
    color: var(--clv-text-primary);
}

/* 안내 배너는 상태별 바탕 색만으로 구분하고 바깥 테두리는 두지 않는다. */
.intro-editor__alert[b-8wyx5jztg1] {
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.intro-editor__conflict[b-8wyx5jztg1] {
    align-items: flex-start;
}

.intro-editor__conflict-copy[b-8wyx5jztg1] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    flex: 1 1 280px;
}

.intro-editor__conflict-actions[b-8wyx5jztg1] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* 편집과 미리보기는 넓으면 나란히, 좁으면 위아래로 둔다. 가로 스크롤이 생기지 않게 각 칸이 줄어들 수 있게 한다. */
.intro-editor__layout[b-8wyx5jztg1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 16px;
    align-items: start;
}

.intro-editor__field[b-8wyx5jztg1],
.intro-editor__preview[b-8wyx5jztg1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.intro-editor__label[b-8wyx5jztg1] {
    font-weight: 600;
}

.intro-editor__preview h4[b-8wyx5jztg1] {
    margin: 0;
}

.intro-editor__count[b-8wyx5jztg1] {
    margin: 0;
    font-size: 13px;
    color: var(--clv-text-secondary);
    font-variant-numeric: tabular-nums;
}

.intro-editor__count.is-over[b-8wyx5jztg1],
.intro-editor__error[b-8wyx5jztg1] {
    color: var(--clc-danger);
}

.intro-editor__error[b-8wyx5jztg1] {
    margin: 0;
    font-size: 13px;
}

/* 미리보기 카드는 앱 카드와 같은 L2 종이다. 바깥 테두리 없이 안쪽 hairline으로 가격 자리만 나눈다. */
.intro-editor__card[b-8wyx5jztg1] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border-radius: var(--clc-mist-radius-surface, 12px);
    background: var(--clv-card-surface);
    box-shadow: var(--clv-card-shadow);
}

.intro-editor__card-title[b-8wyx5jztg1] {
    font-size: 16px;
}

.intro-editor__card-note[b-8wyx5jztg1] {
    margin: 0;
    padding-top: 8px;
    border-top: 1px solid var(--clc-material-hairline);
}

/* 정화한 소개 HTML은 MarkupString이라 범위 특성이 붙지 않는다. 감싼 요소에서 ::deep으로 서식만 정한다. */
.intro-editor__body[b-8wyx5jztg1] {
    font-size: 14px;
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.intro-editor__body[b-8wyx5jztg1]  p,
.intro-editor__body[b-8wyx5jztg1]  div {
    margin: 0 0 6px;
}

.intro-editor__body[b-8wyx5jztg1]  h3,
.intro-editor__body[b-8wyx5jztg1]  h4 {
    margin: 8px 0 4px;
    font-size: 15px;
    font-weight: 600;
}

.intro-editor__body[b-8wyx5jztg1]  ul,
.intro-editor__body[b-8wyx5jztg1]  ol {
    margin: 0 0 6px;
    padding-inline-start: 20px;
}

.intro-editor__latest[b-8wyx5jztg1] {
    color: var(--clv-text-primary);
}

.intro-editor__actions[b-8wyx5jztg1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.intro-editor__spacer[b-8wyx5jztg1] {
    flex: 1 1 auto;
}
/* /Components/Admin/Services/Billing/MobileStoreSales.razor.rz.scp.css */
/* 관리자 공용 머리말·카드는 바깥 테두리를 그린다. 이 화면의 종이 표면은 테두리 대신 Mist 카드 재질과 그림자로 깊이를 표현한다. */
.store-sales__surface[b-hhufkjfabr] {
    border: none;
    background: var(--clv-card-surface);
    box-shadow: var(--clv-card-shadow);
    color: var(--clv-text-primary);
}

.store-sales__row[b-hhufkjfabr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
}

/* 스토어 행 사이는 같은 카드 안의 구획이라 안쪽 hairline으로만 나눈다. */
.store-sales__row + .store-sales__row[b-hhufkjfabr] {
    border-top: 1px solid var(--clc-material-hairline);
}

.store-sales__row-body[b-hhufkjfabr] {
    flex: 1 1 auto;
    min-width: 0;
}

.store-sales__row-body p[b-hhufkjfabr] {
    margin: 4px 0 0;
}

.store-sales__row-title[b-hhufkjfabr] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.store-sales__control[b-hhufkjfabr] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

/* 안내 배너는 상태별 바탕 색(wash)만으로 구분하고 바깥 테두리는 두지 않는다. 버튼과 문구는 한 줄에 두고 좁으면 접는다. */
.store-sales__alert[b-hhufkjfabr] {
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.store-sales__notes[b-hhufkjfabr] {
    margin: 0;
    padding-inline-start: 20px;
    color: var(--clv-text-secondary);
}

.store-sales__notes li + li[b-hhufkjfabr] {
    margin-top: 6px;
}

.store-sales__subtitle[b-hhufkjfabr] {
    margin: 8px 0 0;
}

@media (max-width: 640px) {
    .store-sales__row[b-hhufkjfabr] {
        flex-direction: column;
    }
}
/* /Components/Admin/Services/Billing/ProductDetail.razor.rz.scp.css */
/* 크레딧이 모자랄 때·API 호출 정책 카드 선택 UI */
.policy-picker[b-tyn4n51vq5] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.policy-card[b-tyn4n51vq5] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    min-height: 112px;
    padding: 14px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 12px;
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.policy-card:hover[b-tyn4n51vq5] {
    border-color: var(--clc-primary);
    box-shadow: var(--clc-shadow-layer0);
}

.policy-card-selected[b-tyn4n51vq5] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
    box-shadow: var(--clc-shadow-layer0);
}

.policy-card .policy-card-head[b-tyn4n51vq5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 0;
}

.policy-title[b-tyn4n51vq5] {
    font-size: 15px;
    font-weight: 700;
}

.policy-selected[b-tyn4n51vq5] {
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--clc-primary);
    color: var(--clc-text-contrast-color);
    font-size: 12px;
    white-space: nowrap;
}

.policy-description[b-tyn4n51vq5] {
    color: var(--clv-text-secondary);
    font-size: 13px;
    line-height: 1.45;
}
/* /Components/Admin/Services/Billing/ProductMeteringPolicyPanel.razor.rz.scp.css */
/* 레이아웃만 정한다. 색·재질·상태는 admin.css 공통 클래스와 테마 토큰이 말한다. */
.product-metering-input[b-xy0ekxifjw] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.product-metering-unit[b-xy0ekxifjw] {
    color: var(--clv-text-secondary);
    font-size: 0.85rem;
}

.product-metering-example[b-xy0ekxifjw] {
    margin: 12px 0 8px;
}

/* 가중치·입력 상한 구획은 같은 카드 안의 구획이라 선 대신 간격으로 나눈다. */
.product-metering-block[b-xy0ekxifjw] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}

.product-metering-block h4[b-xy0ekxifjw] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}
/* /Components/Admin/Services/Billing/SettlementReview.razor.rz.scp.css */
/* 레이아웃만 정한다. 색·재질·상태는 admin.css 공통 클래스와 테마 토큰이 말한다. */
.settlement-filters[b-tpo6gd5w4d] {
    margin: 12px 0;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

.settlement-filters .adm-field[b-tpo6gd5w4d] {
    min-width: 180px;
}

.settlement-chip[b-tpo6gd5w4d] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.settlement-owner[b-tpo6gd5w4d] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.settlement-pager[b-tpo6gd5w4d] {
    margin-top: 8px;
    align-items: center;
}
/* /Components/Admin/Services/Billing/SettlementReviewDetailDialog.razor.rz.scp.css */
/* 대화상자 표면은 공용 오버레이가 맡고, 여기서는 안쪽 배치만 정한다. 구획은 간격과 제목으로 나누고 테두리를 쓰지 않는다. */
.settlement-detail[b-0pfj0q8y5j] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.settlement-section[b-0pfj0q8y5j] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.settlement-section-title[b-0pfj0q8y5j] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
}

.settlement-facts[b-0pfj0q8y5j] {
    display: grid;
    grid-template-columns: minmax(120px, max-content) 1fr;
    column-gap: 16px;
    row-gap: 6px;
    margin: 0;
}

.settlement-facts dt[b-0pfj0q8y5j] {
    color: var(--clv-text-secondary);
    font-size: 0.85rem;
}

.settlement-facts dd[b-0pfj0q8y5j] {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.settlement-kpi-small[b-0pfj0q8y5j] {
    font-size: 1rem;
}

.settlement-effect[b-0pfj0q8y5j] {
    margin: 0;
    line-height: 1.5;
}

.settlement-close[b-0pfj0q8y5j] {
    justify-content: flex-end;
}

.settlement-subtitle[b-0pfj0q8y5j] {
    margin: 8px 0 0;
    font-size: 0.9rem;
    font-weight: 700;
}

/* 처리 이력은 같은 대화상자 표면 안의 문단 묶음이다. 별도 테두리 없이 간격으로만 나눈다. */
.settlement-history[b-0pfj0q8y5j] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.settlement-history p[b-0pfj0q8y5j] {
    margin: 0;
}

.settlement-confirm-row[b-0pfj0q8y5j] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.5;
}

/* 미측정 예약 목록이다. 행 사이 구분은 표면 안쪽 hairline만 쓰고 바깥 테두리나 한쪽 강조선은 두지 않는다. */
.settlement-reservations[b-0pfj0q8y5j] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.settlement-reservation[b-0pfj0q8y5j] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 0;
}

.settlement-reservation + .settlement-reservation[b-0pfj0q8y5j] {
    border-top: 1px solid var(--clc-material-hairline);
}

.settlement-reservation-head[b-0pfj0q8y5j] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}

.settlement-choice[b-0pfj0q8y5j] {
    align-items: center;
}

.settlement-quantity[b-0pfj0q8y5j] {
    max-width: 280px;
}
/* /Components/Admin/Services/Billing/StoreCatalogBindingEditor.razor.rz.scp.css */
/* 스토어 연결 하나는 고급 설정 안의 구획이다. 연결 사이만 안쪽 hairline으로 나눈다. */
.store-catalog-binding[b-n6lhf2qhhn] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 0;
}

.store-catalog-binding + .store-catalog-binding[b-n6lhf2qhhn] {
    border-top: 1px solid var(--clc-material-hairline);
}

.store-catalog-binding__head[b-n6lhf2qhhn] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.store-catalog-binding__facts[b-n6lhf2qhhn] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 4px 12px;
    margin: 0;
}

.store-catalog-binding__facts dt[b-n6lhf2qhhn] {
    color: var(--clv-text-secondary);
}

.store-catalog-binding__facts dd[b-n6lhf2qhhn] {
    margin: 0;
    overflow-wrap: anywhere;
}

.store-catalog-binding__row[b-n6lhf2qhhn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.store-catalog-binding__error[b-n6lhf2qhhn] {
    font-size: 13px;
    color: var(--clc-danger);
}

.store-catalog-binding__alert[b-n6lhf2qhhn] {
    border: none;
}
/* /Components/Admin/Services/Billing/StoreCatalogCreateForm.razor.rz.scp.css */
/* 만들기 양식은 스토어 상품 카드 안의 구획이다. 따로 떠 있는 표면을 만들지 않고 위아래 안쪽 hairline으로만 나눈다. */
.store-catalog-form[b-c7kf2rkdp3] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 0;
    border-top: 1px solid var(--clc-material-hairline);
    border-bottom: 1px solid var(--clc-material-hairline);
    margin-bottom: 12px;
}

.store-catalog-form__head h4[b-c7kf2rkdp3] {
    margin: 0 0 4px;
}

.store-catalog-form__head p[b-c7kf2rkdp3] {
    margin: 0;
}

.store-catalog-form__label[b-c7kf2rkdp3] {
    font-weight: 600;
}

.store-catalog-form__wide[b-c7kf2rkdp3] {
    max-width: 640px;
}

.store-catalog-form__error[b-c7kf2rkdp3] {
    font-size: 13px;
    color: var(--clc-danger);
}

.store-catalog-form__alert[b-c7kf2rkdp3] {
    border: none;
}

.store-catalog-form__actions[b-c7kf2rkdp3] {
    justify-content: flex-end;
}
/* /Components/Admin/Services/Billing/StoreCatalogItemEditor.razor.rz.scp.css */
/* 상품 관리 화면은 스토어 상품 카드 안의 구획이다. 종이를 겹쳐 띄우지 않고 위쪽 hairline 하나로 목록과 나눈다. */
.store-catalog-editor[b-m68arb5hew] {
    border: none;
    border-top: 1px solid var(--clc-material-hairline);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding-inline: 0;
    margin-top: 16px;
    color: var(--clv-text-primary);
}

.store-catalog-editor__head[b-m68arb5hew] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.store-catalog-editor__titles h4[b-m68arb5hew] {
    margin: 0 0 4px;
}

.store-catalog-editor__badges[b-m68arb5hew] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* 남은 준비 목록은 조용한 워시 한 겹으로만 드러낸다. 바깥 선과 한쪽 막대는 쓰지 않는다. */
.store-catalog-editor__issues[b-m68arb5hew] {
    padding: 12px 16px;
    border-radius: var(--clc-mist-radius-surface, 12px);
    background: var(--clc-interaction-hover);
}

.store-catalog-editor__issues ul[b-m68arb5hew] {
    margin: 6px 0 0;
    padding-inline-start: 20px;
}

.store-catalog-editor__subtitle[b-m68arb5hew] {
    margin: 20px 0 8px;
}

.store-catalog-editor__store[b-m68arb5hew],
.store-catalog-editor__lifecycle-row[b-m68arb5hew] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
}

/* 같은 구획 안의 행 사이만 안쪽 hairline으로 나눈다. */
.store-catalog-editor__store + .store-catalog-editor__store[b-m68arb5hew],
.store-catalog-editor__lifecycle-row + .store-catalog-editor__lifecycle-row[b-m68arb5hew] {
    border-top: 1px solid var(--clc-material-hairline);
}

.store-catalog-editor__store-body[b-m68arb5hew] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.store-catalog-editor__control[b-m68arb5hew] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.store-catalog-editor__lifecycle-row p[b-m68arb5hew] {
    margin: 4px 0 0;
}

.store-catalog-editor__terms[b-m68arb5hew] {
    margin-top: 12px;
}

.store-catalog-editor__terms h6[b-m68arb5hew] {
    margin: 0 0 8px;
}

.store-catalog-editor__label[b-m68arb5hew] {
    font-weight: 600;
}

.store-catalog-editor__error[b-m68arb5hew] {
    font-size: 13px;
    color: var(--clc-danger);
}

.store-catalog-editor__alert[b-m68arb5hew] {
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.store-catalog-editor__alert-actions[b-m68arb5hew] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.store-catalog-editor__actions[b-m68arb5hew] {
    justify-content: flex-end;
    margin-bottom: 12px;
}

.store-catalog-editor__advanced[b-m68arb5hew] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.store-catalog-editor__advanced-body[b-m68arb5hew] {
    margin-top: 12px;
}

@media (max-width: 640px) {
    .store-catalog-editor__store[b-m68arb5hew],
    .store-catalog-editor__lifecycle-row[b-m68arb5hew] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Admin/Services/Billing/StoreCatalogPanel.razor.rz.scp.css */
/* 스토어 상품 구역은 판매 화면의 다른 구역과 같은 L2 종이다. 공용 카드의 바깥 테두리 대신 Mist 카드 재질과 그림자로 깊이를 낸다. */
.store-catalog[b-9dnsq6l0po] {
    /* 기본 모드는 투명하고 강제 색상 모드의 식별선은 공통 테마가 복원한다. */
    border: 1px solid var(--clv-card-border-color, transparent);
    background: var(--clv-card-surface);
    box-shadow: var(--clv-card-shadow);
    color: var(--clv-text-primary);
}

.store-catalog__head[b-9dnsq6l0po] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.store-catalog__titles[b-9dnsq6l0po] {
    flex: 1 1 320px;
    min-width: 0;
}

.store-catalog__head-actions[b-9dnsq6l0po] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* 상태 배너와 빈 상태는 바탕 색만으로 구분하고 바깥 테두리를 두지 않는다. */
.store-catalog__alert[b-9dnsq6l0po],
.store-catalog__empty[b-9dnsq6l0po] {
    border: none;
}

.store-catalog__alert[b-9dnsq6l0po] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.store-catalog__table th[scope="row"][b-9dnsq6l0po] {
    font-weight: 600;
    text-align: start;
    border-bottom: 1px solid var(--clc-material-hairline);
}

/* 화면 읽기용 절대 위치 제목도 표 스크롤 안에 가둬 좁은 화면의 문서 전체를 옆으로 늘리지 않는다. */
.store-catalog .adm-table-wrap[b-9dnsq6l0po] { position: relative; }

.store-catalog__name[b-9dnsq6l0po] {
    display: block;
}

/* 열린 상품 행은 한쪽 막대 대신 낮은 채도의 선택 워시로 표시한다. */
.store-catalog__table tr.is-selected > *[b-9dnsq6l0po] {
    background: var(--clc-interaction-selected-accent);
}

.store-catalog__table .adm-badge[b-9dnsq6l0po] {
    white-space: normal;
}

/* 표 머리의 관리 열 이름은 화면 읽기 프로그램에만 남긴다. */
.store-catalog__sr[b-9dnsq6l0po] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* /Components/Admin/Services/Billing/StoreCatalogPlanPicker.razor.rz.scp.css */
/* 영역마다 한 줄이다. 좁은 화면에서는 영역 이름 아래로 선택 막대를 내린다. */
.store-catalog-plans[b-3kgm06955r] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.store-catalog-plans__title[b-3kgm06955r],
.store-catalog-plans__domain[b-3kgm06955r] {
    font-weight: 600;
}

.store-catalog-plans__row[b-3kgm06955r] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.store-catalog-plans__domain[b-3kgm06955r] {
    min-width: 96px;
}

.store-catalog-plans__stale[b-3kgm06955r] {
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.store-catalog-plans__error[b-3kgm06955r] {
    font-size: 13px;
    color: var(--clc-danger);
}
/* /Components/Admin/Services/Billing/TossTestSettings.razor.rz.scp.css */
/* 관리자 공용 배치를 유지하면서 이 설정 화면의 종이 표면을 Mist 깊이 토큰으로 표현한다. */
.toss-settings__surface[b-ao9p47nd9t] {
    border: none;
    background: var(--clv-card-surface);
    box-shadow: var(--clv-card-shadow);
    color: var(--clv-text-primary);
}

.toss-settings__toggle[b-ao9p47nd9t],
.toss-settings__status-grid[b-ao9p47nd9t] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.toss-settings__status-grid[b-ao9p47nd9t] {
    margin: 20px 0;
    align-items: flex-start;
}

.toss-settings__status-grid > div[b-ao9p47nd9t] {
    flex: 1 1 220px;
}

.toss-settings__status-grid p[b-ao9p47nd9t] {
    margin: 6px 0;
    color: var(--clv-text-secondary);
}

/* 고급 옵션은 좁은 화면에서도 각 키의 설명과 오류가 입력 바로 아래에 남게 한다. */
.toss-settings__advanced[b-ao9p47nd9t] {
    margin-top: 16px;
}

.toss-settings__fields[b-ao9p47nd9t] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.toss-settings__fields h3[b-ao9p47nd9t] {
    grid-column: 1 / -1;
    margin: 12px 0 0;
}

.toss-settings__error[b-ao9p47nd9t] {
    color: var(--clc-form-error-color);
    font-size: 0.85rem;
}

@media (max-width: 640px) {
    .toss-settings__fields[b-ao9p47nd9t] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Admin/Services/Billing/WalletCredit.razor.rz.scp.css */
.default-instrument-panel[b-q35t2pov89] {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    background: var(--clc-assign-base-50);
}

.default-instrument-head[b-q35t2pov89] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.default-instrument-head p[b-q35t2pov89] {
    margin: 4px 0 0;
    color: var(--clv-text-secondary);
    font-size: 13px;
}

.default-instrument-grid[b-q35t2pov89] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.default-instrument-status[b-q35t2pov89] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2px 10px;
    padding: 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-body-background-color);
}

.default-instrument-status.ready[b-q35t2pov89] {
    border-color: var(--clc-success);
}

.default-instrument-status.missing[b-q35t2pov89] {
    border-color: var(--clc-warning);
}

.default-code[b-q35t2pov89] {
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    min-height: 34px;
    border-radius: 6px;
    background: var(--clc-primary-lighter);
    color: var(--clc-primary);
    font-weight: 700;
}

.default-instrument-status small[b-q35t2pov89] {
    color: var(--clv-text-secondary);
}

.default-error[b-q35t2pov89] {
    margin: 12px 0 0;
    color: var(--clc-danger);
    font-size: 13px;
}

.recipient-panel[b-q35t2pov89] {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
}

.recipient-panel-head[b-q35t2pov89] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.recipient-panel-head p[b-q35t2pov89] {
    margin: 4px 0 0;
    color: var(--clv-text-secondary);
    font-size: 13px;
}

.recipient-search-row[b-q35t2pov89] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 14px;
}

.recipient-results[b-q35t2pov89] {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    max-height: 320px;
    overflow-y: auto;
}

.recipient-result[b-q35t2pov89],
.selected-recipient-card[b-q35t2pov89] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.recipient-result > div[b-q35t2pov89],
.selected-recipient-card > div[b-q35t2pov89] {
    display: grid;
    min-width: 0;
}

.recipient-result span[b-q35t2pov89],
.selected-recipient-card span[b-q35t2pov89] {
    color: var(--clv-text-secondary);
    font-size: 13px;
}

.recipient-result small[b-q35t2pov89],
.selected-recipient-card small[b-q35t2pov89] {
    color: var(--clv-text-tertiary);
    overflow: hidden;
    text-overflow: ellipsis;
}

.selected-recipient-card[b-q35t2pov89] {
    margin-top: 14px;
    border-color: var(--clc-success);
}

.selected-recipient-card .recipient-ready[b-q35t2pov89] {
    color: var(--clc-success);
    font-weight: 600;
    white-space: nowrap;
}

.warning-hint[b-q35t2pov89] {
    color: var(--clc-warning);
}

.result-card[b-q35t2pov89] {
    border-left: 4px solid var(--clc-primary);
}

.result-body p[b-q35t2pov89] {
    margin: 4px 0;
    font-size: 14px;
}

@media (max-width: 720px) {
    .default-instrument-head[b-q35t2pov89],
    .recipient-panel-head[b-q35t2pov89] {
        flex-direction: column;
    }

    .default-instrument-grid[b-q35t2pov89] {
        grid-template-columns: 1fr;
    }

    .recipient-search-row[b-q35t2pov89] {
        grid-template-columns: 1fr;
    }

    .recipient-result[b-q35t2pov89],
    .selected-recipient-card[b-q35t2pov89] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/Admin/Services/Chat/ChatBotWorkflowSettingsTab.razor.rz.scp.css */
/* ChatBotWorkflowSettingsTab 고유 스타일 — adm-* 로 표현되지 않는 부분만 유지 */

.wf-tab[b-idtfc73jv1] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* 라벨/값 정렬이 다른 워크플로우 레코드와 맞춰질 때까지 raw select 유지 */
.wf-select[b-idtfc73jv1] {
    width: 100%;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clv-background);
    color: var(--clv-text-primary);
    padding: 10px 12px;
}

.wf-rules[b-idtfc73jv1] {
    margin: 0;
    padding-left: 18px;
    color: var(--clv-text-secondary);
    font-size: 0.875rem;
}

.wf-layout[b-idtfc73jv1] {
    display: grid;
    grid-template-columns: minmax(420px, 1.2fr) minmax(320px, 0.8fr);
    gap: 16px;
}

.wf-row[b-idtfc73jv1] {
    cursor: pointer;
}

.wf-row--selected[b-idtfc73jv1],
.wf-row--selected:hover[b-idtfc73jv1] {
    background: var(--clc-primary-lighter);
}

.wf-name[b-idtfc73jv1] {
    font-weight: 600;
    color: var(--clv-text-primary);
}

.wf-key[b-idtfc73jv1] {
    font-size: 12px;
    color: var(--clv-text-tertiary);
}

.wf-meta[b-idtfc73jv1] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--clv-text-secondary);
    font-size: 12px;
    text-align: right;
}

.wf-block[b-idtfc73jv1] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}

.wf-checkbox[b-idtfc73jv1] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--clv-text-primary);
}

.wf-role-list[b-idtfc73jv1] {
    max-height: 360px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-right: 4px;
}

.wf-role-item[b-idtfc73jv1] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    background: var(--clv-background);
    margin: 0;
}

.wf-role-name[b-idtfc73jv1] {
    font-weight: 600;
    color: var(--clv-text-primary);
}

.wf-role-path[b-idtfc73jv1] {
    font-size: 12px;
    color: var(--clv-text-tertiary);
}

@media (max-width: 1200px) {
    .wf-layout[b-idtfc73jv1] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Admin/Services/Communications/Emoticons.razor.rz.scp.css */
.emoticon-workspace[b-8atavwmur0] {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.emoticon-catalog-pane[b-8atavwmur0],
.emoticon-detail-pane[b-8atavwmur0] {
    min-width: 0;
}

.emoticon-detail-pane[b-8atavwmur0] {
    display: grid;
    gap: 16px;
}

.emoticon-pack-list[b-8atavwmur0] {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.emoticon-pack-button[b-8atavwmur0] {
    display: grid;
    gap: 6px;
    width: 100%;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
    color: var(--clv-text-primary);
    text-align: left;
    cursor: pointer;
    transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.emoticon-pack-button:hover[b-8atavwmur0] {
    transform: translateY(-1px);
    background: var(--clc-material-field-strong);
    box-shadow: inset 0 1px 0 var(--clc-material-specular), var(--clc-material-elevation-1);
}

.emoticon-pack-button.selected[b-8atavwmur0] {
    background: var(--clc-primary-lighter);
    color: var(--clc-primary-dark);
}

.emoticon-pack-title[b-8atavwmur0] {
    font-weight: 700;
}

.emoticon-pack-meta[b-8atavwmur0] {
    display: flex;
    gap: 8px;
    align-items: center;
    color: var(--clv-text-secondary);
    font-size: 0.82rem;
}

.emoticon-checkbox-label[b-8atavwmur0],
.emoticon-upload-actions[b-8atavwmur0] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.emoticon-upload-sheet[b-8atavwmur0] {
    display: grid;
    gap: 12px;
    margin: 12px 0;
    padding: 14px;
    border-radius: 14px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
}

.emoticon-item-grid[b-8atavwmur0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}

.emoticon-item[b-8atavwmur0] {
    display: grid;
    gap: 7px;
    padding: 12px;
    border-radius: 14px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
}

.emoticon-preview[b-8atavwmur0] {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    border-radius: 12px;
    overflow: hidden;
    background: var(--clc-material-field-strong);
    color: var(--clv-text-tertiary);
    font-size: 0.8rem;
    text-align: center;
}

.emoticon-preview img[b-8atavwmur0] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.emoticon-entitlement-layout[b-8atavwmur0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.emoticon-entitlement-wide[b-8atavwmur0] {
    grid-column: 1 / -1;
}

.emoticon-check-grid[b-8atavwmur0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.emoticon-check-option[b-8atavwmur0] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    padding: 10px;
    border-radius: 12px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
    cursor: pointer;
}

.emoticon-check-option strong[b-8atavwmur0],
.emoticon-check-option small[b-8atavwmur0] {
    display: block;
}

.emoticon-check-option small[b-8atavwmur0] {
    margin-top: 3px;
    color: var(--clv-text-secondary);
}

.emoticon-profile-results[b-8atavwmur0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.emoticon-profile-result[b-8atavwmur0] {
    display: grid;
    gap: 4px;
    padding: 11px;
    border: 0;
    border-radius: 12px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
    color: var(--clv-text-primary);
    text-align: left;
    cursor: pointer;
    transition: transform 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
}

.emoticon-profile-result:hover[b-8atavwmur0] {
    transform: translateY(-1px);
    background: var(--clc-material-field-strong);
    box-shadow: inset 0 1px 0 var(--clc-material-specular), var(--clc-material-elevation-1);
}

.emoticon-profile-result > span:not(.adm-mono)[b-8atavwmur0] {
    color: var(--clv-text-secondary);
}

.emoticon-revoke-reason[b-8atavwmur0] {
    max-width: 560px;
    margin-bottom: 12px;
}

.emoticon-advanced[b-8atavwmur0] {
    margin-top: 12px;
    padding: 11px 13px;
    border-radius: 12px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
}

.emoticon-advanced summary[b-8atavwmur0] {
    color: var(--clv-text-secondary);
    font-weight: 650;
    cursor: pointer;
}

@media (max-width: 920px) {
    .emoticon-workspace[b-8atavwmur0],
    .emoticon-entitlement-layout[b-8atavwmur0] {
        grid-template-columns: 1fr;
    }
}

/* 팩 목록: 썸네일 + 제목/메타 2열 */
.emoticon-pack-button[b-8atavwmur0] {
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 4px;
    align-items: center;
}

.emoticon-pack-thumb[b-8atavwmur0] {
    grid-row: 1 / span 3;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--clc-material-field-strong);
    color: var(--clv-text-tertiary);
    font-size: 1.1rem;
}

.emoticon-pack-thumb img[b-8atavwmur0] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 업로드 시트: 파일이 먼저, 이름은 파일명에서 유도 */
.emoticon-upload-actions[b-8atavwmur0] {
    flex-wrap: wrap;
}

.emoticon-import-progress[b-8atavwmur0] {
    display: grid;
    gap: 6px;
    color: var(--clv-text-secondary);
    font-size: 0.85rem;
}

.emoticon-import-progress-bar[b-8atavwmur0] {
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--clc-material-field-strong);
}

.emoticon-import-progress-bar > span[b-8atavwmur0] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--clc-primary);
    transition: width 160ms ease;
}

.emoticon-import-failures[b-8atavwmur0] {
    display: grid;
    gap: 8px;
}

.emoticon-import-failures-head[b-8atavwmur0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.emoticon-import-failures ul[b-8atavwmur0] {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 4px;
    font-size: 0.85rem;
}
/* /Components/Admin/Services/ExternalAuth/ExternalLoginProviders.razor.rz.scp.css */
.external-auth-editor[b-b8k4990ve3] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.external-auth-editor .adm-card-head[b-b8k4990ve3] {
    margin-bottom: 0;
}

.provider-table[b-b8k4990ve3] {
    display: flex;
    flex-direction: column;
}

.editor-block[b-b8k4990ve3] {
    border: 1px solid var(--clc-assign-base-100);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
    overflow: hidden;
}

.editor-block .adm-empty[b-b8k4990ve3] {
    margin: 12px;
}

.editor-block-title[b-b8k4990ve3],
.editor-card-title[b-b8k4990ve3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.editor-block-title[b-b8k4990ve3] {
    padding: 12px 14px;
    border-bottom: 1px solid var(--clc-assign-base-100);
}

.editor-block-title h4[b-b8k4990ve3],
.editor-card-title h5[b-b8k4990ve3] {
    margin: 0;
    color: var(--clv-text-primary);
    font-weight: 700;
}

.editor-block-title h4[b-b8k4990ve3] {
    font-size: 15px;
}

.editor-card-title h5[b-b8k4990ve3] {
    font-size: 14px;
}

.oauth-editor-grid[b-b8k4990ve3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    padding: 12px;
}

.editor-card[b-b8k4990ve3] {
    margin: 12px;
    padding: 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
}

.oauth-editor-grid .editor-card[b-b8k4990ve3] {
    margin: 0;
}

.editor-card-title[b-b8k4990ve3] {
    margin-bottom: 10px;
}

.editor-card-title label[b-b8k4990ve3],
.editor-card-actions[b-b8k4990ve3],
.editor-options[b-b8k4990ve3],
.editor-options label[b-b8k4990ve3] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.editor-card-actions[b-b8k4990ve3],
.editor-options[b-b8k4990ve3] {
    flex-wrap: wrap;
}

.editor-fields[b-b8k4990ve3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.editor-fields--wide[b-b8k4990ve3] {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.editor-fields label[b-b8k4990ve3] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.editor-fields .editor-check[b-b8k4990ve3] {
    flex-direction: row;
    align-items: center;
    align-self: end;
    min-height: 38px;
    color: var(--clv-text-secondary);
    font-size: 12px;
}

.editor-fields label > span[b-b8k4990ve3] {
    color: var(--clv-text-secondary);
    font-size: 12px;
    font-weight: 600;
}

.editor-fields[b-b8k4990ve3]  input,
.editor-fields[b-b8k4990ve3]  textarea {
    width: 100%;
    min-width: 0;
}

.editor-options[b-b8k4990ve3] {
    margin-top: 10px;
    color: var(--clv-text-secondary);
    font-size: 12px;
}

.provider-row[b-b8k4990ve3] {
    display: grid;
    grid-template-columns: minmax(170px, 0.9fr) minmax(320px, 2fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--clc-assign-base-100);
}

.provider-row:last-child[b-b8k4990ve3] {
    border-bottom: 0;
    padding-bottom: 0;
}

.provider-row--compact[b-b8k4990ve3] {
    grid-template-columns: minmax(190px, 0.9fr) minmax(160px, 0.7fr) minmax(320px, 2fr);
}

.provider-main[b-b8k4990ve3] {
    min-width: 0;
}

.provider-name[b-b8k4990ve3] {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.provider-meta[b-b8k4990ve3] {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--clv-text-secondary);
    overflow-wrap: anywhere;
}

.provider-state[b-b8k4990ve3],
.provider-tags[b-b8k4990ve3] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    flex-wrap: wrap;
}

.provider-fields[b-b8k4990ve3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    min-width: 0;
}

.provider-fields div[b-b8k4990ve3] {
    min-width: 0;
}

.provider-fields span[b-b8k4990ve3] {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.provider-fields code[b-b8k4990ve3] {
    display: block;
    padding: 5px 7px;
    border: 1px solid var(--clc-assign-base-100);
    border-radius: 6px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-primary);
    font-size: 12px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.provider-tags[b-b8k4990ve3] {
    grid-column: 2;
}

.provider-tags span[b-b8k4990ve3],
.state-chip[b-b8k4990ve3] {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--clc-assign-base-100);
    color: var(--clv-text-secondary);
    font-size: 11px;
    font-weight: 600;
}

.provider-tags .tag-warning[b-b8k4990ve3],
.state-chip--warning[b-b8k4990ve3] {
    background: var(--clc-warning-lighter);
    color: var(--clc-warning);
}

.state-chip--ok[b-b8k4990ve3] {
    background: var(--clc-success-lighter);
    color: var(--clc-success);
}

@media (max-width: 900px) {
    .provider-row[b-b8k4990ve3],
    .provider-row--compact[b-b8k4990ve3] {
        grid-template-columns: 1fr;
    }

    .provider-tags[b-b8k4990ve3] {
        grid-column: auto;
    }
}
/* /Components/Admin/Services/Files/FileCleanupSettingsPage.razor.rz.scp.css */
.cleanup-switch[b-fni8mth7ne] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    margin: 0;
    color: var(--clv-text-primary);
    cursor: pointer;
}
/* /Components/Admin/Services/Files/ImageReferenceCleanupPage.razor.rz.scp.css */
.cleanup-switch[b-27rpzuo286] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    margin: 0;
    color: var(--clv-text-primary);
    cursor: pointer;
}
/* /Components/Admin/Services/InferenceLogs/InferenceLogRetention.razor.rz.scp.css */
/* 일수 입력 옆에 단위와 햇수 풀이를 한 줄로 붙인다. */
.retention-days[b-f7ilw5ck6g] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.retention-days-unit[b-f7ilw5ck6g] {
    color: var(--clv-text-secondary);
    font-size: 0.85rem;
}

/* 자주 쓰는 기간은 입력 아래 작은 버튼 줄로 둔다. 좁은 화면에서는 줄바꿈한다. */
.retention-presets[b-f7ilw5ck6g] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.retention-effect[b-f7ilw5ck6g] {
    margin: 12px 0 8px;
}

.retention-load-error[b-f7ilw5ck6g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Components/Admin/Services/InferenceLogs/LogDetail.razor.rz.scp.css */
.log-field-grid[b-ka67yag93j] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
}

.log-field[b-ka67yag93j] {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.log-field span[b-ka67yag93j] {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: var(--clv-text-secondary);
}

.log-field strong[b-ka67yag93j] {
    display: block;
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 600;
    color: var(--clv-text-primary);
}

.log-billing-attempts[b-ka67yag93j] {
    margin-top: 12px;
}

.payload-grid[b-ka67yag93j] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.payload-grid--secondary[b-ka67yag93j] {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.payload-card[b-ka67yag93j] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
}

.payload-card__head[b-ka67yag93j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--clc-assign-base-200);
    background: var(--clc-assign-base-50);
}

.payload-card__head h3[b-ka67yag93j] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.payload-card__head span[b-ka67yag93j] {
    font-size: 12px;
    color: var(--clv-text-secondary);
}

.payload-card__tools[b-ka67yag93j] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.payload-card pre[b-ka67yag93j] {
    max-height: 520px;
    min-height: 220px;
    margin: 0;
    padding: 14px;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.55;
    color: var(--clv-text-primary);
    background: var(--clv-background);
}

@media (max-width: 900px) {
    .payload-grid[b-ka67yag93j] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Admin/Services/InferenceLogs/Logs.razor.rz.scp.css */
.logs-filter-wide[b-gilw7aoqeb] {
    grid-column: 1 / -1;
}

.logs-filter-period[b-gilw7aoqeb] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.logs-table td.num[b-gilw7aoqeb],
.logs-table th.num[b-gilw7aoqeb] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.logs-table tbody tr.row-failed[b-gilw7aoqeb] {
    background: var(--clc-danger-lighter);
}
/* /Components/Admin/Services/Ivy/IvyAppVersions.razor.rz.scp.css */
/* 앱 버전 관리 페이지 고유 스타일 (테마 토큰만 사용) */

.ivy-version-tabs[b-ni167n7dcb] {
    display: flex;
    gap: 2px;
    border-bottom: 2px solid var(--clc-assign-base-200);
    margin-bottom: 20px;
}

.ivy-version-tab[b-ni167n7dcb] {
    padding: 10px 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--clv-text-secondary);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.15s, border-color 0.15s;
}

.ivy-version-tab:hover[b-ni167n7dcb] {
    color: var(--clv-text-primary);
}

.ivy-version-tab.active[b-ni167n7dcb] {
    color: var(--clc-primary);
    border-bottom-color: var(--clc-primary);
    font-weight: 600;
}

.ivy-row-selected[b-ni167n7dcb] {
    background: var(--clc-primary-lighter);
}

/* Windows 탭의 수동 설정은 평소 접어 두고, 열었을 때만 입력부와 간격을 둔다. */
.ivy-advanced > summary[b-ni167n7dcb] {
    cursor: pointer;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.ivy-advanced[open] > summary[b-ni167n7dcb] {
    margin-bottom: 16px;
    color: var(--clv-text-primary);
}
/* /Components/Admin/Services/Ivy/IvyDefaultWorkflowSettings.razor.rz.scp.css */
/* Ivy Default Workflow / Model 페이지 고유 스타일 (테마 토큰만 사용) */

.ivy-workflow-summary-grid[b-9x8ybjdhqu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.ivy-workflow-summary-card[b-9x8ybjdhqu],
.ivy-workflow-detail-card[b-9x8ybjdhqu],
.ivy-workflow-draft-card[b-9x8ybjdhqu] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    background: var(--clc-assign-base);
    padding: 12px;
}

.ivy-workflow-summary-card strong[b-9x8ybjdhqu],
.ivy-workflow-detail-card strong[b-9x8ybjdhqu] {
    display: block;
    margin-bottom: 6px;
}

.ivy-workflow-summary-card small[b-9x8ybjdhqu] {
    color: var(--clv-text-secondary);
}

.ivy-workflow-draft-grid[b-9x8ybjdhqu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.ivy-workflow-draft-card[b-9x8ybjdhqu] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ivy-workflow-draft-card p[b-9x8ybjdhqu] {
    margin: 0;
    color: var(--clv-text-secondary);
}

.ivy-workflow-draft-card-emphasis[b-9x8ybjdhqu] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.ivy-workflow-draft-meta[b-9x8ybjdhqu] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
    color: var(--clv-text-secondary);
}

.ivy-workflow-detail-card[b-9x8ybjdhqu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.ivy-workflow-detail-card div[b-9x8ybjdhqu] {
    display: grid;
    gap: 4px;
}

.ivy-workflow-row-selected[b-9x8ybjdhqu] {
    background: var(--clc-primary-lighter);
}

.ivy-status[b-9x8ybjdhqu] {
    margin-top: 10px;
}

.ivy-workflow-link[b-9x8ybjdhqu] {
    margin-left: 10px;
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
}
/* /Components/Admin/Services/Ivy/IvyMacReleases.razor.rz.scp.css */
/* Mac 직접 배포 카드 고유 스타일. Windows 배포 카드와 같은 재질·워시 규칙이며 색은 Mist 토큰만 쓴다. */

.mr-gap[b-2jva9mrg5v] {
    margin-top: 14px;
}

.mr-summary-body[b-2jva9mrg5v] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.mr-summary-facts[b-2jva9mrg5v] {
    display: grid;
    gap: 8px;
}

.mr-summary-facts dl[b-2jva9mrg5v] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 28px;
    margin: 0;
}

.mr-summary-facts dt[b-2jva9mrg5v] {
    font-size: .75rem;
    font-weight: 400;
    color: var(--clv-text-secondary);
}

.mr-summary-facts dd[b-2jva9mrg5v] {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.mr-link[b-2jva9mrg5v] {
    padding: 8px 14px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-0);
    color: var(--clv-text-primary);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
}

.mr-link:hover[b-2jva9mrg5v] {
    box-shadow: var(--clc-material-elevation-1);
}

.mr-chip[b-2jva9mrg5v] {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 2px 10px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field);
    color: var(--clv-text-secondary);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.mr-chip--ok[b-2jva9mrg5v] {
    background: var(--clc-mist-wash-success);
    color: var(--clc-mist-ink-success);
}

.mr-chip--waiting[b-2jva9mrg5v] {
    background: var(--clc-mist-wash-warning);
    color: var(--clc-mist-ink-warning);
}

.mr-chip--danger[b-2jva9mrg5v] {
    background: var(--clc-mist-wash-danger);
    color: var(--clc-mist-ink-danger);
}

/* 파일 입력을 카드 전체에 펼쳐 끌어다 놓기와 눌러서 고르기를 한 자리에서 받는다. */
.mr-drop[b-2jva9mrg5v] {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 26px 20px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-field);
    color: var(--clv-text-primary);
    text-align: center;
    transition: background var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.mr-drop:hover[b-2jva9mrg5v],
.mr-drop:focus-within[b-2jva9mrg5v] {
    background: var(--clc-material-field-strong);
}

.mr-drop:focus-within[b-2jva9mrg5v] {
    box-shadow: var(--clc-mist-focus-shadow);
}

.mr-drop[b-2jva9mrg5v]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.mr-drop--busy[b-2jva9mrg5v]  input[type="file"] {
    cursor: not-allowed;
}

.mr-drop svg[b-2jva9mrg5v] {
    width: 28px;
    height: 28px;
    color: var(--clc-mist-ink-primary);
}

.mr-drop span[b-2jva9mrg5v] {
    font-size: .85rem;
    color: var(--clv-text-secondary);
}

.mr-upload[b-2jva9mrg5v] {
    display: grid;
    gap: 10px;
    padding: 16px 18px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-0);
}

.mr-upload-head[b-2jva9mrg5v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-variant-numeric: tabular-nums;
}

.mr-bar[b-2jva9mrg5v] {
    height: 8px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field-strong);
    overflow: hidden;
}

.mr-bar i[b-2jva9mrg5v] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--clc-primary);
    transition: width var(--clc-mist-duration-state) linear;
}

.mr-checks[b-2jva9mrg5v] {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .85rem;
}

.mr-checks li[b-2jva9mrg5v] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    color: var(--clv-text-secondary);
}

.mr-checks li[b-2jva9mrg5v]::before {
    content: "○";
    color: var(--clv-text-secondary);
}

.mr-checks li.done[b-2jva9mrg5v] {
    color: var(--clv-text-primary);
}

.mr-checks li.done[b-2jva9mrg5v]::before {
    content: "✓";
    font-weight: 700;
    color: var(--clc-mist-ink-success);
}

.mr-checks small[b-2jva9mrg5v] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    color: var(--clv-text-secondary);
}

.mr-modes[b-2jva9mrg5v] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 8px;
}

.mr-mode[b-2jva9mrg5v] {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border: 0;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
    color: var(--clv-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.mr-mode:hover[b-2jva9mrg5v] {
    background: var(--clc-material-field-strong);
}

.mr-mode[aria-checked="true"][b-2jva9mrg5v] {
    background: var(--clc-mist-wash-primary);
}

.mr-mode:focus-visible[b-2jva9mrg5v] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

.mr-mode span[b-2jva9mrg5v] {
    font-size: .8rem;
    color: var(--clv-text-secondary);
}

.mr-row-actions[b-2jva9mrg5v] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: wrap;
}

.mr-visually-hidden[b-2jva9mrg5v] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .mr-drop[b-2jva9mrg5v],
    .mr-bar i[b-2jva9mrg5v],
    .mr-mode[b-2jva9mrg5v] {
        transition: none;
    }
}
/* /Components/Admin/Services/Ivy/IvyModelTemplateManager.razor.rz.scp.css */
/* 채팅 요청 모델 관리 페이지 고유 스타일 (테마 토큰만 사용)
   테이블/배지/요약 KPI 등 공용 패턴은 admin.css의 adm-* 클래스를 사용한다. */

/* ── KPI 경고 상태 ── */

.ivy-kpi-warn[b-xtkd4ctrhd] {
    border-color: var(--clc-warning-light);
    background: var(--clc-warning-lighter);
}

/* ── 접이식 모델 카드 리스트 ── */

.ivy-card-list[b-xtkd4ctrhd] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.ivy-card[b-xtkd4ctrhd] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.ivy-card:hover[b-xtkd4ctrhd] {
    border-color: var(--clc-assign-base-400);
}

.ivy-card--open[b-xtkd4ctrhd] {
    box-shadow: var(--clc-shadow-layer0);
    border-color: var(--clc-assign-base-400);
}

.ivy-card--server[b-xtkd4ctrhd] {
    border-left: 4px solid var(--clc-warning);
}

/* ── 카드 헤더 ── */

.ivy-card-header[b-xtkd4ctrhd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    cursor: pointer;
    user-select: none;
    background: var(--clc-assign-base-50);
    transition: background 0.15s;
    gap: 12px;
}

.ivy-card-header:hover[b-xtkd4ctrhd] {
    background: var(--clc-assign-base-100);
}

.ivy-card-header-left[b-xtkd4ctrhd] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.ivy-card-header-right[b-xtkd4ctrhd] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.ivy-card-idx[b-xtkd4ctrhd] {
    font-size: 12px;
    color: var(--clv-text-tertiary);
    font-weight: 600;
    min-width: 24px;
}

.ivy-chevron[b-xtkd4ctrhd] {
    font-size: 10px;
    color: var(--clv-text-tertiary);
    transition: transform 0.2s;
    display: inline-block;
    flex-shrink: 0;
}

.ivy-chevron--open[b-xtkd4ctrhd] {
    transform: rotate(90deg);
}

.ivy-card-type[b-xtkd4ctrhd] {
    font-weight: 600;
    font-size: 14px;
    color: var(--clv-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ivy-card-name[b-xtkd4ctrhd] {
    font-size: 13px;
    color: var(--clv-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── 카드 본문 ── */

.ivy-card-body[b-xtkd4ctrhd] {
    padding: 16px 20px 20px;
    border-top: 1px solid var(--clc-assign-base-200);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── 옵션 플래그 ── */

.ivy-flags[b-xtkd4ctrhd] {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    padding: 8px 0;
}

.ivy-flag[b-xtkd4ctrhd] {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    color: var(--clv-text-secondary);
}

.ivy-flag span[b-xtkd4ctrhd] {
    user-select: none;
}

/* ── 섹션 블록 ── */

.ivy-block[b-xtkd4ctrhd] {
    background: var(--clc-assign-base-50);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    padding: 12px 16px;
}

.ivy-block-header[b-xtkd4ctrhd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ivy-block-header h6[b-xtkd4ctrhd] {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

/* ── 태그 칩 ── */

.ivy-chip-list[b-xtkd4ctrhd] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 28px;
    align-items: center;
}

.ivy-chip[b-xtkd4ctrhd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    background: var(--clc-primary-lighter);
    color: var(--clc-primary);
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    transition: background 0.15s;
}

.ivy-chip:hover[b-xtkd4ctrhd] {
    background: var(--clc-primary-light);
}

.ivy-chip-x[b-xtkd4ctrhd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--clc-primary);
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 50%;
    line-height: 1;
    transition: background 0.15s, color 0.15s;
}

.ivy-chip-x:hover[b-xtkd4ctrhd] {
    background: var(--clc-primary-dark);
    color: var(--clc-assign-base);
}

/* ── 프로퍼티 키 셀 ── */

.ivy-prop-key[b-xtkd4ctrhd] {
    white-space: nowrap;
    min-width: 100px;
}
/* /Components/Admin/Services/Ivy/IvySearchSettings.razor.rz.scp.css */
/* External API 설정 페이지 고유 스타일 (테마 토큰만 사용) */

.ivy-weather-mode[b-k2mnsuiv4w] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 7px 10px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-primary);
}

.ivy-weather-mode label[b-k2mnsuiv4w] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
}

.ivy-weather-result[b-k2mnsuiv4w] {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--clc-assign-base);
    border: 1px solid var(--clc-assign-base-200);
    color: var(--clv-text-primary);
}

.ivy-weather-result > div[b-k2mnsuiv4w] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.ivy-weather-result span[b-k2mnsuiv4w] {
    color: var(--clv-text-secondary);
}
/* /Components/Admin/Services/Ivy/IvyWindowsReleases.razor.rz.scp.css */
/* Windows 배포 카드 고유 스타일. 표면 구분은 재질·워시로 하고 색은 Mist 토큰만 쓴다. */

.wr-gap[b-uwhaw2haun] {
    margin-top: 14px;
}

.wr-summary-body[b-uwhaw2haun] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.wr-summary-facts[b-uwhaw2haun] {
    display: grid;
    gap: 8px;
}

.wr-summary-facts dl[b-uwhaw2haun] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 28px;
    margin: 0;
}

.wr-summary-facts dt[b-uwhaw2haun] {
    font-size: .75rem;
    font-weight: 400;
    color: var(--clv-text-secondary);
}

.wr-summary-facts dd[b-uwhaw2haun] {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.wr-link[b-uwhaw2haun] {
    padding: 8px 14px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-0);
    color: var(--clv-text-primary);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
}

.wr-link:hover[b-uwhaw2haun] {
    box-shadow: var(--clc-material-elevation-1);
}

.wr-chip[b-uwhaw2haun] {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 2px 10px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field);
    color: var(--clv-text-secondary);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.wr-chip--ok[b-uwhaw2haun] {
    background: var(--clc-mist-wash-success);
    color: var(--clc-mist-ink-success);
}

.wr-chip--waiting[b-uwhaw2haun] {
    background: var(--clc-mist-wash-warning);
    color: var(--clc-mist-ink-warning);
}

.wr-chip--danger[b-uwhaw2haun] {
    background: var(--clc-mist-wash-danger);
    color: var(--clc-mist-ink-danger);
}

/* 파일 입력을 카드 전체에 펼쳐 끌어다 놓기와 눌러서 고르기를 한 자리에서 받는다. */
.wr-drop[b-uwhaw2haun] {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 26px 20px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-field);
    color: var(--clv-text-primary);
    text-align: center;
    transition: background var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.wr-drop:hover[b-uwhaw2haun],
.wr-drop:focus-within[b-uwhaw2haun] {
    background: var(--clc-material-field-strong);
}

.wr-drop:focus-within[b-uwhaw2haun] {
    box-shadow: var(--clc-mist-focus-shadow);
}

.wr-drop[b-uwhaw2haun]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.wr-drop--busy[b-uwhaw2haun]  input[type="file"] {
    cursor: not-allowed;
}

.wr-drop svg[b-uwhaw2haun] {
    width: 28px;
    height: 28px;
    color: var(--clc-mist-ink-primary);
}

.wr-drop span[b-uwhaw2haun] {
    font-size: .85rem;
    color: var(--clv-text-secondary);
}

.wr-upload[b-uwhaw2haun] {
    display: grid;
    gap: 10px;
    padding: 16px 18px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-0);
}

.wr-upload-head[b-uwhaw2haun] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-variant-numeric: tabular-nums;
}

.wr-bar[b-uwhaw2haun] {
    height: 8px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field-strong);
    overflow: hidden;
}

.wr-bar i[b-uwhaw2haun] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--clc-primary);
    transition: width var(--clc-mist-duration-state) linear;
}

.wr-checks[b-uwhaw2haun] {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .85rem;
}

.wr-checks li[b-uwhaw2haun] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    color: var(--clv-text-secondary);
}

.wr-checks li[b-uwhaw2haun]::before {
    content: "○";
    color: var(--clv-text-secondary);
}

.wr-checks li.done[b-uwhaw2haun] {
    color: var(--clv-text-primary);
}

.wr-checks li.done[b-uwhaw2haun]::before {
    content: "✓";
    font-weight: 700;
    color: var(--clc-mist-ink-success);
}

.wr-checks small[b-uwhaw2haun] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    color: var(--clv-text-secondary);
}

.wr-modes[b-uwhaw2haun] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 8px;
}

.wr-mode[b-uwhaw2haun] {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border: 0;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
    color: var(--clv-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.wr-mode:hover[b-uwhaw2haun] {
    background: var(--clc-material-field-strong);
}

.wr-mode[aria-checked="true"][b-uwhaw2haun] {
    background: var(--clc-mist-wash-primary);
}

.wr-mode:focus-visible[b-uwhaw2haun] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

.wr-mode span[b-uwhaw2haun] {
    font-size: .8rem;
    color: var(--clv-text-secondary);
}

.wr-row-actions[b-uwhaw2haun] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: wrap;
}

.wr-visually-hidden[b-uwhaw2haun] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .wr-drop[b-uwhaw2haun],
    .wr-bar i[b-uwhaw2haun],
    .wr-mode[b-uwhaw2haun] {
        transition: none;
    }
}
/* /Components/Admin/Services/ModelInference/CreateModelInference.razor.rz.scp.css */
.template-row[b-w0s29gz2ku] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.metadata-filter-wrap[b-w0s29gz2ku] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.metadata-options[b-w0s29gz2ku] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.metadata-option[b-w0s29gz2ku] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.approved-params-grid[b-w0s29gz2ku] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.approved-param-option[b-w0s29gz2ku] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.approved-param-option small[b-w0s29gz2ku] {
    color: var(--clv-text-secondary);
    font-size: 12px;
}

.api-capability-editor[b-w0s29gz2ku] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.api-capability-grid[b-w0s29gz2ku] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.api-capability-option[b-w0s29gz2ku] {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
    cursor: pointer;
}

.api-capability-option--selected[b-w0s29gz2ku] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.api-capability-option__body[b-w0s29gz2ku] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.api-capability-option small[b-w0s29gz2ku] {
    color: var(--clv-text-secondary);
    font-size: 12px;
}

.api-capability-option__note[b-w0s29gz2ku] {
    color: var(--clc-primary) !important;
}

.owner-account-selection[b-w0s29gz2ku] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    background: var(--clc-material-field, var(--clc-assign-base-50));
    /* 파인 자리의 윗변 빛은 입력 필드와 같은 specular 토큰이 지면별 알파까지 정한다. */
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
}

.owner-account-copy[b-w0s29gz2ku] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.owner-account-copy span[b-w0s29gz2ku] {
    overflow: hidden;
    color: var(--clv-text-secondary);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.owner-account-copy code[b-w0s29gz2ku] {
    color: var(--clv-text-tertiary);
}

@media (max-width: 720px) {
    .owner-account-selection[b-w0s29gz2ku] {
        align-items: stretch;
        flex-direction: column;
    }
}
/* /Components/Admin/Services/ModelInference/ModelInferenceDetail.razor.rz.scp.css */
/* Preprompt 섹션 */
.preprompt-section[b-k8zzyqg8tq] {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background-color: var(--clc-assign-base-50);
}

.section-title[b-k8zzyqg8tq] {
    margin: 0 0 16px;
    color: var(--clv-text-secondary);
    font-size: 18px;
    font-weight: 600;
}

.prompt-editor-wrap[b-k8zzyqg8tq] {
    background-color: var(--clc-assign-base);
    padding: 15px;
    border-radius: 5px;
}

.prompt-type-selector[b-k8zzyqg8tq] {
    margin-bottom: 20px;
    padding: 10px;
    background-color: var(--clc-assign-base-50);
    border-radius: 5px;
}

.prompt-type-selector label[b-k8zzyqg8tq] {
    display: block;
    margin: 10px 0;
    cursor: pointer;
}

.prompt-type-selector input[type="radio"][b-k8zzyqg8tq] {
    margin-right: 8px;
}

.info-box[b-k8zzyqg8tq] {
    padding: 15px;
    background-color: var(--clc-primary-lighter);
    border-left: 4px solid var(--clc-primary);
    border-radius: 4px;
}

.info-box code[b-k8zzyqg8tq] {
    background-color: var(--clc-assign-base);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.custom-prompt-editor[b-k8zzyqg8tq] {
    margin-top: 15px;
}

.field-label[b-k8zzyqg8tq] {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--clv-text-secondary);
}

.custom-prompt-editor[b-k8zzyqg8tq]  textarea,
.json-editor-wrap[b-k8zzyqg8tq]  textarea {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 13px;
}

.advanced-settings[b-k8zzyqg8tq] {
    margin-top: 20px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 5px;
    padding: 10px;
}

.advanced-settings summary[b-k8zzyqg8tq] {
    cursor: pointer;
    font-weight: 500;
    color: var(--clv-text-secondary);
    padding: 5px;
}

.advanced-settings[open] summary[b-k8zzyqg8tq] {
    margin-bottom: 15px;
    border-bottom: 1px solid var(--clc-assign-base-200);
}

.json-editor-wrap[b-k8zzyqg8tq] {
    padding: 10px 0;
}

/* 템플릿/파라미터 편집 */
.template-config-wrap[b-k8zzyqg8tq] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.template-row[b-k8zzyqg8tq] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.metadata-filter-wrap[b-k8zzyqg8tq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.metadata-options[b-k8zzyqg8tq] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.metadata-option[b-k8zzyqg8tq] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.approved-params-grid[b-k8zzyqg8tq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.approved-param-option[b-k8zzyqg8tq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.approved-param-option small[b-k8zzyqg8tq] {
    color: var(--clv-text-secondary);
    font-size: 12px;
}

/* API 기능 명세 */
.api-capability-readonly[b-k8zzyqg8tq],
.api-capability-editor[b-k8zzyqg8tq] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.api-capability-grid[b-k8zzyqg8tq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.api-capability-option[b-k8zzyqg8tq],
.api-capability-chip[b-k8zzyqg8tq] {
    display: flex;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}

.api-capability-option[b-k8zzyqg8tq] {
    cursor: pointer;
}

.api-capability-option--selected[b-k8zzyqg8tq] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.api-capability-option__body[b-k8zzyqg8tq],
.api-capability-chip[b-k8zzyqg8tq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.api-capability-option small[b-k8zzyqg8tq],
.api-capability-chip small[b-k8zzyqg8tq] {
    color: var(--clv-text-secondary);
    font-size: 12px;
}

.api-capability-option__note[b-k8zzyqg8tq] {
    color: var(--clc-primary) !important;
}

.owner-search-section[b-k8zzyqg8tq] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.owner-account-selection[b-k8zzyqg8tq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    background: var(--clc-material-field, var(--clc-assign-base-50));
    /* 파인 자리의 윗변 빛은 입력 필드와 같은 specular 토큰이 지면별 알파까지 정한다. */
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
}

.owner-account-copy[b-k8zzyqg8tq],
.owner-account-readonly[b-k8zzyqg8tq] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.owner-account-copy span[b-k8zzyqg8tq],
.owner-account-readonly span[b-k8zzyqg8tq] {
    overflow: hidden;
    color: var(--clv-text-secondary);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.owner-account-copy code[b-k8zzyqg8tq],
.owner-account-readonly code[b-k8zzyqg8tq] {
    color: var(--clv-text-tertiary);
}

@media (max-width: 720px) {
    .owner-account-selection[b-k8zzyqg8tq] {
        align-items: stretch;
        flex-direction: column;
    }
}

/* 로그 테이블 보조 */
.log-table td.num[b-k8zzyqg8tq],
.log-table th.num[b-k8zzyqg8tq] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.log-table tbody tr.row-failed[b-k8zzyqg8tq] {
    background: var(--clc-danger-lighter);
}
/* /Components/Admin/Services/ModelInference/ModelInferencePlayground.razor.rz.scp.css */
.checkbox-row[b-ruwnx7dq9i] {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.code-field[b-ruwnx7dq9i]  textarea {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
}

.tool-list[b-ruwnx7dq9i] {
    margin-top: 10px;
    max-height: 260px;
    overflow-y: auto;
}

.tool-item[b-ruwnx7dq9i] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
    background: var(--clc-assign-base-50);
}

.tool-item-head[b-ruwnx7dq9i] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.chat-list[b-ruwnx7dq9i] {
    max-height: 520px;
    overflow-y: auto;
    padding-right: 6px;
}

.chat-message[b-ruwnx7dq9i] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 10px;
    background: var(--clc-assign-base-50);
}

.chat-message.user[b-ruwnx7dq9i] {
    background: var(--clc-primary-lighter);
    border-color: var(--clc-primary);
}

.chat-message.assistant[b-ruwnx7dq9i] {
    background: var(--clc-assign-base-50);
    border-color: var(--clc-assign-base-200);
}

.chat-message.error[b-ruwnx7dq9i] {
    background: var(--clc-danger-lighter);
    border-color: var(--clc-danger);
}

.chat-meta[b-ruwnx7dq9i] {
    font-size: 12px;
    color: var(--clv-text-secondary);
    margin-bottom: 6px;
}

.chat-input[b-ruwnx7dq9i] {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.reasoning-box[b-ruwnx7dq9i],
.toolcall-box[b-ruwnx7dq9i] {
    margin-top: 8px;
}

.tool-call-item[b-ruwnx7dq9i] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    padding: 8px;
    margin-top: 6px;
    background: var(--clc-assign-base);
}

.raw-grid[b-ruwnx7dq9i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 12px;
}

.raw-grid label[b-ruwnx7dq9i] {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--clv-text-secondary);
}

pre[b-ruwnx7dq9i] {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    background: var(--clc-assign-base-50);
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    padding: 8px;
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    color: var(--clv-text-primary);
}
/* /Components/Admin/Services/OpenIdSettings/ApplicationCreate.razor.rz.scp.css */
.oauth-wizard[b-gyt8fatrrt] {
    max-width: 960px;
    margin: 0 auto;
    width: 100%;
}

/* Stepper */
.oauth-stepper[b-gyt8fatrrt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-x: auto;
}

.oauth-step[b-gyt8fatrrt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 999px;
    background: var(--clc-assign-base-50);
    color: var(--clv-text-secondary);
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.oauth-step-bullet[b-gyt8fatrrt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--clc-assign-base-200);
    color: var(--clv-text-primary);
    font-weight: 600;
    font-size: 0.8rem;
}

.oauth-step-label[b-gyt8fatrrt] {
    white-space: nowrap;
}

.oauth-step-active[b-gyt8fatrrt] {
    background: var(--clc-primary-lighter);
    color: var(--clc-primary-dark);
}

.oauth-step-active .oauth-step-bullet[b-gyt8fatrrt] {
    background: var(--clc-primary);
    color: var(--clc-assign-base);
}

.oauth-step-done[b-gyt8fatrrt] {
    background: var(--clc-success-lighter);
    color: var(--clc-success);
}

.oauth-step-done .oauth-step-bullet[b-gyt8fatrrt] {
    background: var(--clc-success);
    color: var(--clc-assign-base);
}

.step-head[b-gyt8fatrrt] {
    margin-bottom: 1.25rem;
}

.step-head h3[b-gyt8fatrrt] {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--clv-text-primary);
}

.step-desc[b-gyt8fatrrt] {
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: 0.92rem;
    line-height: 1.5;
}

/* Preset grid */
.preset-grid[b-gyt8fatrrt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.85rem;
}

.preset-card[b-gyt8fatrrt] {
    border: 1.5px solid var(--clc-assign-base-200);
    border-radius: 12px;
    padding: 1rem;
    cursor: pointer;
    background: var(--clc-assign-base);
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.05s ease;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.preset-card:hover[b-gyt8fatrrt] {
    border-color: var(--clc-primary-light);
    background: var(--clc-assign-base-50);
}

.preset-card:active[b-gyt8fatrrt] {
    transform: translateY(1px);
}

.preset-card.selected[b-gyt8fatrrt] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.preset-card-head[b-gyt8fatrrt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.preset-icon[b-gyt8fatrrt] {
    font-size: 1.4rem;
}

.preset-card h4[b-gyt8fatrrt] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--clv-text-primary);
    flex: 1;
}

.preset-checked[b-gyt8fatrrt] {
    color: var(--clc-primary);
    font-weight: 700;
}

.preset-desc[b-gyt8fatrrt] {
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: 0.88rem;
    line-height: 1.5;
}

.preset-bullets[b-gyt8fatrrt] {
    margin: 0;
    padding-left: 1.1rem;
    color: var(--clv-text-secondary);
    font-size: 0.83rem;
    line-height: 1.6;
}

.preset-bullets li[b-gyt8fatrrt] {
    margin: 0.1rem 0;
}

/* Field rows */
.field-row[b-gyt8fatrrt] {
    margin-bottom: 1.25rem;
}

.field-grid[b-gyt8fatrrt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.85rem;
}

.field-label[b-gyt8fatrrt] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    color: var(--clv-text-primary);
    font-size: 0.95rem;
    margin-bottom: 0.4rem;
}

.field-required[b-gyt8fatrrt] {
    background: var(--clc-danger-lighter);
    color: var(--clc-danger);
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 0.72rem;
    font-weight: 600;
}

.field-optional[b-gyt8fatrrt] {
    background: var(--clc-assign-base-100);
    color: var(--clv-text-tertiary);
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 0.72rem;
}

.field-row .adm-hint[b-gyt8fatrrt],
.advanced-toggle .adm-hint[b-gyt8fatrrt] {
    margin-top: 0.4rem;
}

.adm-hint code[b-gyt8fatrrt] {
    background: var(--clc-assign-base-100);
    padding: 1px 5px;
    border-radius: 4px;
    font-size: 0.85em;
}

.field-with-action[b-gyt8fatrrt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.field-with-action > :first-child[b-gyt8fatrrt] {
    flex: 1;
    min-width: 200px;
}

/* Inline list */
.inline-list[b-gyt8fatrrt] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.inline-list-row[b-gyt8fatrrt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.inline-list-row > :first-child[b-gyt8fatrrt] {
    flex: 1;
}

.field-row .adm-alert[b-gyt8fatrrt] {
    margin-top: 0.6rem;
}

/* Scope rows */
.option-section[b-gyt8fatrrt] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--clc-assign-base-200);
}

.option-section:first-of-type[b-gyt8fatrrt] {
    padding-top: 0;
    margin-top: 0;
    border-top: 0;
}

.option-section-head[b-gyt8fatrrt],
.option-subgroup-head[b-gyt8fatrrt] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.option-section-head h4[b-gyt8fatrrt],
.option-subgroup-head h5[b-gyt8fatrrt] {
    margin: 0;
    color: var(--clv-text-primary);
    font-size: 0.98rem;
    font-weight: 700;
}

.option-section-head p[b-gyt8fatrrt],
.option-subgroup-head p[b-gyt8fatrrt] {
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: 0.84rem;
    line-height: 1.45;
}

.option-subgroup[b-gyt8fatrrt] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    background: var(--clc-assign-base-50);
}

.scope-list[b-gyt8fatrrt] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.scope-row[b-gyt8fatrrt] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    cursor: pointer;
    background: var(--clc-assign-base);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.scope-row:hover[b-gyt8fatrrt] {
    border-color: var(--clc-primary-light);
}

.scope-row.selected[b-gyt8fatrrt] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.scope-title[b-gyt8fatrrt] {
    font-weight: 600;
    color: var(--clv-text-primary);
    font-size: 0.95rem;
}

.scope-sub[b-gyt8fatrrt] {
    color: var(--clv-text-secondary);
    font-size: 0.84rem;
    margin-top: 2px;
}

.scope-raw[b-gyt8fatrrt] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    color: var(--clv-text-tertiary);
    background: var(--clc-assign-base-100);
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 0.78rem;
}

/* Advanced toggle */
.advanced-toggle[b-gyt8fatrrt] {
    margin-top: 1.25rem;
    border-top: 1px dashed var(--clc-assign-base-200);
    padding-top: 1rem;
}

.advanced-toggle summary[b-gyt8fatrrt] {
    cursor: pointer;
    font-weight: 600;
    color: var(--clv-text-secondary);
    font-size: 0.9rem;
    padding: 0.3rem 0;
}

.advanced-toggle[open] summary[b-gyt8fatrrt] {
    color: var(--clv-text-primary);
    margin-bottom: 0.6rem;
}

/* Review */
.review-section[b-gyt8fatrrt] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 10px;
    overflow: hidden;
}

.review-row[b-gyt8fatrrt] {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1rem;
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid var(--clc-assign-base-100);
    background: var(--clc-assign-base);
}

.review-row:last-child[b-gyt8fatrrt] {
    border-bottom: none;
}

.review-row:nth-child(even)[b-gyt8fatrrt] {
    background: var(--clc-assign-base-50);
}

.review-key[b-gyt8fatrrt] {
    color: var(--clv-text-secondary);
    font-weight: 600;
    font-size: 0.88rem;
}

.review-val[b-gyt8fatrrt] {
    color: var(--clv-text-primary);
    font-size: 0.92rem;
    word-break: break-all;
}

.review-val code[b-gyt8fatrrt] {
    background: var(--clc-assign-base-100);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.9em;
    word-break: break-all;
}

/* Actions */
.oauth-wizard-actions[b-gyt8fatrrt] {
    display: flex;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--clc-assign-base-100);
    gap: 0.5rem;
}

.mt-2[b-gyt8fatrrt] {
    margin-top: 0.75rem;
}

@media (max-width: 768px) {
    .review-row[b-gyt8fatrrt] {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .preset-grid[b-gyt8fatrrt] {
        grid-template-columns: 1fr;
    }

    .scope-row[b-gyt8fatrrt] {
        grid-template-columns: auto 1fr;
    }

    .scope-raw[b-gyt8fatrrt] {
        grid-column: 2;
        justify-self: start;
    }
}
/* /Components/Admin/Services/OpenIdSettings/ApplicationEdit.razor.rz.scp.css */
.secret-result[b-o6fs59dxpe] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
}

.secret-result-title[b-o6fs59dxpe] {
    font-weight: 600;
    color: var(--clv-text-primary);
}

.secret-result-value[b-o6fs59dxpe] {
    display: block;
    width: 100%;
    overflow-wrap: anywhere;
    padding: 8px;
    border-radius: 8px;
    background: var(--clc-primary-lighter);
}
/* /Components/Admin/Services/OpenIdSettings/ApplicationForm.razor.rz.scp.css */
.oidc-option-group[b-0avh28zp1o] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid var(--clc-assign-base-200);
}

.oidc-option-group:first-of-type[b-0avh28zp1o] {
    padding-top: 0;
    margin-top: 0;
    border-top: 0;
}

.oidc-option-group h6[b-0avh28zp1o] {
    margin: 0;
    color: var(--clv-text-primary);
}

.oidc-option-group p[b-0avh28zp1o] {
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: 13px;
    line-height: 1.45;
}

.oidc-option-list[b-0avh28zp1o] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 8px;
}

.oidc-check-row[b-0avh28zp1o] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 84px;
    padding: 12px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
    cursor: pointer;
}

.oidc-check-row.selected[b-0avh28zp1o] {
    border-color: var(--clc-primary-light);
    background: var(--clc-primary-lighter);
}

.oidc-check-copy[b-0avh28zp1o] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.oidc-check-title[b-0avh28zp1o] {
    color: var(--clv-text-primary);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.oidc-check-desc[b-0avh28zp1o] {
    color: var(--clv-text-secondary);
    font-size: 13px;
    line-height: 1.45;
}

.oidc-check-row code[b-0avh28zp1o] {
    width: fit-content;
    max-width: 100%;
    overflow-wrap: anywhere;
    color: var(--clv-text-secondary);
    background: var(--clc-assign-base-100);
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 12px;
}
/* /Components/Admin/Services/OpenIdSettings/StringListEditor.razor.rz.scp.css */
.adm-table-wrap[b-tca97gh27i] {
    max-height: 360px;
    overflow-y: auto;
}
/* /Components/Admin/Services/Properties/PropertiesList.razor.rz.scp.css */
.properties-col-value[b-baw9kyycat] {
    max-width: 400px;
    overflow-wrap: anywhere;
}
/* /Components/Admin/Services/Properties/PropertyCreate.razor.rz.scp.css */
.required-mark[b-4cdlfb3yf4] {
    color: var(--clc-danger);
    margin-left: 2px;
}
/* /Components/Admin/Services/Properties/PropertyEdit.razor.rz.scp.css */
.required-mark[b-n9gwqjfc75] {
    color: var(--clc-danger);
    margin-left: 2px;
}
/* /Components/Admin/Services/PushDeviceRetentionSettingsPage.razor.rz.scp.css */
.retention-switch[b-27wl79ya3i] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    margin: 0;
    color: var(--clv-text-primary);
    cursor: pointer;
}
/* /Components/Admin/Services/Templates/TemplateCreate.razor.rz.scp.css */
.required-mark[b-259zn5hqf1] {
    color: var(--clc-danger);
    margin-left: 2px;
}

.params-check-col[b-259zn5hqf1] {
    width: 60px;
    text-align: center;
}

.params-empty[b-259zn5hqf1] {
    text-align: center;
    padding: 24px 12px;
}

.params-subform[b-259zn5hqf1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
    border: 1px dashed var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}
/* /Components/Admin/Services/Templates/TemplateDetails.razor.rz.scp.css */
.required-mark[b-tgoda533kp] {
    color: var(--clc-danger);
    margin-left: 2px;
}

.params-check-col[b-tgoda533kp] {
    width: 60px;
    text-align: center;
}

.params-empty[b-tgoda533kp] {
    text-align: center;
    padding: 24px 12px;
}

.params-subform[b-tgoda533kp] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
    border: 1px dashed var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}
/* /Components/Admin/Services/Templates/TemplateEdit.razor.rz.scp.css */
.required-mark[b-7zx3coddsn] {
    color: var(--clc-danger);
    margin-left: 2px;
}

.params-check-col[b-7zx3coddsn] {
    width: 60px;
    text-align: center;
}

.params-empty[b-7zx3coddsn] {
    text-align: center;
    padding: 24px 12px;
}

.params-subform[b-7zx3coddsn] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
    border: 1px dashed var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base-50);
}
/* /Components/Admin/Services/WorkerControl.razor.rz.scp.css */
/* 카드 안의 구획은 바깥 테두리 없이 머리선으로만 나눈다(Mist 표면 규칙). 색은 모두 테마 변수에서 온다. */

/* 전역 admin.css의 카드·안내·배지·빈 상태는 바깥 1px 테두리를 그리므로, 이 화면 범위에서만 Mist L2 종이로 바꾼다.
   종이는 블러 없는 반투명 재질(mist-tokens.css의 --clc-material-paper)이고 깊이는 위쪽 반사광과 겹친 그림자로 낸다.
   다른 관리자 화면의 전역 스타일은 건드리지 않는다. */
.worker-page[b-d22edv3q0x] {
    min-width: 0;
    max-width: 100%;
}

.worker-page .adm-card[b-d22edv3q0x] {
    border: 0;
    background: var(--clc-material-paper);
    box-shadow: inset 0 1px 0 var(--clc-material-specular), var(--clc-shadow-layer1-1), var(--clc-shadow-layer1-2);
}

/* 안내·배지·빈 상태는 종이 안의 물들임이라 바탕색만 남기고 테두리를 지운다. */
.worker-page .adm-alert[b-d22edv3q0x],
.worker-page .adm-badge[b-d22edv3q0x],
.worker-page .adm-empty[b-d22edv3q0x] {
    border: 0;
}

/* 전역 .adm-head의 바깥 테두리와 회색 판은 Mist 종이 위에 판을 하나 더 만든다. 이 화면에서는 머리글을 캔버스 위 글자로만 둔다. */
.worker-page .adm-head[b-d22edv3q0x] {
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

/* 표는 넓어도 이 감싸개 안에서만 가로로 스크롤해 좁은 화면에서 페이지 전체가 넘치지 않게 한다.
   position: relative는 숨긴 표 머리글(.worker-sr, 절대 위치)의 기준을 이 감싸개로 잡는다. 기준이 루트로 올라가면 그 머리글이
   감싸개의 overflow 자르기를 벗어나 문서 폭을 넓힌다(375px에서 루트 폭 508px로 실측). 표 자체의 가로 스크롤은 그대로 둔다. */
.worker-page .adm-table-wrap[b-d22edv3q0x] {
    position: relative;
    border: 0;
    max-width: 100%;
    overflow-x: auto;
}
.worker-callout[b-d22edv3q0x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.worker-filters[b-d22edv3q0x] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    min-width: 0;
}

.worker-search[b-d22edv3q0x] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex: 1 1 280px;
    min-width: 0;
    margin: 0;
}

.worker-field[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.worker-grow[b-d22edv3q0x] {
    flex: 1 1 auto;
}

/* 긴 이름·메모는 칸 안에서 줄을 바꿔 페이지 가로 넘침을 만들지 않는다. */
.worker-wrap[b-d22edv3q0x] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.worker-sr[b-d22edv3q0x] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.worker-table[b-d22edv3q0x] {
    min-width: 520px;
}

/* 선택 행은 한쪽 막대 대신 낮은 채도의 바탕 물들임으로만 표시한다. */
.worker-row-selected > td[b-d22edv3q0x] {
    background: var(--clc-primary-lighter);
}

.worker-host-name[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    max-width: 320px;
}

.worker-summary[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

.worker-summary-facts[b-d22edv3q0x] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 10px;
}

.worker-pager[b-d22edv3q0x] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 8px;
}

.worker-detail-head[b-d22edv3q0x] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.worker-section[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.worker-section + .worker-section[b-d22edv3q0x] {
    border-top: 1px solid var(--clc-material-hairline);
    padding-top: 14px;
}

.worker-section h4[b-d22edv3q0x],
.worker-subtitle[b-d22edv3q0x] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.worker-subtitle[b-d22edv3q0x] {
    font-size: 0.88rem;
}

.worker-facts[b-d22edv3q0x] {
    display: grid;
    grid-template-columns: minmax(96px, max-content) minmax(0, 1fr);
    gap: 6px 14px;
    margin: 0;
    font-size: 0.85rem;
}

.worker-facts dt[b-d22edv3q0x] {
    color: var(--clv-text-tertiary);
}

.worker-facts dd[b-d22edv3q0x] {
    margin: 0;
    min-width: 0;
    color: var(--clv-text-primary);
}

/* 지문·ID 같은 긴 기술 값은 고급 영역에서만 보이고, 그 안에서 아무 곳이나 끊어 줄을 바꾼다. */
.worker-tech[b-d22edv3q0x],
.worker-tech td[b-d22edv3q0x],
.worker-tech dd[b-d22edv3q0x] {
    font-family: var(--clv-font-mono, ui-monospace, monospace);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
    word-break: break-all;
}

/* 인라인 입력은 종이 안의 구획이라 머리선 하나로만 위 내용과 나눈다. 바깥 테두리를 두르지 않는다. */
.worker-form[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--clc-material-hairline);
    min-width: 0;
    max-width: 640px;
}

.worker-counter[b-d22edv3q0x] {
    align-self: flex-end;
    font-size: 0.75rem;
    color: var(--clv-text-tertiary);
}

.worker-conflict[b-d22edv3q0x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.worker-conflict-side[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    font-size: 0.85rem;
}

.worker-rows[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.worker-row[b-d22edv3q0x] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px 16px;
    padding: 12px 0;
    min-width: 0;
}

.worker-row + .worker-row[b-d22edv3q0x] {
    border-top: 1px solid var(--clc-material-hairline);
}

.worker-row-body[b-d22edv3q0x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 240px;
    min-width: 0;
}

.worker-row-title[b-d22edv3q0x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--clv-text-primary);
}

.worker-row > .worker-form[b-d22edv3q0x] {
    flex: 1 1 100%;
}

@media (max-width: 640px) {
    .worker-search[b-d22edv3q0x] {
        flex-basis: 100%;
    }

    .worker-conflict[b-d22edv3q0x] {
        grid-template-columns: minmax(0, 1fr);
    }

    .worker-conflict-side + .worker-conflict-side[b-d22edv3q0x] {
        border-top: 1px solid var(--clc-material-hairline);
        padding-top: 8px;
    }

    .worker-facts[b-d22edv3q0x] {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }

    .worker-facts dd + dt[b-d22edv3q0x] {
        margin-top: 8px;
    }
}
/* /Pages/Console/CloudApiKeys.razor.rz.scp.css */
/* API 키 화면 전용 조각.
   카드/표/폼/알림 등 공용 요소는 wwwroot/css/console.css 의 clv-* 를 그대로 쓴다.
   여기 있는 것은 공용 어휘에 없는 세 가지뿐이다 — 접히는 고급 설정, 권한 선택 목록, 목록 페이저.
   표면 위계는 테두리가 아니라 재질(--clc-material-*) + 스펙큘러로 만든다(Mist). */

/* 고급 설정은 기본 경로(이름 한 줄)를 복잡하게 만들지 않도록 접어 둔다.
   카드 안에 들어앉은 면이므로 테두리 없이 field 재질로 한 단 눌러 표현한다. */
.clvk-advanced[b-ce4a07eijb] {
    margin-top: 14px;
    border-radius: var(--clc-mist-radius-field, 10px);
    background: var(--clc-material-field, rgba(20, 16, 40, 0.07));
    box-shadow: inset 0 1px 0 var(--clc-material-specular, rgba(255, 255, 255, 0.6));
}

.clvk-advanced > summary[b-ce4a07eijb] {
    cursor: pointer;
    padding: 10px 14px;
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
    list-style: revert;
}

.clvk-advanced > summary:focus-visible[b-ce4a07eijb] {
    outline: none;
    border-radius: var(--clc-mist-radius-chip, 8px);
    box-shadow: var(--clc-mist-focus-shadow);
}

.clvk-advanced-body[b-ce4a07eijb] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 14px 14px;
}

/* 권한은 문자열을 받아쓰는 자리가 아니라 고르는 자리다 — 항목마다 무엇이 열리는지 붙여 둔다. */
.clvk-scope-list[b-ce4a07eijb] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.clvk-scope[b-ce4a07eijb] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.clvk-scope-text[b-ce4a07eijb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.clvk-scope-name[b-ce4a07eijb] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--clv-text-primary);
}

.clvk-scope-desc[b-ce4a07eijb] {
    font-size: 0.8rem;
    line-height: 1.55;
    color: var(--clv-text-tertiary);
}

.clvk-scope-chips[b-ce4a07eijb] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.clvk-error[b-ce4a07eijb] {
    font-size: 0.8rem;
    line-height: 1.55;
    color: var(--clc-mist-ink-danger);
}

.clvk-pager[b-ce4a07eijb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.clvk-pager-actions[b-ce4a07eijb] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* /Pages/Console/CloudLogs.razor.rz.scp.css */
/* 요청 로그 전용 레이아웃.
   카드·표·폼·상태 배지 등 공용 요소는 wwwroot/css/console.css 의 clv-* 를 그대로 쓴다.
   여기에는 이 화면에만 있는 것(클릭 가능한 로그 행, 상세 패널)만 둔다.

   색상은 테마가 주는 재질 토큰(--clc-material-* / --clc-mist-* / --clv-text-*)만 쓴다.
   서버는 surface.css 를 싣지 않으므로 --clv-overlay-* / --clv-field-* 는 여기서 값이 없다. */

/* ── 조회 조건 ── */
.clvl-field-error[b-uiypfdmv6q] {
    color: var(--clc-mist-ink-danger);
    font-weight: 600;
}

.clvl-refreshing[b-uiypfdmv6q] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--clc-mist-ink-primary);
}

/* ── 클릭 가능한 로그 행 ── */
.clvl-row[b-uiypfdmv6q] {
    cursor: pointer;
}

.clvl-row:hover[b-uiypfdmv6q] {
    background: var(--clc-material-field, rgba(20, 16, 40, 0.07));
}

/* 선택 표시는 한쪽 테두리(레일)가 아니라 낮은 채도의 액센트 워시로 한다. */
.clvl-row.selected[b-uiypfdmv6q],
.clvl-row.selected:hover[b-uiypfdmv6q] {
    background: var(--clc-mist-wash-primary, rgba(107, 69, 238, 0.1));
}

.clvl-paging[b-uiypfdmv6q] {
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
}

/* ── 상세 패널 ── */
.clvl-drawer-backdrop[b-uiypfdmv6q] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    /* 어둡게 덮는 대신 뒤를 흐려 초점을 옮긴다. 세기는 항상 색의 알파가 담당한다 —
       요소에 opacity 를 주면 자기 backdrop-filter 를 스스로 꺼 버린다. */
    background: var(--clc-material-scrim, rgba(0, 0, 0, 0.45));
    -webkit-backdrop-filter: var(--clc-material-blur-scrim);
    backdrop-filter: var(--clc-material-blur-scrim);
}

.clvl-drawer[b-uiypfdmv6q] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1101;
    display: flex;
    flex-direction: column;
    width: min(460px, 94vw);
    /* 내용 위에 떠 있는 표면이라 반투명한 paper 재질을 쓰면 아래 표가 비친다.
       불투명한 chrome 재질에 층 그림자만 얹는다. 테두리는 두르지 않는다. */
    background: var(--clc-material-chrome-static, #fff);
    box-shadow: var(--clc-shadow-layer3-2);
    animation: clvl-drawer-in-b-uiypfdmv6q 0.18s ease-out;
}

.clvl-drawer:focus[b-uiypfdmv6q] {
    outline: none;
}

.clvl-drawer:focus-visible[b-uiypfdmv6q] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow), var(--clc-shadow-layer3-2);
}

.clvl-drawer-head[b-uiypfdmv6q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 14px;
    /* 표면 안쪽을 나누는 헤어라인이라 허용된다. */
    border-bottom: 1px solid var(--clc-material-hairline, rgba(22, 18, 38, 0.09));
}

.clvl-drawer-head h2[b-uiypfdmv6q] {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.clvl-drawer-head .clv-hint[b-uiypfdmv6q] {
    margin-top: 4px;
    font-size: 0.8rem;
}

.clvl-drawer-close[b-uiypfdmv6q] {
    flex: none;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: var(--clc-mist-radius-chip, 8px);
    background: transparent;
    color: var(--clv-text-secondary);
    font-family: inherit;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.clvl-drawer-close:hover[b-uiypfdmv6q] {
    background: var(--clc-material-field, rgba(20, 16, 40, 0.07));
    color: var(--clv-text-primary);
}

.clvl-drawer-close:focus-visible[b-uiypfdmv6q] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

.clvl-drawer-body[b-uiypfdmv6q] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 16px 20px 24px;
    overflow-y: auto;
    min-height: 0;
}

.clvl-drawer-section h3[b-uiypfdmv6q] {
    margin: 0 0 4px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--clv-text-secondary);
}

@keyframes clvl-drawer-in-b-uiypfdmv6q {
    from { transform: translateX(16px); }
    to { transform: translateX(0); }
}

@media (max-width: 720px) {
    .clvl-paging[b-uiypfdmv6q] {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .clvl-drawer[b-uiypfdmv6q] {
        animation: none;
    }

    .clvl-drawer-close[b-uiypfdmv6q] {
        transition: none;
    }
}
/* /Pages/Console/CloudPlan.razor.rz.scp.css */
/*
   /clv/plan 전용 여백·배치 보정만 담는다.
   색·표면·그림자는 전부 console.css 의 clv-* 어휘가 정하므로 여기서 다시 칠하지 않는다
   (표면을 두 곳에서 칠하면 다크에서 층이 뒤집힌다).
*/

/* 한 모델이 여는 호출 종류가 여러 개다 — 칩이 줄바꿈되며 일정한 간격을 갖게 한다. */
.clvpl-chips[b-rb0jxe9udr] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* 표·지표 카드 바로 아래 붙는 보조 문구와 목록의 간격. */
.clvpl-note[b-rb0jxe9udr] {
    margin-top: 12px;
}

.clvpl-more[b-rb0jxe9udr] {
    margin-top: 12px;
}
/* /Pages/Console/CloudPlayground.razor.rz.scp.css */
/* 플레이그라운드 전용 레이아웃.
   카드/폼/코드블록 등 공용 요소는 wwwroot/css/console.css 의 clv-* 를 그대로 쓴다.
   표면 위계는 테두리가 아니라 재질(--clc-material-*) + 그림자 + 상단 스펙큘러로 만든다(Mist). */

.clvp-layout[b-3bpc45kzic] {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.clvp-side[b-3bpc45kzic] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* 세션 상태 줄은 캔버스 위에 놓이는 카드다 — 종이 재질 + 스펙큘러 + 그림자로 띄운다. */
.clvp-session[b-3bpc45kzic] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border-radius: var(--clc-mist-radius-surface, 14px);
    background: var(--clc-material-paper, rgba(255, 255, 255, 0.82));
    box-shadow:
        inset 0 1px 0 var(--clc-material-specular, rgba(255, 255, 255, 0.6)),
        var(--clc-material-elevation-1, 0 1px 2px rgba(20, 14, 45, 0.05), 0 6px 20px rgba(20, 14, 45, 0.07));
}

.clvp-session-actions[b-3bpc45kzic] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: auto;
}

.clvp-session-expiry[b-3bpc45kzic] {
    font-size: 0.78rem;
    color: var(--clv-text-tertiary);
    font-variant-numeric: tabular-nums;
}

.clvp-session-note[b-3bpc45kzic] {
    font-size: 0.82rem;
    color: var(--clv-text-secondary);
}

.clvp-chat[b-3bpc45kzic] {
    display: flex;
    flex-direction: column;
    min-height: 520px;
    min-width: 0;
}

.clvp-chat-list[b-3bpc45kzic] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 260px;
    max-height: 58vh;
    overflow-y: auto;
    padding-right: 4px;
}

/* 말풍선은 카드 안에 들어앉은 면이다 — 테두리 없이 field 재질로 한 단 눌러 표현한다. */
.clvp-message[b-3bpc45kzic] {
    border-radius: var(--clc-mist-radius-field, 10px);
    padding: 12px 14px;
    background: var(--clc-material-field, rgba(20, 16, 40, 0.07));
    box-shadow: inset 0 1px 0 var(--clc-material-specular, rgba(255, 255, 255, 0.6));
}

.clvp-message.user[b-3bpc45kzic] {
    background: var(--clc-primary-lighter);
}

.clvp-message.error[b-3bpc45kzic] {
    background: var(--clc-mist-wash-danger);
}

.clvp-message.error .clvp-message-role[b-3bpc45kzic],
.clvp-message.error pre[b-3bpc45kzic] {
    color: var(--clc-mist-ink-danger);
}

.clvp-message-meta[b-3bpc45kzic] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: 0.74rem;
    color: var(--clv-text-tertiary);
}

.clvp-message-role[b-3bpc45kzic] {
    font-weight: 700;
    color: var(--clv-text-secondary);
}

.clvp-message-tokens[b-3bpc45kzic] {
    font-variant-numeric: tabular-nums;
}

.clvp-message pre[b-3bpc45kzic] {
    margin: 0;
    font-family: inherit;
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--clv-text-primary);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.clvp-composer[b-3bpc45kzic] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    /* 카드 안쪽 구획선이라 헤어라인은 허용된다. */
    border-top: 1px solid var(--clc-material-hairline, rgba(22, 18, 38, 0.09));
}

.clvp-composer[b-3bpc45kzic]  .clc-textarea,
.clvp-composer > :first-child[b-3bpc45kzic] {
    flex: 1;
    min-width: 0;
}

/* 고급 영역은 기본 흐름을 복잡하게 만들지 않도록 접어 둔다. */
.clvp-advanced > summary[b-3bpc45kzic] {
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
    list-style: revert;
}

.clvp-advanced-body[b-3bpc45kzic] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;
}

.clvp-field-error[b-3bpc45kzic] {
    color: var(--clc-mist-ink-danger);
}

.clvp-raw > summary[b-3bpc45kzic] {
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--clv-text-primary);
    list-style: revert;
}

.clvp-advanced > summary:focus-visible[b-3bpc45kzic],
.clvp-raw > summary:focus-visible[b-3bpc45kzic] {
    outline: none;
    border-radius: var(--clc-mist-radius-chip, 8px);
    box-shadow: var(--clc-mist-focus-shadow);
}

.clvp-raw-grid[b-3bpc45kzic] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 14px;
}

.clvp-raw-grid pre[b-3bpc45kzic] {
    max-height: 320px;
    overflow: auto;
}

@media (max-width: 1020px) {
    .clvp-layout[b-3bpc45kzic] {
        grid-template-columns: 1fr;
    }

    .clvp-raw-grid[b-3bpc45kzic] {
        grid-template-columns: 1fr;
    }

    .clvp-chat[b-3bpc45kzic] {
        min-height: 0;
    }
}

@media (max-width: 720px) {
    .clvp-session-actions[b-3bpc45kzic] {
        margin-left: 0;
    }
}
/* /Pages/Console/CloudSettings.razor.rz.scp.css */
/* /clv/settings 전용 보조 규칙.
   공용 어휘(clv-*)는 wwwroot/css/console.css 가 정본이고, 여기에는 그 어휘로 표현되지 않는
   세 가지 배치/잉크만 둔다. 면을 테두리로 나누지 않고 색·깊이는 --console-* 의미 토큰만 읽는다. */

/* 필드 오류는 힌트 자리에서 잉크만 바꾼다 — 상태를 테두리로 말하지 않는다. */
.settings-error[b-qqhcyknk43] {
    color: var(--console-ink-danger);
}

/* 검색 결과가 길어져도 폼 아래 내용이 밀리지 않도록 자기 안에서 스크롤한다. */
.settings-results[b-qqhcyknk43] {
    max-height: 260px;
    overflow-y: auto;
}

/* 선택지가 네 개뿐인 드롭다운이 폼 전체 폭을 먹지 않게 한다. */
.settings-narrow[b-qqhcyknk43] {
    max-width: 280px;
}
/* /Pages/Download/AppDownload.razor.rz.scp.css */
/* 다운로드 화면. 맨 위 자리는 방문자 기기에 맞는 경로가 차지한다 — Windows면 종이 두 장(받기·설치 순서),
   스토어 앱이나 브라우저면 가운데 카드 한 장. 그 아래에 등록된 다른 기기용 앱만 나열한다.
   표면은 테두리 없이 재질과 그림자로 가르고, 색은 전부 Mist 토큰에서 온다. */
.app-download[b-i5ttvzqq0d] {
    box-sizing: border-box;
    width: min(100%, 1080px);
    margin-inline: auto;
    padding: 120px var(--policy-page-inline-padding) 64px;
    display: grid;
    gap: 40px;
    color: var(--clv-text-primary);
}

/* 가운데 카드 한 장으로 끝나는 화면은 폭을 좁혀, 카드와 그 아래 기기 목록이 같은 기둥에 선다. */
.app-download--compact[b-i5ttvzqq0d] {
    width: min(100%, 760px);
}

.app-download h1[b-i5ttvzqq0d] {
    margin: 0;
    font-size: clamp(1.5rem, 3.2vw, 1.875rem);
    line-height: 1.3;
    letter-spacing: -.03em;
    text-wrap: balance;
    word-break: keep-all;
}

.app-download h2[b-i5ttvzqq0d] {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: -.02em;
}

/* 받기를 이미 시작하고 넘어왔을 때(started=true)만 보이는 안내. 성공 워시로 "이미 시작됐다"를 알린다. */
.app-download__started[b-i5ttvzqq0d] {
    margin: 0;
    padding: 12px 16px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-mist-wash-success);
    color: var(--clv-text-primary);
    font-size: .9375rem;
    line-height: 1.6;
}

.app-download__hero[b-i5ttvzqq0d] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 20px;
    align-items: stretch;
}

.app-download__main[b-i5ttvzqq0d],
.app-download__steps[b-i5ttvzqq0d],
.app-download__history[b-i5ttvzqq0d],
.app-download__other[b-i5ttvzqq0d] {
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper);
    box-shadow: var(--clc-material-elevation-0);
}

/* 받기 카드는 화면의 주인공이라 한 단 뜬 종이로 올린다. */
.app-download__main[b-i5ttvzqq0d] {
    display: grid;
    gap: 20px;
    align-content: start;
    padding: 28px;
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-1);
}

.app-download__title[b-i5ttvzqq0d] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.app-download__mark[b-i5ttvzqq0d] {
    flex: none;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
}

.app-download__mark svg[b-i5ttvzqq0d] {
    width: 24px;
    height: 24px;
}

.app-download__mark--large[b-i5ttvzqq0d] {
    width: 64px;
    height: 64px;
    border-radius: var(--clc-mist-radius-surface);
}

.app-download__mark--large[b-i5ttvzqq0d]  .clci {
    font-size: 34px;
}

.app-download__chip[b-i5ttvzqq0d] {
    display: inline-flex;
    align-items: center;
    margin-bottom: 6px;
    padding: 2px 10px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
    font-size: .75rem;
    font-weight: 600;
}

.app-download__facts[b-i5ttvzqq0d] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    margin: 0;
    border-radius: var(--clc-mist-radius-field);
    overflow: hidden;
}

.app-download__facts div[b-i5ttvzqq0d] {
    display: grid;
    gap: 2px;
    padding: 10px 14px;
    background: var(--clc-material-field);
}

.app-download__facts dt[b-i5ttvzqq0d],
.app-download__arch > span[b-i5ttvzqq0d],
.app-download__hint[b-i5ttvzqq0d] {
    color: var(--clv-text-secondary);
    font-size: .8125rem;
    font-weight: 400;
}

.app-download__facts dd[b-i5ttvzqq0d] {
    margin: 0;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.app-download__arch[b-i5ttvzqq0d] {
    display: grid;
    gap: 8px;
}

.app-download__segments[b-i5ttvzqq0d] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: fit-content;
    padding: 3px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field);
}

.app-download__segment[b-i5ttvzqq0d] {
    min-height: 36px;
    padding: 6px 14px;
    border: 0;
    border-radius: var(--clc-mist-radius-pill);
    background: transparent;
    color: var(--clv-text-secondary);
    font: inherit;
    font-size: .875rem;
    cursor: pointer;
    transition: background var(--clc-mist-duration-state) var(--clc-mist-ease), box-shadow var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.app-download__segment:hover[b-i5ttvzqq0d] {
    background: var(--clc-material-field-strong);
}

.app-download__segment[aria-checked="true"][b-i5ttvzqq0d] {
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
}

.app-download__actions[b-i5ttvzqq0d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.app-download__actions--start[b-i5ttvzqq0d] {
    justify-content: flex-start;
}

/* 받기·브라우저 줄 바로 아래에 붙는 설치 조건. 카드의 줄 간격보다 가깝게 붙여 그 줄의 설명으로 읽히게 한다. */
.app-download__hint[b-i5ttvzqq0d] {
    margin: -8px 0 0;
    line-height: 1.6;
}

.app-download__button[b-i5ttvzqq0d] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 20px;
    border: 0;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: box-shadow var(--clc-mist-duration-state) var(--clc-mist-ease), transform var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.app-download__button--primary[b-i5ttvzqq0d] {
    background: var(--clc-primary);
    color: var(--clc-on-primary);
}

.app-download__button--large[b-i5ttvzqq0d] {
    min-height: 52px;
    padding: 12px 26px;
    font-size: 1rem;
}

.app-download__button svg[b-i5ttvzqq0d] {
    width: 20px;
    height: 20px;
}

.app-download__button:hover[b-i5ttvzqq0d] {
    box-shadow: var(--clc-material-elevation-1);
    transform: translateY(-1px);
}

.app-download__button:active[b-i5ttvzqq0d] {
    box-shadow: var(--clc-material-elevation-0);
    transform: scale(.985);
}

.app-download a:focus-visible[b-i5ttvzqq0d],
.app-download button:focus-visible[b-i5ttvzqq0d],
.app-download summary:focus-visible[b-i5ttvzqq0d] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

/* 해시·게시자는 지원 문의용이라 기본 화면에서 접어 두되 복사할 수 있게 둔다. */
.app-download__technical[b-i5ttvzqq0d] {
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
}

.app-download__technical summary[b-i5ttvzqq0d] {
    padding: 10px 14px;
    border-radius: var(--clc-mist-radius-field);
    color: var(--clv-text-secondary);
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
}

.app-download__technical dl[b-i5ttvzqq0d] {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0 14px 14px;
}

.app-download__technical dl > div[b-i5ttvzqq0d] {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 8px;
    font-size: .8125rem;
}

.app-download__technical dt[b-i5ttvzqq0d] {
    color: var(--clv-text-secondary);
}

.app-download__technical dd[b-i5ttvzqq0d] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin: 0;
}

.app-download__technical code[b-i5ttvzqq0d] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--clv-text-primary);
}

.app-download__copy[b-i5ttvzqq0d] {
    flex: none;
    min-height: 28px;
    padding: 2px 10px;
    border: 0;
    border-radius: var(--clc-mist-radius-chip);
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
    font: inherit;
    font-size: .75rem;
    cursor: pointer;
}

.app-download__steps[b-i5ttvzqq0d] {
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 28px;
}

.app-download__steps ol[b-i5ttvzqq0d] {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: install-step;
}

/* 실제 설치 순서라 번호가 정보다. */
.app-download__steps li[b-i5ttvzqq0d] {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 12px;
    counter-increment: install-step;
}

.app-download__steps li[b-i5ttvzqq0d]::before {
    content: counter(install-step);
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
    font-size: .8125rem;
    font-weight: 700;
}

.app-download__steps li span[b-i5ttvzqq0d],
.app-download__notice span[b-i5ttvzqq0d] {
    color: var(--clv-text-secondary);
    font-size: .875rem;
    line-height: 1.6;
}

.app-download__notice[b-i5ttvzqq0d] {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 12px 14px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-mist-wash-info);
    font-size: .875rem;
}

.app-download__notice strong[b-i5ttvzqq0d] {
    color: var(--clc-mist-ink-info);
}

/* ── 가운데 카드: 이 기기의 스토어 앱, 브라우저 시작, 불러오기 실패 ── */
.app-download__featured[b-i5ttvzqq0d] {
    display: grid;
    justify-items: center;
    gap: 20px;
    padding: 40px 32px 36px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-1);
    text-align: center;
}

.app-download__featured-copy[b-i5ttvzqq0d] {
    display: grid;
    justify-items: center;
    gap: 10px;
}

.app-download__featured-copy .app-download__chip[b-i5ttvzqq0d] {
    margin-bottom: 0;
}

/* 가운데 정렬 카드에서도 동작 줄은 카드 폭을 다 쓴다. 폰에서 버튼이 꽉 차게 늘어나려면 줄 자신이 먼저 넓어야 한다. */
.app-download__featured > .app-download__actions[b-i5ttvzqq0d] {
    justify-self: stretch;
}

.app-download__featured p[b-i5ttvzqq0d] {
    max-width: 44ch;
    margin: 0;
    color: var(--clv-text-secondary);
    line-height: 1.7;
    word-break: keep-all;
}

/* 브라우저 창 그림. 실제 앱 화면이 아니라 "주소창에 이 주소를 열면 된다"는 것만 보이는 추상 그림이다.
   창은 카드 안에 파인 필드 재질이고, 주소창만 한 단 떠 있어 눈이 주소에 먼저 간다. */
.app-download__window[b-i5ttvzqq0d] {
    width: min(100%, 300px);
    overflow: hidden;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-field);
    text-align: left;
}

.app-download__window-bar[b-i5ttvzqq0d] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px 8px;
}

.app-download__window-bar > i[b-i5ttvzqq0d] {
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--clc-material-field-strong);
}

.app-download__window-address[b-i5ttvzqq0d] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
    margin-left: 6px;
    padding: 4px 10px;
    overflow: hidden;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-0);
    color: var(--clv-text-primary);
    font-size: .75rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-download__window-address svg[b-i5ttvzqq0d] {
    flex: none;
    width: 12px;
    height: 12px;
    color: var(--clc-mist-ink-primary);
}

/* 화면 자리는 아래에서 액센트 빛이 옅게 번지고, 글줄 셋이 내용이 있다는 것만 알린다. */
.app-download__window-body[b-i5ttvzqq0d] {
    display: grid;
    gap: 9px;
    padding: 18px 18px 24px;
    background: radial-gradient(120% 100% at 50% 130%, var(--clc-mist-wash-primary), transparent 70%);
}

.app-download__window-body i[b-i5ttvzqq0d] {
    height: 9px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field-strong);
}

.app-download__window-body i:nth-child(1)[b-i5ttvzqq0d] {
    width: 46%;
    background: var(--clc-mist-wash-primary);
}

.app-download__window-body i:nth-child(2)[b-i5ttvzqq0d] {
    width: 84%;
}

.app-download__window-body i:nth-child(3)[b-i5ttvzqq0d] {
    width: 62%;
}

/* ── 다른 기기용 앱 ── */
.app-download__section[b-i5ttvzqq0d] {
    display: grid;
    gap: 14px;
}

.app-download__others[b-i5ttvzqq0d] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.app-download__other[b-i5ttvzqq0d] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px 14px 16px;
}

.app-download__other-mark[b-i5ttvzqq0d] {
    flex: none;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
}

.app-download__other-mark svg[b-i5ttvzqq0d] {
    width: 18px;
    height: 18px;
}

.app-download__other-mark[b-i5ttvzqq0d]  .clci {
    font-size: 20px;
}

.app-download__other-name[b-i5ttvzqq0d] {
    flex: 1;
    display: grid;
    min-width: 0;
}

.app-download__other-name strong[b-i5ttvzqq0d] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-download__other-name span[b-i5ttvzqq0d] {
    overflow: hidden;
    color: var(--clv-text-secondary);
    font-size: .8125rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 좁은 기둥에서는 카드 셋을 나란히 두면 이름이 잘린다. 종이 한 장 안의 줄 목록으로 바꾸고, 줄 사이는 표면 안 구분선으로 가른다. */
.app-download--compact .app-download__others[b-i5ttvzqq0d] {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper);
    box-shadow: var(--clc-material-elevation-0);
}

.app-download--compact .app-download__other[b-i5ttvzqq0d] {
    padding: 14px 16px 14px 18px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.app-download--compact .app-download__other + .app-download__other[b-i5ttvzqq0d] {
    box-shadow: inset 0 1px 0 var(--clc-material-hairline);
}

.app-download__history[b-i5ttvzqq0d] {
    padding: 24px 28px;
}

.app-download__release[b-i5ttvzqq0d] {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 14px;
    padding-top: 14px;
    box-shadow: inset 0 1px 0 var(--clc-material-hairline);
}

.app-download__release:first-of-type[b-i5ttvzqq0d] {
    padding-top: 0;
    box-shadow: none;
}

.app-download__release-version[b-i5ttvzqq0d] {
    display: grid;
    gap: 2px;
}

.app-download__release-version b[b-i5ttvzqq0d] {
    font-variant-numeric: tabular-nums;
}

.app-download__release-version span[b-i5ttvzqq0d] {
    color: var(--clv-text-secondary);
    font-size: .8125rem;
}

.app-download__release ul[b-i5ttvzqq0d] {
    display: grid;
    gap: 4px;
    margin: 0;
    padding-left: 18px;
    font-size: .9375rem;
}

@media (max-width: 860px) {
    .app-download__hero[b-i5ttvzqq0d] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .app-download[b-i5ttvzqq0d] {
        padding-top: 104px;
        gap: 28px;
    }

    .app-download__main[b-i5ttvzqq0d],
    .app-download__steps[b-i5ttvzqq0d] {
        padding: 22px 20px;
    }

    .app-download__featured[b-i5ttvzqq0d] {
        padding: 32px 20px 28px;
    }

    .app-download__facts[b-i5ttvzqq0d] {
        grid-template-columns: minmax(0, 1fr);
    }

    /* 프로세서 두 칸이 폰에서 두 줄로 꺾이지 않게 한 줄을 반씩 나눈다. */
    .app-download__segments[b-i5ttvzqq0d] {
        flex-wrap: nowrap;
        width: 100%;
        box-sizing: border-box;
    }

    .app-download__segment[b-i5ttvzqq0d] {
        flex: 1 1 0;
        min-width: 0;
        padding-inline: 8px;
        white-space: nowrap;
    }

    .app-download__release[b-i5ttvzqq0d] {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    /* 폰에서는 받기와 브라우저 시작이 한 줄씩 꽉 차게 쌓여 손가락으로 누르기 쉽다. */
    .app-download__button--large[b-i5ttvzqq0d],
    .app-download__actions[b-i5ttvzqq0d]  .browser-app-link {
        width: 100%;
    }

    .app-download__actions[b-i5ttvzqq0d]  .browser-app-link {
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-download__button[b-i5ttvzqq0d],
    .app-download__segment[b-i5ttvzqq0d] {
        transition: none;
    }
}
/* /Pages/Estimate/PricingEstimate.razor.rz.scp.css */
.pe-page[b-1nojy3jx5r] {
    --pe-brand: var(--clc-primary);
    --pe-brand-ink: var(--clc-primary-dark);
    --pe-brand-contrast: var(--clc-on-primary);
    --pe-soft: var(--clc-primary-lighter);
    --pe-green: var(--clc-success-dark);
    --pe-green-soft: var(--clc-success-lighter);
    --pe-amber: var(--clc-warning-dark);
    --pe-amber-soft: var(--clc-warning-lighter);
    --pe-line: var(--clc-assign-base-200);
    --pe-line-soft: var(--clc-assign-base-100);
    --pe-line-hover: var(--clc-assign-base-300);
    --pe-ink: var(--clv-text-primary);
    --pe-label: var(--clv-text-primary);
    --pe-muted: var(--clv-text-secondary);
    --pe-faint: var(--clv-text-tertiary);
    --pe-surface: var(--clc-assign-base);
    --pe-surface-soft: var(--clc-assign-base-100);
    --pe-ring: color-mix(in srgb, var(--clc-primary) 14%, transparent);
    max-width: 1280px;
    margin: 0 auto;
    padding: 8px 4px 40px;
    color: var(--pe-ink);
    font-family: "Pretendard", -apple-system, system-ui, "Segoe UI", sans-serif;
}

.pe-head[b-1nojy3jx5r] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.pe-head h1[b-1nojy3jx5r] { font-size: 24px; margin: 0 0 4px; letter-spacing: -0.02em; }
.pe-head p[b-1nojy3jx5r] { color: var(--pe-muted); font-size: 13.5px; margin: 0; line-height: 1.5; }

.pe-toast[b-1nojy3jx5r] { margin-bottom: 14px; padding: 11px 14px; border-radius: 10px; font-size: 13.5px; font-weight: 600; }
.pe-toast.ok[b-1nojy3jx5r] { background: var(--pe-green-soft); color: var(--pe-green); border: 1px solid var(--clc-success-light); }
.pe-toast.error[b-1nojy3jx5r] { background: var(--clc-danger-lighter); color: var(--clc-danger-dark); border: 1px solid var(--clc-danger-light); }

.pe-layout[b-1nojy3jx5r] { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 20px; align-items: start; }
.pe-main[b-1nojy3jx5r] { display: grid; gap: 16px; }

.pe-card[b-1nojy3jx5r] { border: 1px solid var(--pe-line); border-radius: 12px; background: var(--pe-surface); padding: 18px 20px; box-shadow: var(--clc-shadow-layer0); }
.pe-card h2[b-1nojy3jx5r] { font-size: 16px; margin: 0 0 14px; letter-spacing: -0.01em; }
.pe-count[b-1nojy3jx5r] { font-size: 12.5px; font-weight: 500; color: var(--pe-muted); margin-left: 6px; }

.pe-choices[b-1nojy3jx5r] { display: grid; gap: 12px; }
.pe-choices.three[b-1nojy3jx5r] { grid-template-columns: repeat(3, 1fr); }
.pe-choices.two[b-1nojy3jx5r] { grid-template-columns: repeat(2, 1fr); }
.pe-choice[b-1nojy3jx5r] { display: grid; gap: 6px; text-align: left; padding: 14px 16px; border: 1.5px solid var(--pe-line); border-radius: 10px; background: var(--pe-surface); color: var(--pe-ink); cursor: pointer; transition: border-color .14s, background .14s; }
.pe-choice:hover[b-1nojy3jx5r] { border-color: var(--pe-line-hover); }
.pe-choice.on[b-1nojy3jx5r] { border-color: var(--pe-brand); background: var(--pe-soft); box-shadow: 0 0 0 3px var(--pe-ring); }
.pe-choice strong[b-1nojy3jx5r] { font-size: 15px; }
.pe-choice span[b-1nojy3jx5r] { color: var(--pe-muted); font-size: 12.5px; line-height: 1.45; }
.pe-choice em[b-1nojy3jx5r] { font-style: normal; font-size: 12px; font-weight: 700; color: var(--pe-brand-ink); }

.pe-fields[b-1nojy3jx5r] { display: grid; gap: 14px; }
.pe-fields.two[b-1nojy3jx5r] { grid-template-columns: repeat(2, 1fr); }
.pe-fields.three[b-1nojy3jx5r] { grid-template-columns: repeat(3, 1fr); }
.pe-fields.four[b-1nojy3jx5r] { grid-template-columns: repeat(4, 1fr); }
.pe-field[b-1nojy3jx5r] { display: grid; gap: 6px; }
.pe-field > span[b-1nojy3jx5r] { font-size: 12.5px; font-weight: 700; color: var(--pe-label); }
.pe-field input[b-1nojy3jx5r], .pe-field select[b-1nojy3jx5r] { min-height: 42px; border: 1.5px solid var(--pe-line); border-radius: 9px; padding: 9px 12px; background: var(--pe-surface); color: var(--pe-ink); outline: none; font: inherit; }
.pe-field input:focus[b-1nojy3jx5r], .pe-field select:focus[b-1nojy3jx5r] { border-color: var(--pe-brand); box-shadow: 0 0 0 3px var(--pe-ring); }
.pe-field input:disabled[b-1nojy3jx5r] { background: var(--pe-surface-soft); color: var(--pe-faint); }

.pe-pkgtable[b-1nojy3jx5r] { margin-top: 14px; border: 1px solid var(--pe-line); border-radius: 10px; overflow: hidden; }
.pe-pkgtable table[b-1nojy3jx5r] { width: 100%; border-collapse: collapse; }
.pe-pkgtable th[b-1nojy3jx5r], .pe-pkgtable td[b-1nojy3jx5r] { padding: 9px 12px; border-bottom: 1px solid var(--pe-line-soft); text-align: left; font-size: 12.5px; }
.pe-pkgtable th[b-1nojy3jx5r] { background: var(--pe-surface-soft); color: var(--pe-label); font-weight: 700; }
.pe-pkgtable td.num[b-1nojy3jx5r], .pe-pkgtable th:not(:first-child)[b-1nojy3jx5r] { text-align: right; font-variant-numeric: tabular-nums; }
.pe-pkgtable tr:last-child td[b-1nojy3jx5r] { border-bottom: 0; }

.pe-optcat[b-1nojy3jx5r] { border: 1px solid var(--pe-line); border-radius: 10px; margin-bottom: 10px; }
.pe-optcat summary[b-1nojy3jx5r] { padding: 11px 14px; cursor: pointer; font-weight: 700; font-size: 13.5px; list-style: none; display: flex; justify-content: space-between; }
.pe-optcat summary[b-1nojy3jx5r]::-webkit-details-marker { display: none; }
.pe-optcat summary[b-1nojy3jx5r]::before { content: "› "; color: var(--pe-brand); font-weight: 800; }
.pe-optcat summary span[b-1nojy3jx5r] { color: var(--pe-muted); font-weight: 600; font-size: 12px; }
.pe-optcat[open] summary[b-1nojy3jx5r] { border-bottom: 1px solid var(--pe-line); }
.pe-optlist[b-1nojy3jx5r] { padding: 10px 14px; display: grid; gap: 8px; }
.pe-opt[b-1nojy3jx5r] { display: grid; grid-template-columns: minmax(0,1fr) 130px 90px; align-items: center; gap: 12px; padding: 10px 12px; border: 1.5px solid var(--pe-line); border-radius: 9px; }
.pe-opt.on[b-1nojy3jx5r] { border-color: var(--pe-brand); background: var(--pe-soft); }
.pe-optmain[b-1nojy3jx5r] { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; min-width: 0; }
.pe-optmain input[b-1nojy3jx5r] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--pe-brand); }
.pe-optmain strong[b-1nojy3jx5r] { display: block; font-size: 13.5px; }
.pe-optmain small[b-1nojy3jx5r] { display: block; color: var(--pe-muted); font-size: 12px; line-height: 1.4; margin-top: 2px; }
.pe-opt select[b-1nojy3jx5r] { min-height: 36px; border: 1.5px solid var(--pe-line); border-radius: 8px; padding: 6px 8px; background: var(--pe-surface); color: var(--pe-ink); }
.pe-optprice[b-1nojy3jx5r] { text-align: right; font-weight: 700; font-size: 13px; color: var(--pe-muted); font-variant-numeric: tabular-nums; }
.pe-optprice.on[b-1nojy3jx5r] { color: var(--pe-brand-ink); }

.pe-toggles[b-1nojy3jx5r] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 14px; }
.pe-toggles label[b-1nojy3jx5r] { display: flex; align-items: center; gap: 9px; min-height: 46px; padding: 10px 12px; border: 1.5px solid var(--pe-line); border-radius: 9px; font-size: 13px; font-weight: 600; color: var(--pe-label); cursor: pointer; }
.pe-toggles input[b-1nojy3jx5r] { width: 18px; height: 18px; accent-color: var(--pe-brand); }

.pe-side[b-1nojy3jx5r] { position: sticky; top: 16px; border: 1px solid var(--pe-line); border-radius: 12px; background: var(--pe-surface); padding: 16px; box-shadow: var(--clc-shadow-layer2-2); display: grid; gap: 10px; }
.pe-sidehead[b-1nojy3jx5r] { display: flex; align-items: center; justify-content: space-between; }
.pe-sidehead span[b-1nojy3jx5r] { color: var(--pe-muted); font-size: 12px; font-weight: 700; }
.pe-badge[b-1nojy3jx5r] { font-size: 12px; font-weight: 800; padding: 3px 10px; border-radius: 999px; background: var(--pe-amber-soft); color: var(--pe-amber); }
.pe-badge.ok[b-1nojy3jx5r] { background: var(--pe-green-soft); color: var(--pe-green); }
.pe-total[b-1nojy3jx5r] { display: grid; gap: 2px; padding: 11px 13px; border-radius: 10px; background: var(--pe-soft); }
.pe-total span[b-1nojy3jx5r] { font-size: 11.5px; font-weight: 700; color: var(--pe-brand-ink); }
.pe-total strong[b-1nojy3jx5r] { font-size: 22px; font-variant-numeric: tabular-nums; }
.pe-total.renew[b-1nojy3jx5r] { background: var(--pe-green-soft); } .pe-total.renew span[b-1nojy3jx5r] { color: var(--pe-green); }
.pe-total.tcv[b-1nojy3jx5r] { background: var(--pe-amber-soft); } .pe-total.tcv span[b-1nojy3jx5r] { color: var(--pe-amber); }
.pe-break[b-1nojy3jx5r] { display: grid; gap: 5px; padding: 10px 0; border-top: 1px solid var(--pe-line); margin-top: 4px; }
.pe-break div[b-1nojy3jx5r] { display: flex; justify-content: space-between; font-size: 12.5px; }
.pe-break span[b-1nojy3jx5r] { color: var(--pe-muted); }
.pe-break b[b-1nojy3jx5r] { font-variant-numeric: tabular-nums; }
.pe-hint[b-1nojy3jx5r] { color: var(--pe-muted); font-size: 12px; line-height: 1.5; margin: 0; }
.pe-note[b-1nojy3jx5r] { color: var(--pe-muted); font-size: 11.5px; margin: 2px 0 0; }

.pe-actions[b-1nojy3jx5r] { display: grid; gap: 8px; margin-top: 4px; }
.pe-btn[b-1nojy3jx5r] { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 9px; border: 1.5px solid var(--pe-line); background: var(--pe-surface); color: var(--pe-ink); font-weight: 700; font-size: 14px; cursor: pointer; text-decoration: none; }
.pe-btn:hover[b-1nojy3jx5r] { border-color: var(--pe-line-hover); }
.pe-btn.primary[b-1nojy3jx5r] { border-color: var(--pe-brand); background: var(--pe-brand); color: var(--pe-brand-contrast); }
.pe-btn.accent[b-1nojy3jx5r] { border-color: var(--pe-green); background: var(--pe-green); color: var(--pe-brand-contrast); }
.pe-btn.ghost[b-1nojy3jx5r] { background: var(--pe-surface); }
.pe-btn:disabled[b-1nojy3jx5r] { opacity: .5; cursor: not-allowed; }

@media (max-width: 980px) {
    .pe-layout[b-1nojy3jx5r] { grid-template-columns: 1fr; }
    .pe-side[b-1nojy3jx5r] { position: static; }
    .pe-choices.three[b-1nojy3jx5r], .pe-choices.two[b-1nojy3jx5r], .pe-fields.two[b-1nojy3jx5r], .pe-fields.three[b-1nojy3jx5r], .pe-fields.four[b-1nojy3jx5r], .pe-toggles[b-1nojy3jx5r] { grid-template-columns: 1fr; }
    .pe-opt[b-1nojy3jx5r] { grid-template-columns: 1fr; }
}
/* /Pages/Estimate/QuoteList.razor.rz.scp.css */
.ql-page[b-pth2kk5sus] {
    --ql-brand: var(--clc-primary);
    --ql-brand-ink: var(--clc-primary-dark);
    --ql-brand-contrast: var(--clc-on-primary);
    --ql-brand-soft: var(--clc-primary-lighter);
    --ql-green: var(--clc-success-dark);
    --ql-green-soft: var(--clc-success-lighter);
    --ql-line: var(--clc-assign-base-200);
    --ql-line-soft: var(--clc-assign-base-100);
    --ql-ink: var(--clv-text-primary);
    --ql-muted: var(--clv-text-secondary);
    --ql-surface: var(--clc-assign-base);
    --ql-surface-soft: var(--clc-assign-base-100);
    max-width: 1100px; margin: 0 auto; padding: 8px 4px 40px; color: var(--ql-ink); font-family: "Pretendard", -apple-system, system-ui, "Segoe UI", sans-serif;
}
.ql-head[b-pth2kk5sus] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.ql-head h1[b-pth2kk5sus] { font-size: 24px; margin: 0 0 4px; }
.ql-head p[b-pth2kk5sus] { color: var(--ql-muted); font-size: 13.5px; margin: 0; }
.ql-btn[b-pth2kk5sus] { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 9px; border: 1.5px solid var(--ql-brand); background: var(--ql-brand); color: var(--ql-brand-contrast); font-weight: 700; text-decoration: none; }
.ql-empty[b-pth2kk5sus] { color: var(--ql-muted); padding: 40px; text-align: center; border: 1px dashed var(--ql-line); border-radius: 12px; }
.ql-empty a[b-pth2kk5sus] { color: var(--ql-brand-ink); }
.ql-tablewrap[b-pth2kk5sus] { border: 1px solid var(--ql-line); border-radius: 12px; overflow: hidden; background: var(--ql-surface); }
.ql-table[b-pth2kk5sus] { width: 100%; border-collapse: collapse; }
.ql-table th[b-pth2kk5sus], .ql-table td[b-pth2kk5sus] { padding: 12px 14px; border-bottom: 1px solid var(--ql-line-soft); text-align: left; font-size: 13px; }
.ql-table thead th[b-pth2kk5sus] { background: var(--ql-surface-soft); color: var(--ql-ink); font-weight: 700; }
.ql-table td.num[b-pth2kk5sus], .ql-table th.num[b-pth2kk5sus] { text-align: right; font-variant-numeric: tabular-nums; }
.ql-table tr:last-child td[b-pth2kk5sus] { border-bottom: 0; }
.ql-status[b-pth2kk5sus] { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; }
.ql-status.draft[b-pth2kk5sus] { background: var(--ql-surface-soft); color: var(--ql-muted); }
.ql-status.issued[b-pth2kk5sus] { background: var(--ql-green-soft); color: var(--ql-green); }
.ql-status.accepted[b-pth2kk5sus] { background: var(--ql-brand-soft); color: var(--ql-brand-ink); }
.ql-table td.actions a[b-pth2kk5sus] { color: var(--ql-brand-ink); font-weight: 600; margin-right: 12px; text-decoration: none; }
.ql-table td.actions a:hover[b-pth2kk5sus] { text-decoration: underline; }
/* /Pages/Estimate/QuotePrint.razor.rz.scp.css */
.qp-loading[b-g5aphdx0ce] { padding: 60px; text-align: center; color: var(--clv-text-secondary); font-family: "Pretendard", sans-serif; }

/* 화면 전용 크롬(인쇄 시 숨김) — 테마 토큰을 그대로 따른다. */
.qp-toolbar[b-g5aphdx0ce] { display: flex; align-items: center; justify-content: space-between; max-width: 820px; margin: 12px auto; padding: 0 8px; font-family: "Pretendard", sans-serif; }
.qp-toolbar a[b-g5aphdx0ce] { color: var(--clc-primary-dark); text-decoration: none; font-weight: 600; }
.qp-toolbar button[b-g5aphdx0ce] { min-height: 40px; padding: 0 18px; border-radius: 9px; border: 1.5px solid var(--clc-primary); background: var(--clc-primary); color: var(--clc-on-primary); font-weight: 700; cursor: pointer; }

/* 인쇄 문서(종이) — 다크 테마에서도 종이는 흰 배경 + 진한 잉크를 유지해
   화면 미리보기와 인쇄 결과가 항상 동일하도록, 종이 전용 색을
   테마 토큰(--clc-white/--clc-black/--clc-primary)에서 파생시킨다. */
.qp-doc[b-g5aphdx0ce] {
    --qp-paper: var(--clc-white);
    --qp-ink: var(--clc-black);
    --qp-muted: color-mix(in srgb, var(--clc-black) 55%, var(--clc-white));
    --qp-label: color-mix(in srgb, var(--clc-black) 78%, var(--clc-white));
    --qp-line: color-mix(in srgb, var(--clc-black) 15%, var(--clc-white));
    --qp-line-soft: color-mix(in srgb, var(--clc-black) 7%, var(--clc-white));
    --qp-soft: color-mix(in srgb, var(--clc-black) 5%, var(--clc-white));
    --qp-soft-faint: color-mix(in srgb, var(--clc-black) 2%, var(--clc-white));
    --qp-brand: var(--clc-primary);
    --qp-brand-ink: color-mix(in srgb, var(--clc-primary) 70%, var(--clc-black));
    --qp-brand-soft: color-mix(in srgb, var(--clc-primary) 10%, var(--clc-white));
    --qp-on-brand: var(--clc-on-primary);
    max-width: 820px;
    margin: 0 auto 40px;
    padding: 34px 38px;
    background: var(--qp-paper);
    border: 1px solid var(--qp-line);
    border-radius: 8px;
    color: var(--qp-ink);
    font-family: "Pretendard", -apple-system, system-ui, "Segoe UI", sans-serif;
    font-size: 12px;
    line-height: 1.55;
}
.qp-header[b-g5aphdx0ce] { text-align: center; padding-bottom: 14px; border-bottom: 2px solid var(--qp-brand); margin-bottom: 16px; }
.qp-title[b-g5aphdx0ce] { font-size: 26px; font-weight: 800; letter-spacing: 0.5em; padding-left: 0.5em; }
.qp-sub[b-g5aphdx0ce] { font-size: 11px; color: var(--qp-muted); margin-top: 4px; }

.qp-meta[b-g5aphdx0ce] { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.qp-meta th[b-g5aphdx0ce], .qp-meta td[b-g5aphdx0ce] { border: 1px solid var(--qp-line); padding: 7px 10px; font-size: 11px; text-align: left; }
.qp-meta th[b-g5aphdx0ce] { width: 14%; background: var(--qp-soft); color: var(--qp-label); font-weight: 700; }

.qp-parties[b-g5aphdx0ce] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.qp-party[b-g5aphdx0ce] { border: 1px solid var(--qp-line); border-radius: 8px; padding: 12px 14px; }
.qp-party-head[b-g5aphdx0ce] { font-size: 12px; font-weight: 800; color: var(--qp-brand-ink); margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--qp-line-soft); }
.qp-party div[b-g5aphdx0ce] { font-size: 11.5px; margin-bottom: 3px; }

.qp-h[b-g5aphdx0ce] { font-size: 14px; margin: 18px 0 10px; }
.qp-totals[b-g5aphdx0ce] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.qp-totals > div[b-g5aphdx0ce] { border: 1px solid var(--qp-line); border-radius: 8px; padding: 12px; display: grid; gap: 5px; }
.qp-totals span[b-g5aphdx0ce] { font-size: 10.5px; font-weight: 700; color: var(--qp-label); }
.qp-totals strong[b-g5aphdx0ce] { font-size: 18px; font-variant-numeric: tabular-nums; }
.qp-totals .tcv[b-g5aphdx0ce] { background: var(--qp-brand); border-color: var(--qp-brand); }
.qp-totals .tcv span[b-g5aphdx0ce] { color: color-mix(in srgb, var(--qp-on-brand) 85%, transparent); }
.qp-totals .tcv strong[b-g5aphdx0ce] { color: var(--qp-on-brand); }
.qp-note[b-g5aphdx0ce] { font-size: 10.5px; color: var(--qp-muted); margin-top: 10px; }

.qp-lines[b-g5aphdx0ce] { width: 100%; border-collapse: collapse; }
.qp-lines th[b-g5aphdx0ce] { background: var(--qp-ink); color: var(--qp-paper); font-size: 10.5px; padding: 8px 10px; text-align: left; }
.qp-lines th:nth-child(4)[b-g5aphdx0ce], .qp-lines th:nth-child(5)[b-g5aphdx0ce] { text-align: right; }
.qp-lines td[b-g5aphdx0ce] { border-bottom: 1px solid var(--qp-line-soft); padding: 7px 10px; font-size: 11px; }
.qp-lines td.num[b-g5aphdx0ce] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.qp-lines tr.grp td[b-g5aphdx0ce] { background: var(--qp-soft); color: var(--qp-brand-ink); font-weight: 800; }
.qp-lines tr.sub td[b-g5aphdx0ce] { font-weight: 700; background: var(--qp-soft-faint); }
.qp-lines tr.total td[b-g5aphdx0ce] { font-weight: 800; background: var(--qp-brand-soft); color: var(--qp-brand-ink); border-top: 2px solid var(--qp-line); }

.qp-memo[b-g5aphdx0ce] { font-size: 11.5px; white-space: pre-wrap; }
.qp-sign[b-g5aphdx0ce] { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.qp-sign > div[b-g5aphdx0ce] { border: 1px solid var(--qp-line); border-radius: 8px; padding: 14px; min-height: 80px; }
.qp-sign span[b-g5aphdx0ce] { font-size: 11px; font-weight: 800; color: var(--qp-label); }
.qp-sign .line[b-g5aphdx0ce] { margin-top: 30px; padding-top: 6px; border-top: 1px solid var(--qp-line); font-size: 11px; }
.qp-footer[b-g5aphdx0ce] { margin-top: 22px; padding-top: 10px; border-top: 1px solid var(--qp-line); font-size: 9.5px; color: var(--qp-muted); text-align: center; }

@media print {
    .qp-toolbar[b-g5aphdx0ce] { display: none; }
    .qp-doc[b-g5aphdx0ce] { border: 0; border-radius: 0; margin: 0; max-width: none; padding: 0; --qp-paper: #fff; --qp-ink: #000; }
    @page { size: A4 portrait; margin: 14mm; }
    .qp-doc[b-g5aphdx0ce], .qp-doc *[b-g5aphdx0ce] { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .qp-lines tr[b-g5aphdx0ce], .qp-party[b-g5aphdx0ce], .qp-totals > div[b-g5aphdx0ce], .qp-sign[b-g5aphdx0ce] { break-inside: avoid; }
    .qp-lines thead[b-g5aphdx0ce] { display: table-header-group; }
}
/* /Pages/Index.razor.rz.scp.css */
/* 플랫폼 홈. 위는 AI 플랫폼임을 보여 주는 히어로(오로라·신경망·플랫폼 예시 카드), 아래는 종이 카드 세 장과 개발자 예제다.
   색은 전부 Mist 토큰이고, AI 표시는 Mist 프리즘 램프(--clv-prism-1..4)로만 낸다.

   움직임: 오너 결정(2026-10-01)으로 홈 히어로는 움직임 줄이기 설정과 관계없이 움직인다. 그래서 이 파일에는
   prefers-reduced-motion / data-clevi-motion 분기를 두지 않는다. 같은 이유로 예시 카드의 프리즘은 Mist 코어 .clv-prism
   대신 히어로 전용 연출로 그린다 — 코어 프리미티브는 접근성 강등을 !important 로 강제하므로 이 결정과 충돌한다.
   신경망은 캔버스에 스크립트가 그린다. 뉴런이 떠돌고 연결이 자랐다 거두어지며, 히어로 빈 곳을 누르면 그 자리에 새 뉴런이
   돋아 이웃과 이어진다(오너 요청, 2026-10-02 — 앱 시작 화면과 같은 그림). 번개(발화)는 쓰지 않는다.
   무한 반복 중 오로라는 transform 만 옮겨 합성기에서 끝나고, 글자 흐름·프리즘 회전은 페인트형이지만 넓이가 작은 곳에만 건다. */

@property --home-spin {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}

.home[b-m9jr7wdx37] {
    color: var(--clv-text-primary);
}

.home h1[b-m9jr7wdx37],
.home h2[b-m9jr7wdx37] {
    margin: 0;
    text-wrap: balance;
    word-break: keep-all;
}

.home p[b-m9jr7wdx37] {
    word-break: keep-all;
}

.home code[b-m9jr7wdx37] {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .875em;
}

.home a:focus-visible[b-m9jr7wdx37],
.home button:focus-visible[b-m9jr7wdx37],
.home pre:focus-visible[b-m9jr7wdx37] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

/* ── 히어로 ── */
.home-hero[b-m9jr7wdx37] {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 136px var(--policy-page-inline-padding) 104px;
}

.home-hero__aurora[b-m9jr7wdx37] {
    position: absolute;
    inset: -25% -12%;
    z-index: -2;
    pointer-events: none;
}

.home-hero__aurora i[b-m9jr7wdx37] {
    position: absolute;
    width: clamp(320px, 46vw, 760px);
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(56px);
    opacity: .5;
    will-change: transform;
    animation: home-aurora-drift-b-m9jr7wdx37 22s ease-in-out infinite alternate;
}

.home-hero__aurora i:nth-child(1)[b-m9jr7wdx37] {
    left: -4%;
    top: -6%;
    background: radial-gradient(circle, var(--clv-prism-1), transparent 66%);
}

.home-hero__aurora i:nth-child(2)[b-m9jr7wdx37] {
    right: -6%;
    top: -12%;
    background: radial-gradient(circle, var(--clv-prism-2), transparent 66%);
    animation-duration: 27s;
    animation-delay: -7s;
}

.home-hero__aurora i:nth-child(3)[b-m9jr7wdx37] {
    left: 26%;
    bottom: -34%;
    background: radial-gradient(circle, var(--clv-prism-3), transparent 66%);
    animation-duration: 31s;
    animation-delay: -13s;
}

.home-hero__aurora i:nth-child(4)[b-m9jr7wdx37] {
    right: 14%;
    bottom: -26%;
    width: clamp(260px, 34vw, 560px);
    background: radial-gradient(circle, var(--clv-prism-4), transparent 66%);
    animation-duration: 24s;
    animation-delay: -4s;
}

@keyframes home-aurora-drift-b-m9jr7wdx37 {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(7%, 9%, 0) scale(1.14); }
    100% { transform: translate3d(-6%, -5%, 0) scale(.92); }
}

/* 신경망 캔버스. 제목 글자 바로 뒤만 옅게 해 글을 가리지 않고, 위·아래 띠와 가장자리는 그대로 보인다.
   누름은 히어로가 받으므로 캔버스 자신은 포인터를 받지 않는다. */
.home-hero__neural[b-m9jr7wdx37] {
    position: absolute;
    inset: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse 34% 44% at 22% 52%, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, .5) 62%, #000 100%);
    mask-image: radial-gradient(ellipse 34% 44% at 22% 52%, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, .5) 62%, #000 100%);
}

.home-hero__inner[b-m9jr7wdx37] {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 48px;
    align-items: center;
    width: min(100%, 1160px);
    margin-inline: auto;
}

.home-hero__copy[b-m9jr7wdx37] {
    display: grid;
    gap: 20px;
    align-content: start;
}

/* 히어로 그림 위에 떠 있는 작은 표면이라 크롬 재질이다. */
.home-hero__eyebrow[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 5px 14px 5px 6px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-chrome);
    -webkit-backdrop-filter: var(--clc-material-blur-chrome);
    backdrop-filter: var(--clc-material-blur-chrome);
    box-shadow: var(--clc-material-elevation-0);
    color: var(--clv-text-secondary);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.home-hero__spark[b-m9jr7wdx37] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: conic-gradient(from var(--home-spin), var(--clv-prism-1), var(--clv-prism-2), var(--clv-prism-3), var(--clv-prism-4), var(--clv-prism-1));
    animation: home-spin-b-m9jr7wdx37 4s linear infinite;
}

.home-hero h1[b-m9jr7wdx37] {
    font-size: clamp(2rem, 4.6vw, 3.375rem);
    font-weight: 800;
    line-height: 1.14;
    letter-spacing: -.035em;
}

.home-hero__brand[b-m9jr7wdx37] {
    background: linear-gradient(100deg, var(--clv-prism-1), var(--clv-prism-2), var(--clv-prism-3), var(--clv-prism-4), var(--clv-prism-1));
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: home-brand-flow-b-m9jr7wdx37 7s linear infinite;
}

@keyframes home-brand-flow-b-m9jr7wdx37 {
    to { background-position: 200% 0; }
}

@keyframes home-spin-b-m9jr7wdx37 {
    to { --home-spin: 360deg; }
}

.home-hero__lead[b-m9jr7wdx37] {
    max-width: 42ch;
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.75;
}

.home-hero__actions[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* 메신저·AI 대화를 찾아온 방문자를 Clevi 앱으로 보내는 크롬 알약(PublicBrowserAppLink). 위 눈썹 칩과 같은 재질로
   히어로 글을 위아래로 감싼다. 그리드 칸이 알약을 늘이지 않게 제 폭으로 세운다. */
.home-hero__copy[b-m9jr7wdx37]  .browser-app-link {
    justify-self: start;
}

/* ── 플랫폼 예시 카드 ── */
.home-demo[b-m9jr7wdx37] {
    position: relative;
    isolation: isolate;
}

/* 응답이 흐르는 동안 카드 가장자리에서 빛이 밖으로 퍼진다 — Mist 프리즘 빛 시안 B(오너 확정 2026-10-02)와 같은
   세 겹이다. 꼬리(두꺼운 띠를 크게 흐림 — 끊김 없이 멀리까지 옅어진다) · 결(둘레를 서로 다른 빠르기로 흐르는 밝은 자리) ·
   심지(경계에 붙은 얇은 띠 — 링이 끊긴 두 호에서만 달아오른다). 값은 Mist 프리미티브의 응답 중 값과 같다.
   다크 지면에서는 세 겹을 더한다(plus-lighter — 겹치는 자리가 흰빛 쪽으로 밝아진다). 지면 표시는 히어로 스크립트가
   단다(public-site.js 가 지면 밝기를 읽어 .home-hero[data-ground]). 카드 묶음이 isolation 이라 빛은 지면이 아니라
   층끼리만 더해진다 — Mist 프리미티브와 같은 조건이다.
   흐림(바깥 상자)과 띠(안쪽 <i> 의 마스크)는 두 겹으로 나눈다. 한 요소에 filter 와 mask 를 함께 걸면 마스크가 흐림 뒤에
   적용되어 번진 빛을 도로 잘라내고, 그 잘린 자리가 둥근 사각형 테두리로 보인다(예전 이 카드가 그랬다). */
.home-demo[b-m9jr7wdx37] {
    --home-demo-white: 0%;
}

.home-hero[data-ground="dark"] .home-demo[b-m9jr7wdx37] {
    --home-demo-white: 30%;
}

.home-demo__tail[b-m9jr7wdx37],
.home-demo__glint[b-m9jr7wdx37],
.home-demo__core[b-m9jr7wdx37],
.home-demo__ring[b-m9jr7wdx37] {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--clc-mist-duration-material) var(--clc-mist-ease);
}

.home-demo__tail[b-m9jr7wdx37] {
    inset: -24px;
    z-index: 0;
    filter: blur(34px) saturate(1.5);
}

.home-demo__glint[b-m9jr7wdx37] {
    inset: -10px;
    z-index: 0;
    filter: blur(9px) saturate(1.5);
}

.home-demo__core[b-m9jr7wdx37] {
    inset: -3px;
    z-index: 0;
    filter: blur(3px) saturate(1.5);
}

.home-hero[data-ground="dark"] .home-demo__tail[b-m9jr7wdx37],
.home-hero[data-ground="dark"] .home-demo__glint[b-m9jr7wdx37],
.home-hero[data-ground="dark"] .home-demo__core[b-m9jr7wdx37] {
    mix-blend-mode: plus-lighter;
}

/* 회전은 각도를 그리는 요소 자신이 돈다(--home-spin 은 상속하지 않는다). 커스텀 속성 회전은 페인트형이라
   스텝으로 끊어 무효화를 초당 24회로 줄인다 — 흐린 빛에서는 3° 스텝이 연속과 구분되지 않는다. */
.home-demo__tail i[b-m9jr7wdx37],
.home-demo__glint i[b-m9jr7wdx37],
.home-demo__core i[b-m9jr7wdx37],
.home-demo__ring[b-m9jr7wdx37] {
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    animation: home-spin-b-m9jr7wdx37 5s steps(120) infinite;
}

/* 띠는 바깥 상자 끝에서 카드 안 1~2px 까지다. 안쪽은 카드가 덮으므로 빛은 밖으로만 보인다. */
.home-demo__tail i[b-m9jr7wdx37],
.home-demo__glint i[b-m9jr7wdx37],
.home-demo__core i[b-m9jr7wdx37] {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
}

.home-demo__tail i[b-m9jr7wdx37] {
    border-radius: calc(var(--clc-mist-radius-surface) + 24px);
    padding: 26px;
    background: conic-gradient(from var(--home-spin), var(--clv-prism-1), var(--clv-prism-2), var(--clv-prism-3), var(--clv-prism-4), var(--clv-prism-1));
}

.home-demo__glint i[b-m9jr7wdx37] {
    border-radius: calc(var(--clc-mist-radius-surface) + 10px);
    padding: 12px;
    background:
        conic-gradient(from calc(var(--home-spin) * 0.42), transparent 0deg, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-3)) 30deg, transparent 78deg, transparent 186deg, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-2)) 212deg, transparent 250deg, transparent 360deg),
        conic-gradient(from calc(var(--home-spin) * 1.9), transparent 0deg, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-1)) 16deg, transparent 44deg, transparent 138deg, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-4)) 162deg, transparent 196deg, transparent 360deg);
}

/* 심지는 링이 가장 옅은 두 호(84°·266°)에서만 달아오른다. 빛이 센 곳에서는 윤곽선이 빛에 묻힌다. */
.home-demo__core i[b-m9jr7wdx37] {
    border-radius: calc(var(--clc-mist-radius-surface) + 3px);
    padding: 4px;
    background: conic-gradient(from var(--home-spin),
        color-mix(in srgb, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-1)) 28%, transparent) 0deg,
        color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-2)) 84deg,
        color-mix(in srgb, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-3)) 28%, transparent) 172deg,
        color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-4)) 266deg,
        color-mix(in srgb, color-mix(in srgb, #fff var(--home-demo-white), var(--clv-prism-1)) 28%, transparent) 360deg);
}

/* 링은 두 군데서 끊는다. 빛이 센 자리에서는 윤곽선이 날아가야 테두리가 아니라 빛으로 읽힌다(Mist 프리즘 링과 같은 식). */
.home-demo__ring[b-m9jr7wdx37] {
    inset: 0;
    z-index: 2;
    padding: 1.5px;
    border-radius: var(--clc-mist-radius-surface);
    background: conic-gradient(from var(--home-spin), var(--clv-prism-1) 0deg, color-mix(in srgb, var(--clv-prism-2) 15%, transparent) 84deg, var(--clv-prism-3) 172deg, color-mix(in srgb, var(--clv-prism-4) 15%, transparent) 266deg, var(--clv-prism-1) 360deg);
}

/* 응답이 흐르는 동안만 켠다. 끝나면 끄는 것이 Mist 프리즘의 규칙이다. */
.home-demo:has(.home-demo__live.is-streaming) .home-demo__tail[b-m9jr7wdx37] {
    opacity: .4;
}

.home-demo:has(.home-demo__live.is-streaming) .home-demo__glint[b-m9jr7wdx37] {
    opacity: .52;
}

.home-demo:has(.home-demo__live.is-streaming) .home-demo__core[b-m9jr7wdx37] {
    opacity: .9;
}

.home-demo:has(.home-demo__live.is-streaming) .home-demo__ring[b-m9jr7wdx37] {
    opacity: .9;
}

.home-demo__card[b-m9jr7wdx37] {
    position: relative;
    z-index: 1;
    min-height: 296px;
    padding: 18px 20px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-2);
}

.home-demo__live[b-m9jr7wdx37],
.home-demo__static[b-m9jr7wdx37] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

/* 스크립트가 장면을 만들기 전에는 Blazor가 그린 완성된 첫 장면을 보이고, 만든 뒤에는 그것을 감춘다. */
.home-demo__live:empty[b-m9jr7wdx37] {
    display: none;
}

.home-demo__live:not(:empty) + .home-demo__static[b-m9jr7wdx37] {
    display: none;
}

/* 아래 요소는 스크립트도 만들므로 범위 특성이 붙지 않는다. 카드에서 ::deep 으로 내려가 두 경우를 같이 맞춘다. */
.home-demo__card[b-m9jr7wdx37]  .home-demo__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__endpoint {
    min-width: 0;
    overflow: hidden;
    color: var(--clv-text-secondary);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__endpoint b {
    margin-right: 4px;
    color: var(--clc-mist-ink-primary);
    font-weight: 600;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__status {
    flex: none;
    padding: 2px 10px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
    font-size: .75rem;
    font-weight: 600;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__status--done {
    background: var(--clc-mist-wash-success);
    color: var(--clc-mist-ink-success);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__message {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
    font-size: .875rem;
    line-height: 1.6;
    word-break: keep-all;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__message--answer {
    min-height: 120px;
    background: var(--clc-mist-wash-primary);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__role {
    color: var(--clv-text-secondary);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .6875rem;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__text {
    white-space: pre-wrap;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__caret {
    display: inline-block;
    width: 7px;
    height: 15px;
    margin-left: 2px;
    vertical-align: -2px;
    border-radius: 2px;
    background: var(--clc-primary);
    animation: home-caret-b-m9jr7wdx37 1s steps(1) infinite;
}

@keyframes home-caret-b-m9jr7wdx37 {
    50% { opacity: 0; }
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    color: var(--clv-text-secondary);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .6875rem;
    font-variant-numeric: tabular-nums;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__tabs {
    display: flex;
    gap: 4px;
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    padding: 3px;
    overflow-x: auto;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field);
}

/* 탭은 줄어들며 글자를 자르지 않는다. 자리가 모자라면 탭 줄을 옆으로 밀어 본다. */
.home-demo__card[b-m9jr7wdx37]  .home-demo__tab {
    position: relative;
    flex: none;
    overflow: hidden;
    padding: 6px 12px;
    border: 0;
    border-radius: var(--clc-mist-radius-pill);
    background: transparent;
    color: var(--clv-text-secondary);
    font: inherit;
    font-size: .8125rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__tab:hover {
    background: var(--clc-material-field-strong);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__tab.is-active {
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__tab:focus-visible {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

/* 다음 장면으로 넘어가기 전 쉬는 동안 밑줄이 차오른다. 넘어간다는 것을 미리 보여 준다. */
.home-demo__card[b-m9jr7wdx37]  .home-demo__tab::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 2px;
    left: 12px;
    height: 2px;
    border-radius: 2px;
    background: var(--clc-primary);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__tab.is-advancing::after {
    opacity: .75;
    transform: scaleX(1);
    transition: transform var(--home-demo-hold) linear;
}

/* 가장 긴 장면(문서 변환)에 맞춘 높이다. 장면이 바뀔 때 카드가 출렁이지 않게 한다. 잴 수 없던 폭에서 더 길어지면 스크립트가 본 최대 높이로 붙잡는다. */
.home-demo__card[b-m9jr7wdx37]  .home-demo__stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    align-content: start;
    min-height: 362px;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__file {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__file-badge {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__file-meta {
    display: grid;
    min-width: 0;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__file-meta b {
    overflow: hidden;
    font-size: .875rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__file-meta span,
.home-demo__card[b-m9jr7wdx37]  .home-demo__file-percent {
    color: var(--clv-text-secondary);
    font-size: .75rem;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__file-percent {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-variant-numeric: tabular-nums;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__progress {
    height: 6px;
    overflow: hidden;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field-strong);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__progress i {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--clv-prism-1), var(--clv-prism-2), var(--clv-prism-3));
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__markdown {
    display: grid;
    gap: 1px;
    min-height: 96px;
    padding: 10px 12px;
    overflow-x: auto;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .72rem;
    line-height: 1.55;
    white-space: pre;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__md-heading {
    color: var(--clc-mist-ink-primary);
    font-weight: 700;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__md-table {
    color: var(--clv-text-primary);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__md-line {
    color: var(--clv-text-secondary);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 22px;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__chip {
    padding: 2px 9px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .6875rem;
    animation: home-chip-in-b-m9jr7wdx37 var(--clc-mist-duration-oneshot) var(--clc-mist-ease-oneshot) both;
}

@keyframes home-chip-in-b-m9jr7wdx37 {
    from { opacity: 0; transform: translateY(3px); }
    to { opacity: 1; transform: none; }
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__wave {
    display: flex;
    align-items: center;
    gap: 3px;
    height: 84px;
    padding: 0 12px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__wave i {
    flex: 1;
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(180deg, var(--clv-prism-1), var(--clv-prism-2) 60%, var(--clv-prism-3));
    opacity: .85;
    transform: scaleY(var(--home-wave-height));
    transform-origin: center;
}

/* 음성을 만드는 동안만 막대가 출렁이고, 끝나면 만든 소리 모양에서 멈춘다. */
.home-demo__card[b-m9jr7wdx37]  .home-demo__wave.is-live i {
    animation: home-wave-b-m9jr7wdx37 .7s ease-in-out infinite alternate;
    animation-delay: var(--home-wave-delay);
}

@keyframes home-wave-b-m9jr7wdx37 {
    from { transform: scaleY(.12); }
    to { transform: scaleY(var(--home-wave-height)); }
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__audio {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--clv-text-secondary);
    font-size: .8125rem;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__audio-play {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--clc-material-field-strong);
    color: var(--clv-text-secondary);
    font-size: .6875rem;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__audio.is-ready {
    color: var(--clv-text-primary);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .75rem;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__audio.is-ready .home-demo__audio-play {
    background: var(--clc-primary);
    color: var(--clc-on-primary);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__terminal {
    display: grid;
    gap: 3px;
    align-content: start;
    min-height: 200px;
    padding: 12px 14px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field-strong);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .72rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-all;
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__terminal-line {
    color: var(--clv-text-secondary);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__terminal-line--command {
    color: var(--clv-text-primary);
}

.home-demo__card[b-m9jr7wdx37]  .home-demo__terminal-prompt {
    margin-right: 8px;
    color: var(--clc-mist-ink-primary);
    font-weight: 700;
}

/* ── 바로 가기와 개발자 예제 ── */
.home__content[b-m9jr7wdx37] {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 64px;
    box-sizing: border-box;
    width: min(100%, 1080px);
    margin: -40px auto 0;
    padding: 0 var(--policy-page-inline-padding);
}

.home__paths[b-m9jr7wdx37] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.home__path[b-m9jr7wdx37] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper);
    box-shadow: var(--clc-material-elevation-0);
    transition: box-shadow var(--clc-mist-duration-state) var(--clc-mist-ease), transform var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.home__path:hover[b-m9jr7wdx37] {
    box-shadow: var(--clc-material-elevation-1);
    transform: translateY(-2px);
}

/* 방문자 기기에 바로 맞는 설치 경로가 있으면 카드를 한 단 띄워 강조한다. 선이나 링은 쓰지 않는다. */
.home__path--recommended[b-m9jr7wdx37] {
    background: var(--clc-material-paper-raised);
    box-shadow: var(--clc-material-elevation-1);
}

.home__path-head[b-m9jr7wdx37] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.home__path-icon[b-m9jr7wdx37] {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
}

.home__path-icon[b-m9jr7wdx37]  .clci {
    font-size: 22px;
}

.home__chip[b-m9jr7wdx37] {
    padding: 2px 10px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.home__path h2[b-m9jr7wdx37] {
    font-size: 1.125rem;
    letter-spacing: -.02em;
}

.home__path > p[b-m9jr7wdx37] {
    flex: 1;
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: .9375rem;
    line-height: 1.65;
}

.home__path-actions[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
}

.home__button[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: var(--clc-mist-radius-pill);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: box-shadow var(--clc-mist-duration-state) var(--clc-mist-ease), transform var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.home__button--large[b-m9jr7wdx37] {
    min-height: 52px;
    padding: 12px 24px;
    font-size: 1rem;
}

.home__button svg[b-m9jr7wdx37] {
    width: 18px;
    height: 18px;
}

.home__button--primary[b-m9jr7wdx37] {
    background: var(--clc-primary);
    color: var(--clc-on-primary);
    box-shadow: var(--clc-material-elevation-0);
}

.home__button--raised[b-m9jr7wdx37] {
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
}

.home__button:hover[b-m9jr7wdx37] {
    box-shadow: var(--clc-material-elevation-1);
    transform: translateY(-1px);
}

.home__button:active[b-m9jr7wdx37] {
    box-shadow: var(--clc-material-elevation-0);
    transform: scale(.985);
}

.home__link[b-m9jr7wdx37] {
    padding-block: 6px;
    border-radius: var(--clc-mist-radius-chip);
    color: var(--clv-text-secondary);
    font-size: .9375rem;
    font-weight: 600;
    text-decoration: none;
}

.home__link:hover[b-m9jr7wdx37] {
    color: var(--clv-text-primary);
}

.home__meta[b-m9jr7wdx37] {
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: .8125rem;
    font-variant-numeric: tabular-nums;
}

.home__developer[b-m9jr7wdx37] {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 40px;
    align-items: start;
}

.home__developer-copy[b-m9jr7wdx37] {
    display: grid;
    gap: 16px;
}

.home__eyebrow[b-m9jr7wdx37] {
    margin: 0;
    color: var(--clc-mist-ink-primary);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.home__developer h2[b-m9jr7wdx37] {
    font-size: clamp(1.375rem, 2.6vw, 1.75rem);
    line-height: 1.35;
    letter-spacing: -.03em;
}

.home__checks[b-m9jr7wdx37] {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .9375rem;
    line-height: 1.65;
    word-break: keep-all;
}

.home__checks li[b-m9jr7wdx37] {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 8px;
}

.home__checks li[b-m9jr7wdx37]::before {
    content: "✓";
    color: var(--clc-mist-ink-primary);
    font-weight: 700;
}

.home__endpoints[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.home__endpoints span[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 6px 12px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field);
    font-size: .8125rem;
}

.home__endpoints b[b-m9jr7wdx37] {
    color: var(--clv-text-secondary);
    font-weight: 600;
}

.home__code[b-m9jr7wdx37] {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 16px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper);
    box-shadow: var(--clc-material-elevation-0);
}

.home__code-head[b-m9jr7wdx37] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.home__code-tabs[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 3px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-field);
}

.home__code-tab[b-m9jr7wdx37],
.home__code-copy[b-m9jr7wdx37] {
    min-height: 32px;
    padding: 4px 12px;
    border: 0;
    border-radius: var(--clc-mist-radius-pill);
    background: transparent;
    color: var(--clv-text-secondary);
    font: inherit;
    font-size: .8125rem;
    cursor: pointer;
}

.home__code-tab:hover[b-m9jr7wdx37],
.home__code-copy:hover[b-m9jr7wdx37] {
    background: var(--clc-material-field-strong);
}

.home__code-tab[aria-selected="true"][b-m9jr7wdx37] {
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
}

.home__code-body[b-m9jr7wdx37] {
    margin: 0;
    padding: 14px 16px;
    overflow-x: auto;
    border-radius: var(--clc-mist-radius-field);
    background: var(--clc-material-field);
    color: var(--clv-text-primary);
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .8125rem;
    line-height: 1.7;
    white-space: pre;
}

.home__code-hint[b-m9jr7wdx37] {
    margin: 0;
    color: var(--clv-text-secondary);
    font-size: .8125rem;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .home-hero[b-m9jr7wdx37] {
        padding-top: 112px;
        padding-bottom: 88px;
    }

    .home-hero__inner[b-m9jr7wdx37],
    .home__paths[b-m9jr7wdx37],
    .home__developer[b-m9jr7wdx37] {
        grid-template-columns: minmax(0, 1fr);
    }

    /* 한 줄로 쌓이면 글자 뒤로도 선이 지나가므로 신경망 전체를 옅게 둔다. */
    .home-hero__neural[b-m9jr7wdx37] {
        -webkit-mask-image: none;
        mask-image: none;
        opacity: .35;
    }

    .home__developer[b-m9jr7wdx37] {
        gap: 24px;
    }
}

@media (max-width: 560px) {
    .home-hero[b-m9jr7wdx37] {
        padding-top: 100px;
    }

    .home__content[b-m9jr7wdx37] {
        gap: 48px;
    }

    .home__path[b-m9jr7wdx37] {
        padding: 20px;
    }

    .home-hero__actions .home__button[b-m9jr7wdx37],
    .home__path-actions .home__button[b-m9jr7wdx37],
    .home__path-actions[b-m9jr7wdx37]  .browser-app-link {
        width: 100%;
    }

    .home__path-actions[b-m9jr7wdx37]  .browser-app-link {
        justify-content: center;
    }

    /* 360px 폰에서도 탭 네 개와 카드 머리의 경로가 잘리지 않고 한 줄에 다 보이게 여백과 글자를 한 단계 줄인다. */
    .home-demo__card[b-m9jr7wdx37]  .home-demo__tab {
        padding-inline: 8px;
        font-size: .75rem;
    }

    .home-demo__card[b-m9jr7wdx37]  .home-demo__tab::after {
        right: 8px;
        left: 8px;
    }

    .home-demo__card[b-m9jr7wdx37]  .home-demo__endpoint,
    .home-demo__card[b-m9jr7wdx37]  .home-demo__status {
        font-size: .6875rem;
    }

    .home-demo__card[b-m9jr7wdx37]  .home-demo__status {
        padding-inline: 8px;
    }
}

/* 360px 폰에서는 문서 변환 장면의 칩과 꼬리말이 접혀 가장 길어진다. 첫 바퀴에 카드가 늘며 아래 내용이 밀리지 않게 그 높이를 미리 잡는다. */
@media (max-width: 374px) {
    .home-demo__card[b-m9jr7wdx37]  .home-demo__stage {
        min-height: 418px;
    }
}
/* /Pages/Invitation/AppInvitation.razor.rz.scp.css */
/* 초대 안내는 캔버스 위의 종이 표면으로 배치하고 포커스와 깊이는 Mist 토큰에 맡긴다. */
.app-invitation[b-szi1hxhnmh] {
    box-sizing: border-box;
    width: min(100%, 760px);
    margin-inline: auto;
    padding: 132px 28px 56px;
    color: var(--clv-text-primary, var(--clc-text-color));
}

.app-invitation__welcome[b-szi1hxhnmh] { text-align: center; margin-bottom: 36px; }
.app-invitation__symbol[b-szi1hxhnmh] { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: var(--clc-mist-radius-surface); background: var(--clc-mist-wash-primary); color: var(--clv-button-primary); }
.app-invitation__symbol[b-szi1hxhnmh]  .clci { font-size: 32px; }
.app-invitation__eyebrow[b-szi1hxhnmh] { color: var(--clv-text-secondary); margin: 24px 0 12px; font-size: .875rem; font-weight: 600; }
.app-invitation h1[b-szi1hxhnmh] { margin: 0; font-size: clamp(1.75rem, 5vw, 2.5rem); line-height: 1.3; letter-spacing: -.035em; }
.app-invitation__lead[b-szi1hxhnmh] { margin: 20px 0 28px; color: var(--clv-text-secondary); line-height: 1.8; }
.app-invitation__actions[b-szi1hxhnmh] { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.app-invitation__action[b-szi1hxhnmh] { display: inline-flex; justify-content: center; align-items: center; gap: 6px; box-sizing: border-box; min-height: 48px; padding: 12px 20px; border: 0; border-radius: var(--clc-mist-radius-field); background: var(--clc-material-paper-raised); color: var(--clv-text-primary); box-shadow: var(--clc-material-elevation-0); font-weight: 600; line-height: 1.5; text-decoration: none; transition: box-shadow 150ms ease, transform 150ms ease, background 150ms ease; }
.app-invitation__action--primary[b-szi1hxhnmh] { background: var(--clc-primary); color: var(--clc-on-primary); }
.app-invitation__action:hover[b-szi1hxhnmh] { box-shadow: var(--clc-material-elevation-1); transform: translateY(-1px); }
.app-invitation__action:active[b-szi1hxhnmh] { box-shadow: var(--clc-material-elevation-0); transform: scale(.985); }
.app-invitation a:focus-visible[b-szi1hxhnmh] { outline: none; box-shadow: var(--clc-mist-focus-shadow); }
.app-invitation__browser[b-szi1hxhnmh] { display: inline-block; margin-top: 20px; padding: 10px 12px; color: var(--clv-text-primary); text-underline-offset: 4px; border-radius: var(--clc-mist-radius-field); }
.app-invitation__card[b-szi1hxhnmh] { margin-top: 20px; padding: 28px; border-radius: var(--clc-mist-radius-surface); background: var(--clv-card-surface, var(--clc-material-paper)); box-shadow: var(--clv-card-shadow, var(--clc-material-elevation-0)); }
.app-invitation h2[b-szi1hxhnmh] { margin: 0 0 22px; font-size: 1.125rem; line-height: 1.5; letter-spacing: -.02em; }
.app-invitation__steps[b-szi1hxhnmh] { display: grid; gap: 22px; margin: 0; padding-left: 24px; }
.app-invitation__steps li[b-szi1hxhnmh] { padding-left: 6px; line-height: 1.6; }
.app-invitation__steps li[b-szi1hxhnmh]::marker { color: var(--clv-text-secondary); font-weight: 600; }
.app-invitation__steps strong[b-szi1hxhnmh], .app-invitation__steps span[b-szi1hxhnmh] { display: block; }
.app-invitation__steps span[b-szi1hxhnmh] { margin-top: 4px; font-size: .9375rem; color: var(--clv-text-secondary); }
.app-invitation__note[b-szi1hxhnmh], .app-invitation__status p[b-szi1hxhnmh] { color: var(--clv-text-secondary); font-size: .9375rem; line-height: 1.7; margin: 18px 0 0; }
.app-invitation__status[b-szi1hxhnmh]  .clc-button { margin-top: 12px; }
.app-invitation__external[b-szi1hxhnmh] { font-size: .8125rem; font-weight: 400; }
.app-invitation__privacy[b-szi1hxhnmh] { margin: 28px 0 0; text-align: center; font-size: .8125rem; color: var(--clv-text-secondary); line-height: 1.8; }
.app-invitation__privacy a[b-szi1hxhnmh] { color: inherit; padding-block: 8px; text-underline-offset: 3px; }

@media (max-width: 520px) {
    .app-invitation[b-szi1hxhnmh] { padding: 116px 18px 36px; }
    .app-invitation__card[b-szi1hxhnmh] { padding: 24px 20px; }
    .app-invitation__action[b-szi1hxhnmh] { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .app-invitation__action[b-szi1hxhnmh] { transition: none; }
}
/* /Pages/Payment/PaymentCenter.razor.rz.scp.css */
.billing-center[b-2xorg99kaq] {
    --brand: var(--clc-primary);
    --brand-dark: var(--clc-primary);
    --brand-soft: color-mix(in srgb, var(--clc-primary) 12%, transparent);
    --ink: var(--clv-text-primary, var(--clc-text-color));
    --muted: var(--clv-text-secondary, var(--clc-text-color));
    --line: var(--clc-material-hairline);
    --line-strong: var(--clc-material-hairline-strong);
    --surface: var(--clc-material-paper);
    --surface-soft: var(--clc-material-field);
    --success: var(--clc-mist-ink-success, var(--clc-success-dark));
    --success-soft: color-mix(in srgb, var(--clc-success) 12%, transparent);
    --warning: var(--clc-mist-ink-warning, var(--clc-warning-dark));
    --warning-soft: color-mix(in srgb, var(--clc-warning) 12%, transparent);
    --danger: var(--clc-mist-ink-danger, var(--clc-danger-dark));
    --danger-soft: color-mix(in srgb, var(--clc-danger) 12%, transparent);
    --info: var(--clc-mist-ink-info, var(--clc-info-dark));
    --info-soft: color-mix(in srgb, var(--clc-info) 12%, transparent);
    min-height: 100%;
    background: transparent;
    color: var(--ink);
    font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: -.012em;
}

.billing-center[b-2xorg99kaq]  *, .billing-center[b-2xorg99kaq]  *::before, .billing-center[b-2xorg99kaq]  *::after { box-sizing: border-box; }
.billing-center[b-2xorg99kaq]  a { color: inherit; text-decoration: none; }
.billing-center[b-2xorg99kaq]  button, .billing-center[b-2xorg99kaq]  input, .billing-center[b-2xorg99kaq]  textarea, .billing-center[b-2xorg99kaq]  select { font: inherit; }
.billing-center[b-2xorg99kaq]  button, .billing-center[b-2xorg99kaq]  a { -webkit-tap-highlight-color: transparent; }

/* 기본 컨트롤과 키보드 상태를 결제 영역의 테마에 맞춘다. */
.billing-center[b-2xorg99kaq]  button, .billing-center[b-2xorg99kaq]  input, .billing-center[b-2xorg99kaq]  textarea, .billing-center[b-2xorg99kaq]  select { color: var(--ink); }
.billing-center[b-2xorg99kaq]  input, .billing-center[b-2xorg99kaq]  textarea, .billing-center[b-2xorg99kaq]  select { accent-color: var(--brand); }
.billing-center[b-2xorg99kaq]  input::placeholder, .billing-center[b-2xorg99kaq]  textarea::placeholder { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .date-range input, .billing-center[b-2xorg99kaq]  .textarea-field textarea { background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .date-range input:hover, .billing-center[b-2xorg99kaq]  .textarea-field textarea:hover { background: var(--clc-material-field-strong); }
.billing-center[b-2xorg99kaq]  .date-range input:focus, .billing-center[b-2xorg99kaq]  .textarea-field textarea:focus { background: color-mix(in srgb, var(--brand) 9%, var(--clc-material-field-strong)); box-shadow: var(--clv-field-focus-shadow); }
.billing-center[b-2xorg99kaq]  .product-tabs button:hover, .billing-center[b-2xorg99kaq]  .filter-chips button:hover, .billing-center[b-2xorg99kaq]  .mini-filters button:hover, .billing-center[b-2xorg99kaq]  .status-selector button:hover, .billing-center[b-2xorg99kaq]  .reason-option:hover { box-shadow: var(--clc-material-elevation-1); }
.billing-center[b-2xorg99kaq]  .responsive-table, .billing-center[b-2xorg99kaq]  .confirmation-modal { scrollbar-width: thin; scrollbar-color: var(--muted) transparent; }

.skip-link[b-2xorg99kaq] { position: fixed; z-index: 5000; top: 8px; left: 8px; padding: 10px 16px; background: var(--ink); color: var(--clc-body-background-color) !important; border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus[b-2xorg99kaq] { transform: translateY(0); }

.nav-inner[b-2xorg99kaq], .footer-inner[b-2xorg99kaq] { width: min(var(--payment-content-max-width, 960px), calc(100% - 2 * var(--payment-page-inline-padding, 28px))); margin: 0 auto; }

.billing-nav[b-2xorg99kaq] { position: relative; z-index: 5; background: transparent; border: none; }
.nav-inner[b-2xorg99kaq] { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.nav-inner[b-2xorg99kaq]::-webkit-scrollbar { display: none; }
.nav-inner a[b-2xorg99kaq] { min-height: 52px; padding: 0 18px; display: inline-flex; align-items: center; gap: 8px; color: var(--muted); white-space: nowrap; font-weight: 600; background: transparent; border-radius: var(--clc-mist-radius-chip, 8px); }
.nav-inner a span[b-2xorg99kaq] { width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border: none; border-radius: 6px; font-size: 11px; box-shadow: var(--clc-material-elevation-0); background: var(--surface); }
.nav-inner a:hover[b-2xorg99kaq] { color: var(--ink); background: var(--surface-soft); box-shadow: var(--clc-material-elevation-1); }
.nav-inner a.active[b-2xorg99kaq] { color: var(--brand-dark); background: var(--brand-soft); font-weight: 750; }
.nav-inner a.active span[b-2xorg99kaq] { color: var(--brand); background: var(--surface); }

.billing-center main[b-2xorg99kaq] { min-height: 680px; }
.billing-center--test[b-2xorg99kaq] { --payment-content-max-width: 1280px; }
.billing-center[b-2xorg99kaq]  .page-shell { width: min(var(--payment-content-max-width, 960px), calc(100% - 2 * var(--payment-page-inline-padding, 28px))); margin: 0 auto; padding: 52px 0 72px; }
.billing-center[b-2xorg99kaq]  h1, .billing-center[b-2xorg99kaq]  h2, .billing-center[b-2xorg99kaq]  h3, .billing-center[b-2xorg99kaq]  p { margin-top: 0; }
.billing-center[b-2xorg99kaq]  h1 { margin-bottom: 12px; font-size: clamp(28px, 3vw, 38px); line-height: 1.24; letter-spacing: -.035em; }
.billing-center[b-2xorg99kaq]  h2 { margin-bottom: 8px; font-size: 19px; line-height: 1.35; }
.billing-center[b-2xorg99kaq]  h3 { margin-bottom: 6px; font-size: 15px; }
.billing-center[b-2xorg99kaq]  .eyebrow { display: block; margin-bottom: 10px; color: var(--brand); font-size: 11px; line-height: 1; font-weight: 800; letter-spacing: .14em; }
.billing-center[b-2xorg99kaq]  .page-heading { margin-bottom: 30px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.billing-center[b-2xorg99kaq]  .page-heading.compact { margin-bottom: 24px; }
.billing-center[b-2xorg99kaq]  .page-heading p { margin-bottom: 3px; color: var(--muted); font-size: 15px; }
.billing-center[b-2xorg99kaq]  .trust-chip, .billing-center[b-2xorg99kaq]  .policy-version { padding: 9px 12px; display: inline-flex; align-items: center; gap: 7px; color: var(--muted); border: none; border-radius: 999px; background: var(--surface); white-space: nowrap; font-size: 12px; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .trust-chip span { color: var(--success); }
.billing-center[b-2xorg99kaq]  .heading-action { flex: 0 0 auto; }
.billing-center[b-2xorg99kaq]  .breadcrumb { margin-bottom: 22px; display: flex; gap: 8px; color: var(--muted); font-size: 13px; }
.billing-center[b-2xorg99kaq]  .breadcrumb a { color: var(--brand-dark); }

.billing-center[b-2xorg99kaq]  .primary-button, .billing-center[b-2xorg99kaq]  .secondary-button, .billing-center[b-2xorg99kaq]  .danger-outline-button {
    min-height: 48px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: none; border-radius: 10px; font-weight: 750; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}
.billing-center[b-2xorg99kaq]  .primary-button { color: var(--clc-on-primary); background: var(--brand); box-shadow: var(--clv-card-shadow); }
.billing-center[b-2xorg99kaq]  .primary-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: var(--clv-card-shadow-hover); }
.billing-center[b-2xorg99kaq]  .primary-button:disabled { color: var(--clv-text-tertiary); background: var(--surface-soft); cursor: not-allowed; }
.billing-center[b-2xorg99kaq]  .secondary-button { color: var(--ink); background: var(--surface); box-shadow: var(--clv-card-shadow); }
.billing-center[b-2xorg99kaq]  .secondary-button:hover { transform: translateY(-1px); box-shadow: var(--clv-card-shadow-hover); }
.billing-center[b-2xorg99kaq]  .danger-outline-button { color: var(--danger); background: var(--danger-soft); box-shadow: var(--clv-card-shadow); }
.billing-center[b-2xorg99kaq]  .danger-outline-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: var(--clv-card-shadow-hover); }
.billing-center[b-2xorg99kaq]  .danger-outline-button:disabled { color: var(--clv-text-tertiary); background: var(--surface-soft); cursor: not-allowed; }
.billing-center[b-2xorg99kaq]  .full { width: 100%; }
.billing-center[b-2xorg99kaq]  .text-link, .billing-center[b-2xorg99kaq]  .text-button { color: var(--brand-dark); font-weight: 700; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 3px; }
.billing-center[b-2xorg99kaq]  .text-button { padding: 6px; border: 0; background: transparent; cursor: pointer; }
.billing-center[b-2xorg99kaq]  .text-link.center { display: block; margin-top: 14px; text-align: center; }
.billing-center[b-2xorg99kaq]  button:focus-visible, .billing-center[b-2xorg99kaq]  a:focus-visible, .billing-center[b-2xorg99kaq]  input:focus-visible, .billing-center[b-2xorg99kaq]  textarea:focus-visible, .billing-center[b-2xorg99kaq]  select:focus-visible, .nav-inner a:focus-visible[b-2xorg99kaq] { outline: 2px solid var(--brand); outline-offset: 3px; box-shadow: var(--clv-field-focus-shadow); }

.billing-center[b-2xorg99kaq]  .primary-button:active:not(:disabled), .billing-center[b-2xorg99kaq]  .secondary-button:active:not(:disabled), .billing-center[b-2xorg99kaq]  .danger-outline-button:active:not(:disabled) { transform: none; box-shadow: var(--clc-material-elevation-0); }

/* Checkout */
.billing-center[b-2xorg99kaq]  .checkout-grid { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(340px, 1fr); gap: 28px; align-items: start; }
.billing-center[b-2xorg99kaq]  .product-tabs { margin-bottom: 24px; padding: 5px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; border: none; border-radius: 14px; background: var(--surface-soft); box-shadow: inset 0 1px 0 var(--clc-material-specular); }
.billing-center[b-2xorg99kaq]  .product-tabs button { position: relative; min-height: 66px; padding: 10px 44px 10px 14px; display: flex; align-items: center; gap: 12px; color: var(--muted); text-align: left; border: none; border-radius: 10px; background: transparent; cursor: pointer; }
.billing-center[b-2xorg99kaq]  .product-tabs button.active { color: var(--brand-dark); background: var(--brand-soft); font-weight: 700; }
.billing-center[b-2xorg99kaq]  .tab-mark { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; color: var(--muted); border: none; border-radius: 9px; background: var(--surface); font-size: 16px; }
.billing-center[b-2xorg99kaq]  .product-tabs button.active .tab-mark { color: var(--brand); background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .product-tabs button > span:nth-child(2) { display: flex; flex-direction: column; }
.billing-center[b-2xorg99kaq]  .product-tabs strong { font-size: 15px; }
.billing-center[b-2xorg99kaq]  .product-tabs small { margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 500; }
.billing-center[b-2xorg99kaq]  .selected-dot { position: absolute; right: 14px; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; color: var(--clc-on-primary); border-radius: 50%; background: var(--brand); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .section-block { padding: 24px; border: none; border-radius: 16px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .section-title-row { margin-bottom: 20px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.billing-center[b-2xorg99kaq]  .section-title-row p { margin: 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .type-badge, .billing-center[b-2xorg99kaq]  .status-badge, .billing-center[b-2xorg99kaq]  .ledger-type { min-height: 24px; padding: 3px 9px; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.billing-center[b-2xorg99kaq]  .type-badge.recurring { color: var(--brand); border: none; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .type-badge.one-time { color: var(--info); border: none; background: var(--info-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.billing-center[b-2xorg99kaq]  .credit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.billing-center[b-2xorg99kaq]  .product-card { position: relative; min-height: 205px; padding: 18px; display: flex; flex-direction: column; align-items: flex-start; border: none; border-radius: 13px; background: var(--surface); cursor: pointer; transition: box-shadow .16s ease, background .16s ease; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .product-card:hover { background: var(--surface-soft); box-shadow: var(--clc-material-elevation-1); }
.billing-center[b-2xorg99kaq]  .product-card.selected { border: none; padding: 18px; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .product-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.billing-center[b-2xorg99kaq]  .product-card:focus-within { outline: 3px solid var(--brand); outline-offset: 2px; }
.billing-center[b-2xorg99kaq]  .card-check { position: absolute; top: 16px; right: 16px; width: 23px; height: 23px; display: inline-flex; align-items: center; justify-content: center; color: var(--muted); border: none; border-radius: 50%; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .product-card.selected .card-check { background: var(--brand); color: var(--clc-on-primary); }
.billing-center[b-2xorg99kaq]  .product-card .type-badge { margin-bottom: 18px; }
.billing-center[b-2xorg99kaq]  .product-name { margin-right: 34px; margin-bottom: 4px; font-size: 18px; }
.billing-center[b-2xorg99kaq]  .product-price { margin-bottom: 8px; color: var(--ink); font-size: 22px; line-height: 1.25; letter-spacing: -.035em; }
.billing-center[b-2xorg99kaq]  .product-price small { font-size: 12px; font-weight: 600; }
.billing-center[b-2xorg99kaq]  .product-description { color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .product-card .text-link { margin-top: auto; padding-top: 14px; font-size: 12px; }
.billing-center[b-2xorg99kaq]  .credit-card { min-height: 190px; }
.billing-center[b-2xorg99kaq]  .credit-amount { margin-right: 34px; margin-bottom: 7px; color: var(--ink); font-weight: 700; }
.billing-center[b-2xorg99kaq]  .no-renew { margin-bottom: 12px; color: var(--success); font-size: 12px; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .notice-panel, .billing-center[b-2xorg99kaq]  .inline-alert { margin-top: 18px; padding: 16px; display: flex; gap: 12px; border: none; border-radius: 12px; background: var(--surface-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .notice-panel.info, .billing-center[b-2xorg99kaq]  .inline-alert.info { background: var(--info-soft); }
.billing-center[b-2xorg99kaq]  .inline-alert.warning, .billing-center[b-2xorg99kaq]  .notice-panel.warning { background: var(--warning-soft); }
.billing-center[b-2xorg99kaq]  .inline-alert.danger { background: var(--danger-soft); }
.billing-center[b-2xorg99kaq]  .notice-icon, .billing-center[b-2xorg99kaq]  .inline-alert > span { width: 22px; height: 22px; flex: 0 0 22px; display: inline-flex; align-items: center; justify-content: center; color: var(--info); border: none; border-radius: 50%; font-size: 12px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .inline-alert.warning > span { color: var(--warning); }
.billing-center[b-2xorg99kaq]  .inline-alert p, .billing-center[b-2xorg99kaq]  .notice-panel p { margin: 3px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .notice-panel ul { margin: 7px 0 0; padding-left: 18px; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .notice-panel li + li { margin-top: 4px; }
.billing-center[b-2xorg99kaq]  .notice-panel a, .billing-center[b-2xorg99kaq]  .inline-alert a { color: var(--brand-dark); text-decoration: underline; text-underline-offset: 2px; }
.billing-center[b-2xorg99kaq]  .policy-placeholder { margin-top: 10px !important; padding-top: 10px; border-top: 1px solid var(--line); font-weight: 700; }

.billing-center[b-2xorg99kaq]  .order-column { position: sticky; top: 18px; }
.billing-center[b-2xorg99kaq]  .order-panel { padding: 22px; border: none; border-radius: 16px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .panel-heading, .billing-center[b-2xorg99kaq]  .card-heading, .billing-center[b-2xorg99kaq]  .table-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.billing-center[b-2xorg99kaq]  .step-label { display: block; margin-bottom: 5px; color: var(--brand); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.billing-center[b-2xorg99kaq]  .secure-label { color: var(--success); font-size: 11px; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .secure-label span { font-size: 7px; }
.billing-center[b-2xorg99kaq]  .empty-order { min-height: 170px; padding: 28px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: none; border-radius: 12px; background: var(--surface-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .empty-order > span { margin-bottom: 10px; color: var(--muted); font-size: 24px; }
.billing-center[b-2xorg99kaq]  .empty-order p { max-width: 250px; margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .summary-list { margin: 14px 0; }
.billing-center[b-2xorg99kaq]  .summary-list > div { min-height: 34px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.billing-center[b-2xorg99kaq]  .summary-list dt { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .summary-list dd { margin: 0; text-align: right; font-weight: 650; }
.billing-center[b-2xorg99kaq]  .summary-cycle { padding: 2px 7px; color: var(--brand-dark); border-radius: 5px; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .total-row { margin: 14px 0; padding: 17px 0; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .total-row strong { font-size: 24px; letter-spacing: -.04em; }
.billing-center[b-2xorg99kaq]  .total-row small { display: block; color: var(--muted); font-weight: 500; }
.billing-center[b-2xorg99kaq]  .cycle-callout { padding: 11px 12px; display: flex; gap: 8px; border-radius: 9px; font-size: 12px; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .cycle-callout.recurring { color: var(--brand); background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .cycle-callout.one-time { color: var(--success); background: var(--success-soft); }
.billing-center[b-2xorg99kaq]  .payment-method-section, .billing-center[b-2xorg99kaq]  .billing-registration, .billing-center[b-2xorg99kaq]  .agreement-section { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .subsection-heading h3 { margin-bottom: 2px; font-size: 16px; }
.billing-center[b-2xorg99kaq]  .subsection-heading p { margin-bottom: 10px; color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .toss-mount { min-height: 148px; padding: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: none; border-radius: 11px; background: var(--surface-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .mount-icon { width: 28px; height: 28px; margin-bottom: 8px; display: inline-flex; align-items: center; justify-content: center; color: var(--muted); border: none; border-radius: 8px; }
.billing-center[b-2xorg99kaq]  .toss-mount strong { font-size: 12px; }
.billing-center[b-2xorg99kaq]  .toss-mount small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.billing-center[b-2xorg99kaq]  .toss-mount code, .billing-center[b-2xorg99kaq]  .agreement-mount code { margin-top: 8px; padding: 3px 6px; color: var(--muted); border-radius: 4px; background: var(--surface-soft); font-size: 9px; }
.billing-center[b-2xorg99kaq]  .billing-registration { text-align: center; }
.billing-center[b-2xorg99kaq]  .registration-icon { width: 38px; height: 38px; margin: 8px auto; display: flex; align-items: center; justify-content: center; color: var(--brand); border: none; border-radius: 10px; background: var(--brand-soft); font-size: 18px; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .billing-registration p { color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .registration-flow { margin: 13px 0; display: flex; align-items: center; justify-content: center; gap: 6px; }
.billing-center[b-2xorg99kaq]  .registration-flow span { padding: 6px; border: none; border-radius: 7px; background: var(--surface-soft); font-size: 9px; font-weight: 700; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .registration-flow i { color: var(--muted); font-style: normal; }
.billing-center[b-2xorg99kaq]  .billing-registration > small { color: var(--muted); font-size: 10px; }
.billing-center[b-2xorg99kaq]  .agreement-mount { margin-bottom: 10px; padding: 10px; display: flex; align-items: center; justify-content: space-between; border: none; border-radius: 9px; background: var(--surface-soft); font-size: 11px; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .check-row { position: relative; min-height: 42px; padding: 7px 0; display: flex; align-items: flex-start; gap: 9px; color: var(--ink); cursor: pointer; }
.billing-center[b-2xorg99kaq]  .check-row input { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; accent-color: var(--brand); cursor: pointer; }
.billing-center[b-2xorg99kaq]  .check-row span { flex: 1; line-height: 1.4; }
.billing-center[b-2xorg99kaq]  .check-row b { color: var(--brand-dark); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .check-row a { flex: 0 0 auto; color: var(--brand-dark); font-size: 11px; text-decoration: underline; }
.billing-center[b-2xorg99kaq]  .agreement-help, .billing-center[b-2xorg99kaq]  .cta-caption { margin: 5px 0 12px; color: var(--muted); text-align: center; font-size: 10px; }
.billing-center[b-2xorg99kaq]  .desktop-payment-cta { width: 100%; margin-top: 12px; }
.billing-center[b-2xorg99kaq]  .primary-button .spinner { width: 16px; height: 16px; border: 2px solid color-mix(in srgb, currentColor 25%, transparent); border-top-color: currentColor; border-radius: 50%; animation: spin-b-2xorg99kaq .8s linear infinite; }
.billing-center[b-2xorg99kaq]  .spinner.large { width: 34px; height: 34px; border: 3px solid var(--brand-soft); border-top-color: var(--brand); border-radius: 50%; animation: spin-b-2xorg99kaq .8s linear infinite; }
.billing-center[b-2xorg99kaq]  .mobile-payment-bar, .billing-center[b-2xorg99kaq]  .mobile-refund-bar { display: none; }

/* Shared cards, badges, tables */
.billing-center[b-2xorg99kaq]  .detail-card, .billing-center[b-2xorg99kaq]  .table-card, .billing-center[b-2xorg99kaq]  .filter-card { padding: 24px; border: none; border-radius: 14px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .card-heading { margin-bottom: 20px; }
.billing-center[b-2xorg99kaq]  .card-heading h2 { margin: 0; }
.billing-center[b-2xorg99kaq]  .card-heading > div h3 { margin: 9px 0 0; font-size: 20px; }
.billing-center[b-2xorg99kaq]  .status-badge i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.billing-center[b-2xorg99kaq]  .status-badge.success, .billing-center[b-2xorg99kaq]  .ledger-type.success { color: var(--success); background: var(--success-soft); }
.billing-center[b-2xorg99kaq]  .status-badge.info, .billing-center[b-2xorg99kaq]  .ledger-type.info { color: var(--info); background: var(--info-soft); }
.billing-center[b-2xorg99kaq]  .status-badge.warning, .billing-center[b-2xorg99kaq]  .ledger-type.warning { color: var(--warning); background: var(--warning-soft); }
.billing-center[b-2xorg99kaq]  .status-badge.danger, .billing-center[b-2xorg99kaq]  .ledger-type.danger { color: var(--danger); background: var(--danger-soft); }
.billing-center[b-2xorg99kaq]  .status-badge.neutral, .billing-center[b-2xorg99kaq]  .ledger-type.neutral { color: var(--muted); background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .status-badge.purple, .billing-center[b-2xorg99kaq]  .ledger-type.purple { color: var(--brand-dark); background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .status-badge.large { min-height: 32px; padding: 6px 12px; font-size: 12px; }
.billing-center[b-2xorg99kaq]  .detail-grid { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.billing-center[b-2xorg99kaq]  .detail-grid > div { min-height: 68px; padding: 13px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .detail-grid > div:nth-child(2n) { border-right: 0; }
.billing-center[b-2xorg99kaq]  .detail-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.billing-center[b-2xorg99kaq]  .detail-grid dt { margin-bottom: 5px; color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .detail-grid dd { margin: 0; font-weight: 650; }
.billing-center[b-2xorg99kaq]  .detail-grid.compact > div { min-height: 60px; }
.billing-center[b-2xorg99kaq]  .summary-list.wide > div { min-height: 42px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .summary-list.wide > div:last-child { border-bottom: 0; }
.billing-center[b-2xorg99kaq]  .server-note { margin: 13px 0 0; color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .server-note span { color: var(--brand); }
.billing-center[b-2xorg99kaq]  .responsive-table { width: 100%; overflow-x: auto; }
.billing-center[b-2xorg99kaq]  table { width: 100%; border-collapse: collapse; text-align: left; }
.billing-center[b-2xorg99kaq]  th { padding: 13px 12px; color: var(--muted); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line-strong); background: var(--surface-soft); font-size: 11px; white-space: nowrap; }
.billing-center[b-2xorg99kaq]  td { padding: 16px 12px; color: var(--ink); border-bottom: 1px solid var(--line); vertical-align: middle; }
.billing-center[b-2xorg99kaq]  td > span:not(.status-badge):not(.ledger-type) { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .row-actions { white-space: nowrap; }
.billing-center[b-2xorg99kaq]  .row-actions a { margin-left: 9px; color: var(--brand-dark); font-size: 11px; text-decoration: underline; text-underline-offset: 2px; }
.billing-center[b-2xorg99kaq]  .pagination { padding-top: 20px; display: flex; justify-content: center; gap: 5px; }
.billing-center[b-2xorg99kaq]  .pagination button { width: 34px; height: 34px; border: none; border-radius: 8px; background: var(--surface-soft); color: var(--muted); cursor: pointer; }
.billing-center[b-2xorg99kaq]  .pagination button.current { color: var(--brand-dark); background: var(--brand-soft); font-weight: 750; }
.billing-center[b-2xorg99kaq]  .pagination button:disabled { color: var(--clv-text-tertiary); background: var(--surface-soft); cursor: not-allowed; }

/* Status and result pages */
.billing-center[b-2xorg99kaq]  .status-layout { max-width: 980px; margin: 20px auto; display: grid; grid-template-columns: 1.4fr .8fr; gap: 22px; }
.billing-center[b-2xorg99kaq]  .status-hero, .billing-center[b-2xorg99kaq]  .status-order-card { padding: 36px; border: none; border-radius: 16px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .status-hero { text-align: center; }
.billing-center[b-2xorg99kaq]  .status-symbol { width: 64px; height: 64px; margin: 0 auto 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .status-hero p { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .progress-track { height: 5px; margin: 26px 0; overflow: hidden; border-radius: 9px; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .progress-track span { display: block; width: 45%; height: 100%; border-radius: inherit; background: var(--brand); animation: progress-b-2xorg99kaq 1.8s ease-in-out infinite alternate; }
.billing-center[b-2xorg99kaq]  .status-hero .inline-alert { text-align: left; }
.billing-center[b-2xorg99kaq]  .status-order-card h2 { margin: 17px 0; }
.billing-center[b-2xorg99kaq]  .result-container { max-width: 780px; margin: 8px auto; }
.billing-center[b-2xorg99kaq]  .result-heading { margin-bottom: 26px; text-align: center; }
.billing-center[b-2xorg99kaq]  .result-heading p { color: var(--muted); font-size: 15px; }
.billing-center[b-2xorg99kaq]  .result-icon { width: 58px; height: 58px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 50%; font-size: 28px; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .result-heading.success .result-icon { color: var(--success); background: var(--success-soft); }
.billing-center[b-2xorg99kaq]  .result-heading.danger .result-icon { color: var(--danger); background: var(--danger-soft); }
.billing-center[b-2xorg99kaq]  .result-heading.neutral .result-icon { color: var(--muted); background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .amount-receipt { margin-top: 18px; padding: 18px; display: flex; align-items: center; justify-content: space-between; border-radius: 10px; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .amount-receipt strong { font-size: 24px; }
.billing-center[b-2xorg99kaq]  .credit-grant-row { margin-top: 14px; padding: 14px; display: flex; justify-content: space-between; align-items: center; border: none; border-radius: 10px; background: var(--success-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .credit-grant-row > div { display: flex; align-items: center; gap: 11px; }
.billing-center[b-2xorg99kaq]  .credit-grant-row > div > span { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; color: var(--clc-on-success); border-radius: 8px; background: var(--clc-success); font-weight: 800; }
.billing-center[b-2xorg99kaq]  .credit-grant-row p { margin: 0; display: flex; flex-direction: column; }
.billing-center[b-2xorg99kaq]  .credit-grant-row small { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .result-actions { margin-top: 22px; display: flex; align-items: center; justify-content: center; gap: 9px; flex-wrap: wrap; }
.billing-center[b-2xorg99kaq]  .error-reason { margin: 12px 0 20px; padding: 18px; display: flex; gap: 13px; border: none; border-radius: 11px; background: var(--danger-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .error-reason > span { width: 28px; height: 28px; flex: 0 0 28px; display: flex; align-items: center; justify-content: center; color: var(--clc-on-danger); border-radius: 50%; background: var(--clc-danger); font-weight: 800; }
.billing-center[b-2xorg99kaq]  .error-reason p { margin: 4px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .error-guide-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.billing-center[b-2xorg99kaq]  .error-guide-grid article { padding: 16px; border: none; border-radius: 11px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .error-guide-grid article > span { color: var(--brand); font-size: 20px; }
.billing-center[b-2xorg99kaq]  .error-guide-grid p { margin: 0; color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .error-catalog, .billing-center[b-2xorg99kaq]  .reason-examples { max-width: 980px; margin: 24px auto 0; border: none; border-radius: 12px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .error-catalog summary, .billing-center[b-2xorg99kaq]  .reason-examples summary { padding: 15px 18px; font-weight: 700; cursor: pointer; }
.billing-center[b-2xorg99kaq]  .error-catalog[open] summary, .billing-center[b-2xorg99kaq]  .reason-examples[open] summary { border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .error-tags { padding: 16px 18px 8px; display: flex; flex-wrap: wrap; gap: 7px; }
.billing-center[b-2xorg99kaq]  .error-tags span { padding: 5px 9px; color: var(--muted); border: none; border-radius: 999px; background: var(--surface-soft); font-size: 11px; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .error-catalog > p { padding: 0 18px 14px; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .reason-examples ul { margin: 0; padding: 16px 38px 20px; color: var(--muted); }

/* History and payment detail */
.billing-center[b-2xorg99kaq]  .metric-grid { margin-bottom: 20px; display: grid; gap: 10px; }
.billing-center[b-2xorg99kaq]  .metric-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.billing-center[b-2xorg99kaq]  .metric-card { min-height: 120px; padding: 17px; display: flex; flex-direction: column; border: none; border-radius: 12px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .metric-card > span { color: var(--muted); font-size: 12px; }
.billing-center[b-2xorg99kaq]  .metric-card > strong { margin-top: 10px; font-size: 21px; }
.billing-center[b-2xorg99kaq]  .metric-card > small { margin-top: auto; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .metric-card.paid { background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .metric-card.free { background: var(--surface); }
.billing-center[b-2xorg99kaq]  .metric-status i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: var(--success); }
.billing-center[b-2xorg99kaq]  .filter-card { margin-bottom: 20px; }
.billing-center[b-2xorg99kaq]  .filter-row { display: flex; align-items: flex-start; gap: 20px; }
.billing-center[b-2xorg99kaq]  .filter-row + .filter-row { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .filter-row > strong { width: 68px; flex: 0 0 68px; padding-top: 7px; }
.billing-center[b-2xorg99kaq]  .filter-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.billing-center[b-2xorg99kaq]  .filter-chips button, .billing-center[b-2xorg99kaq]  .mini-filters button { min-height: 34px; padding: 5px 11px; color: var(--muted); border: none; border-radius: 8px; background: var(--surface-soft); cursor: pointer; }
.billing-center[b-2xorg99kaq]  .filter-chips button.selected, .billing-center[b-2xorg99kaq]  .mini-filters button.selected { color: var(--brand-dark); background: var(--brand-soft); font-weight: 700; }
.billing-center[b-2xorg99kaq]  .date-range { width: 100%; margin-top: 12px; margin-left: 88px; display: flex; align-items: end; gap: 8px; }
.billing-center[b-2xorg99kaq]  .date-range label { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .date-range input { min-height: 38px; padding: 0 9px; border: none; border-radius: 8px; }
.billing-center[b-2xorg99kaq]  .table-card-heading { margin-bottom: 15px; align-items: center; }
.billing-center[b-2xorg99kaq]  .table-card-heading h2 { margin-bottom: 3px; }
.billing-center[b-2xorg99kaq]  .table-card-heading p { margin: 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .refund-availability { max-width: 165px; }
.billing-center[b-2xorg99kaq]  .detail-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr); gap: 20px; align-items: start; }
.billing-center[b-2xorg99kaq]  .detail-main { display: grid; gap: 14px; }
.billing-center[b-2xorg99kaq]  .detail-side { position: sticky; top: 18px; display: grid; gap: 14px; }
.billing-center[b-2xorg99kaq]  .credit-split { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.billing-center[b-2xorg99kaq]  .credit-split article { padding: 14px; display: flex; flex-direction: column; border: none; border-radius: 10px; box-shadow: var(--clc-material-elevation-0); background: var(--surface); }
.billing-center[b-2xorg99kaq]  .credit-split article.paid { background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .credit-split article.free { background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .credit-split strong { margin: 8px 0 5px; font-size: 19px; }
.billing-center[b-2xorg99kaq]  .credit-split small { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .empty-inline, .billing-center[b-2xorg99kaq]  .eligibility-status { padding: 18px; display: flex; gap: 12px; border-radius: 10px; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .empty-inline > span, .billing-center[b-2xorg99kaq]  .eligibility-status > span { width: 26px; height: 26px; flex: 0 0 26px; display: flex; align-items: center; justify-content: center; color: var(--success); border-radius: 50%; background: var(--success-soft); font-weight: 800; }
.billing-center[b-2xorg99kaq]  .empty-inline p, .billing-center[b-2xorg99kaq]  .eligibility-status p { margin: 3px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .refund-action-card .summary-list { margin: 20px 0; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .unavailable-examples ul { padding-left: 18px; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .unavailable-examples p { margin: 0; color: var(--muted); font-size: 11px; }

/* Subscription */
.billing-center[b-2xorg99kaq]  .subscription-overview { display: grid; grid-template-columns: 1.55fr .7fr; gap: 18px; }
.billing-center[b-2xorg99kaq]  .current-plan-card { padding: 28px; border: none; border-radius: 15px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .plan-top { display: flex; justify-content: space-between; gap: 20px; }
.billing-center[b-2xorg99kaq]  .plan-top h2 { margin: 10px 0 4px; font-size: 28px; }
.billing-center[b-2xorg99kaq]  .plan-top p { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .plan-top > strong { font-size: 25px; white-space: nowrap; }
.billing-center[b-2xorg99kaq]  .plan-top > strong small { font-size: 12px; }
.billing-center[b-2xorg99kaq]  .renewal-banner { margin: 20px 0; padding: 15px; display: flex; align-items: center; gap: 12px; border: none; border-radius: 11px; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .renewal-banner > span:first-child { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--brand); border-radius: 8px; background: var(--surface); font-size: 18px; }
.billing-center[b-2xorg99kaq]  .renewal-banner div { flex: 1; }
.billing-center[b-2xorg99kaq]  .renewal-banner p { margin: 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .plan-actions { margin-top: 20px; display: flex; align-items: center; justify-content: space-between; }
.billing-center[b-2xorg99kaq]  .payment-method-card small { display: block; margin-top: 12px; color: var(--muted); text-align: center; }
.billing-center[b-2xorg99kaq]  .method-summary { margin: 22px 0; display: flex; align-items: center; gap: 12px; }
.billing-center[b-2xorg99kaq]  .method-icon { width: 46px; height: 34px; display: flex; align-items: center; justify-content: center; color: var(--brand); border: none; border-radius: 8px; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .method-summary p { margin: 2px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .management-links { margin-top: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.billing-center[b-2xorg99kaq]  .management-links article { padding: 18px; display: flex; align-items: center; gap: 12px; border: none; border-radius: 12px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .management-icon { width: 36px; height: 36px; flex: 0 0 36px; display: flex; align-items: center; justify-content: center; color: var(--brand); border-radius: 9px; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .management-links article div { flex: 1; }
.billing-center[b-2xorg99kaq]  .management-links h3, .billing-center[b-2xorg99kaq]  .management-links p { margin: 0; }
.billing-center[b-2xorg99kaq]  .management-links p { color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .management-links a { color: var(--brand-dark); font-size: 12px; font-weight: 700; white-space: nowrap; }
.billing-center[b-2xorg99kaq]  .cancel-link-card a { color: var(--danger); }
.billing-center[b-2xorg99kaq]  .narrow-container { max-width: 760px; margin: 0 auto; }
.billing-center[b-2xorg99kaq]  .prominent { margin-bottom: 16px; }
.billing-center[b-2xorg99kaq]  .cancel-container .detail-card + .detail-card { margin-top: 14px; }
.billing-center[b-2xorg99kaq]  .change-summary .check-list { margin-bottom: 0; }
.billing-center[b-2xorg99kaq]  .check-list { padding: 0; list-style: none; }
.billing-center[b-2xorg99kaq]  .check-list li { margin: 9px 0; display: flex; align-items: flex-start; gap: 9px; }
.billing-center[b-2xorg99kaq]  .check-list li > span { width: 22px; height: 22px; flex: 0 0 22px; display: flex; align-items: center; justify-content: center; color: var(--brand-dark); border-radius: 6px; background: var(--brand-soft); font-size: 11px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .check-row.standalone { margin-top: 14px; padding: 14px; border: none; border-radius: 10px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .form-actions { margin-top: 20px; display: flex; justify-content: flex-end; gap: 9px; }
.billing-center[b-2xorg99kaq]  .separation-card { margin-top: 16px; padding: 17px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: none; border-radius: 12px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .separation-card > div { display: flex; align-items: center; gap: 12px; }
.billing-center[b-2xorg99kaq]  .separation-card > div > span { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; color: var(--brand); border-radius: 9px; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .separation-card p { margin: 2px 0 0; color: var(--muted); }

/* Credit */
.billing-center[b-2xorg99kaq]  .total-credit-card { margin-bottom: 18px; padding: 26px; color: var(--ink); border: none; border-radius: 15px; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .total-credit-heading { display: flex; justify-content: space-between; align-items: flex-end; }
.billing-center[b-2xorg99kaq]  .total-credit-heading > div { display: flex; flex-direction: column; }
.billing-center[b-2xorg99kaq]  .total-credit-heading span { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .total-credit-heading strong { margin-top: 5px; font-size: 34px; letter-spacing: -.04em; }
.billing-center[b-2xorg99kaq]  .total-credit-heading strong small { font-size: 14px; }
.billing-center[b-2xorg99kaq]  .updated-at { font-size: 11px; }
.billing-center[b-2xorg99kaq]  .balance-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(4, 1fr); border: none; border-radius: 11px; background: var(--surface-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .balance-grid article { min-height: 112px; padding: 16px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .balance-grid article:last-child { border-right: 0; }
.billing-center[b-2xorg99kaq]  .balance-grid article > div { display: flex; align-items: center; gap: 7px; }
.billing-center[b-2xorg99kaq]  .balance-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.billing-center[b-2xorg99kaq]  .balance-grid .paid .balance-dot { background: var(--brand); }
.billing-center[b-2xorg99kaq]  .balance-grid .free .balance-dot { background: var(--muted); }
.billing-center[b-2xorg99kaq]  .balance-grid .held .balance-dot { background: var(--clc-warning); }
.billing-center[b-2xorg99kaq]  .balance-grid .refund .balance-dot { background: var(--clc-info); }
.billing-center[b-2xorg99kaq]  .balance-grid strong { margin: 10px 0 4px; font-size: 20px; }
.billing-center[b-2xorg99kaq]  .balance-grid small { margin-top: auto; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .credit-legend { margin-top: 15px; display: flex; gap: 18px; align-items: center; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .credit-legend span { display: flex; align-items: center; gap: 6px; }
.billing-center[b-2xorg99kaq]  .credit-legend i { width: 8px; height: 8px; border-radius: 50%; }
.billing-center[b-2xorg99kaq]  .credit-legend i.paid { background: var(--brand); }
.billing-center[b-2xorg99kaq]  .credit-legend i.free { background: var(--muted); }
.billing-center[b-2xorg99kaq]  .credit-legend a { margin-left: auto; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.billing-center[b-2xorg99kaq]  .mini-filters { display: flex; gap: 5px; }
.billing-center[b-2xorg99kaq]  .credit-delta.plus { color: var(--brand-dark); }
.billing-center[b-2xorg99kaq]  .credit-delta.minus { color: var(--ink); }
.billing-center[b-2xorg99kaq]  .credit-policy-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.billing-center[b-2xorg99kaq]  .credit-policy-grid article { padding: 17px; display: flex; align-items: center; gap: 12px; border: none; border-radius: 11px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .credit-policy-grid article > span { width: 34px; height: 34px; flex: 0 0 34px; display: flex; align-items: center; justify-content: center; color: var(--brand); border-radius: 8px; background: var(--brand-soft); font-weight: 800; }
.billing-center[b-2xorg99kaq]  .credit-policy-grid article > div { flex: 1; }
.billing-center[b-2xorg99kaq]  .credit-policy-grid h3, .billing-center[b-2xorg99kaq]  .credit-policy-grid p { margin: 0; }
.billing-center[b-2xorg99kaq]  .credit-policy-grid p { color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .credit-policy-grid a { color: var(--brand-dark); font-size: 11px; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .positive-value { color: var(--success); }
.billing-center[b-2xorg99kaq]  .restoration-reason { margin-top: 18px; padding: 16px; display: flex; gap: 12px; border-radius: 10px; background: var(--success-soft); }
.billing-center[b-2xorg99kaq]  .restoration-reason > span { width: 24px; height: 24px; flex: 0 0 24px; display: flex; align-items: center; justify-content: center; color: var(--success); border: none; border-radius: 50%; }
.billing-center[b-2xorg99kaq]  .restoration-reason p { margin: 2px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .difference-panel { margin-top: 16px; display: flex; align-items: stretch; gap: 10px; }
.billing-center[b-2xorg99kaq]  .difference-panel article { flex: 1; padding: 16px; display: flex; gap: 12px; border: none; border-radius: 11px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .difference-panel article.active { background: var(--success-soft); }
.billing-center[b-2xorg99kaq]  .difference-panel article > span { font-size: 21px; }
.billing-center[b-2xorg99kaq]  .difference-panel p { margin: 2px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .not-equal { display: flex; align-items: center; color: var(--danger); font-size: 22px; font-weight: 800; }

/* Policy */
.billing-center[b-2xorg99kaq]  .policy-distinction { margin-bottom: 26px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.billing-center[b-2xorg99kaq]  .policy-distinction article { padding: 20px; display: grid; grid-template-columns: auto 1fr; gap: 12px; border: none; border-radius: 13px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .distinction-icon { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--brand-soft); color: var(--brand); font-size: 18px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .policy-distinction h2, .billing-center[b-2xorg99kaq]  .policy-distinction p { margin: 0; }
.billing-center[b-2xorg99kaq]  .policy-distinction p { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .policy-distinction div > strong { display: block; margin-top: 8px; color: var(--ink); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .policy-distinction a { grid-column: 2; color: var(--brand-dark); font-weight: 700; }
.billing-center[b-2xorg99kaq]  .policy-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: start; }
.billing-center[b-2xorg99kaq]  .policy-toc { position: sticky; top: 18px; padding: 18px; display: flex; flex-direction: column; border: none; border-radius: 12px; background: var(--clc-material-chrome-static); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .policy-toc strong { margin-bottom: 10px; }
.billing-center[b-2xorg99kaq]  .policy-toc a { padding: 8px 0; color: var(--muted); border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .policy-toc a:hover { color: var(--brand); }
.billing-center[b-2xorg99kaq]  .policy-content { padding: 0 30px; border: none; border-radius: 14px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .policy-section { position: relative; padding: 32px 0; scroll-margin-top: 20px; border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .policy-section:last-child { border-bottom: 0; }
.billing-center[b-2xorg99kaq]  .section-number { color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.billing-center[b-2xorg99kaq]  .policy-section > p, .billing-center[b-2xorg99kaq]  .policy-section > ul { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .formula-card { margin: 20px 0; padding: 20px; display: flex; align-items: center; justify-content: center; gap: 18px; border: none; border-radius: 12px; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .formula-card > span { font-weight: 800; }
.billing-center[b-2xorg99kaq]  .formula-card > strong { color: var(--brand); font-size: 20px; }
.billing-center[b-2xorg99kaq]  .formula-main { display: flex; align-items: center; gap: 13px; }
.billing-center[b-2xorg99kaq]  .fraction { display: inline-flex; flex-direction: column; text-align: center; }
.billing-center[b-2xorg99kaq]  .fraction i, .billing-center[b-2xorg99kaq]  .fraction b { padding: 3px 6px; font-style: normal; font-weight: 650; }
.billing-center[b-2xorg99kaq]  .fraction i:first-child, .billing-center[b-2xorg99kaq]  .fraction b:first-child { border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .paid-free-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.billing-center[b-2xorg99kaq]  .paid-free-compare article { padding: 18px; display: flex; flex-direction: column; border: none; border-radius: 11px; box-shadow: var(--clc-material-elevation-0); background: var(--surface); }
.billing-center[b-2xorg99kaq]  .paid-free-compare article.paid { background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .paid-free-compare article.free { background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .paid-free-compare strong { margin: 8px 0; }
.billing-center[b-2xorg99kaq]  .paid-free-compare p { margin: 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .case-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.billing-center[b-2xorg99kaq]  .case-list article { padding: 16px; border: none; border-radius: 10px; box-shadow: var(--clc-material-elevation-0); background: var(--surface); }
.billing-center[b-2xorg99kaq]  .case-list h3 { margin: 10px 0 3px; }
.billing-center[b-2xorg99kaq]  .case-list p { margin: 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .process-steps { padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; list-style: none; }
.billing-center[b-2xorg99kaq]  .process-steps li { position: relative; padding: 15px; border: none; border-radius: 10px; box-shadow: var(--clc-material-elevation-0); background: var(--surface); }
.billing-center[b-2xorg99kaq]  .process-steps li > span { width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; color: var(--clc-on-primary); border-radius: 50%; background: var(--brand); font-size: 11px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .process-steps strong { display: block; margin-top: 10px; }
.billing-center[b-2xorg99kaq]  .process-steps p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }

/* Refund selection and request */
.billing-center[b-2xorg99kaq]  .stepper { max-width: 720px; margin: 0 auto 30px; display: flex; align-items: center; justify-content: center; }
.billing-center[b-2xorg99kaq]  .stepper > div { display: flex; flex-direction: column; align-items: center; gap: 5px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.billing-center[b-2xorg99kaq]  .stepper > div > span { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 50%; background: var(--surface); font-weight: 800; }
.billing-center[b-2xorg99kaq]  .stepper > div.active { color: var(--brand-dark); }
.billing-center[b-2xorg99kaq]  .stepper > div.active > span, .billing-center[b-2xorg99kaq]  .stepper > div.done > span { color: var(--clc-on-primary); background: var(--brand); }
.billing-center[b-2xorg99kaq]  .stepper > div.done { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .stepper > i { width: 74px; height: 1px; margin: 0 8px 21px; background: var(--line-strong); }
.billing-center[b-2xorg99kaq]  .stepper > i.done { background: var(--brand); }
.billing-center[b-2xorg99kaq]  .selection-toolbar { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.billing-center[b-2xorg99kaq]  .selection-toolbar > span { color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .refund-payment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.billing-center[b-2xorg99kaq]  .refund-payment-card { padding: 22px; border: none; border-radius: 14px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .refund-payment-card.eligible { background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .refund-payment-card.unavailable { background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .refund-card-head, .billing-center[b-2xorg99kaq]  .refund-card-title, .billing-center[b-2xorg99kaq]  .refund-card-actions, .billing-center[b-2xorg99kaq]  .progress-label, .billing-center[b-2xorg99kaq]  .progress-legend { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.billing-center[b-2xorg99kaq]  .refund-card-head > div { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .refund-card-title { margin: 20px 0; }
.billing-center[b-2xorg99kaq]  .refund-card-title > div { display: flex; flex-direction: column; }
.billing-center[b-2xorg99kaq]  .refund-card-title > div strong { font-size: 19px; }
.billing-center[b-2xorg99kaq]  .refund-card-title span { color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .refund-card-title > strong { font-size: 21px; }
.billing-center[b-2xorg99kaq]  .credit-progress-info { padding: 14px; border-radius: 10px; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .progress-label, .billing-center[b-2xorg99kaq]  .progress-legend { font-size: 11px; }
.billing-center[b-2xorg99kaq]  .credit-progress { height: 7px; margin: 9px 0; overflow: hidden; border-radius: 5px; background: var(--line-strong); }
.billing-center[b-2xorg99kaq]  .credit-progress span { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.billing-center[b-2xorg99kaq]  .progress-legend { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .refund-card-summary { margin: 15px 0; }
.billing-center[b-2xorg99kaq]  .refund-card-summary > div { padding: 8px 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .refund-card-summary dt { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .refund-card-summary dd { margin: 0; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .refund-card-summary .estimate { margin-top: 4px; padding: 13px; border: 0; border-radius: 9px; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .refund-card-summary small { display: block; color: var(--brand-dark); }
.billing-center[b-2xorg99kaq]  .refund-card-summary .estimate dd { color: var(--brand-dark); font-size: 18px; }
.billing-center[b-2xorg99kaq]  .unavailable-reason { margin: 18px 0; padding: 14px; display: flex; gap: 10px; border-radius: 9px; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .unavailable-reason > span { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .unavailable-reason p { margin: 2px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .refund-select-page > .inline-alert { max-width: none; }
.billing-center[b-2xorg99kaq]  .refund-form-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(310px, .7fr); gap: 22px; align-items: start; }
.billing-center[b-2xorg99kaq]  .refund-form-main { display: grid; gap: 26px; }
.billing-center[b-2xorg99kaq]  .form-section { min-width: 0; }
.billing-center[b-2xorg99kaq]  .numbered-heading { margin-bottom: 12px; display: flex; align-items: flex-start; gap: 11px; }
.billing-center[b-2xorg99kaq]  .numbered-heading > span { width: 27px; height: 27px; flex: 0 0 27px; display: flex; align-items: center; justify-content: center; color: var(--clc-on-primary); border-radius: 8px; background: var(--brand); font-size: 11px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .numbered-heading h2, .billing-center[b-2xorg99kaq]  .numbered-heading p { margin: 0; }
.billing-center[b-2xorg99kaq]  .numbered-heading p { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .credit-usage-card, .billing-center[b-2xorg99kaq]  .refund-calculation-card, .billing-center[b-2xorg99kaq]  .change-after-refund { padding: 22px; border: none; border-radius: 13px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .usage-bar { height: 11px; display: flex; overflow: hidden; border-radius: 7px; }
.billing-center[b-2xorg99kaq]  .usage-bar .used { background: var(--muted); }
.billing-center[b-2xorg99kaq]  .usage-bar .remaining { background: var(--brand); }
.billing-center[b-2xorg99kaq]  .usage-legend { margin: 9px 0 18px; display: flex; justify-content: flex-end; gap: 14px; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .usage-legend span { display: flex; align-items: center; gap: 5px; }
.billing-center[b-2xorg99kaq]  .usage-legend i { width: 8px; height: 8px; border-radius: 3px; }
.billing-center[b-2xorg99kaq]  .usage-legend i.used { background: var(--muted); }
.billing-center[b-2xorg99kaq]  .usage-legend i.remaining { background: var(--brand); }
.billing-center[b-2xorg99kaq]  .free-credit-row { background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .free-credit-row small { display: block; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .server-calculated { margin-bottom: 12px; padding: 12px; display: flex; gap: 10px; border: none; border-radius: 9px; background: var(--brand-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .server-calculated > span { color: var(--brand); }
.billing-center[b-2xorg99kaq]  .server-calculated p { margin: 2px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .estimated-total { padding: 17px; display: flex; align-items: center; justify-content: space-between; color: var(--ink); border-radius: 10px; background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .estimated-total span { display: flex; flex-direction: column; }
.billing-center[b-2xorg99kaq]  .estimated-total small { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .estimated-total strong { font-size: 23px; }
.billing-center[b-2xorg99kaq]  .formula-mini { margin: 14px 0 8px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .refund-calculation-card > p { margin: 8px 0 0; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .reason-fieldset { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; border: 0; }
.billing-center[b-2xorg99kaq]  .reason-option { min-height: 48px; padding: 11px 13px; display: flex; align-items: center; gap: 9px; border: none; border-radius: 9px; background: var(--surface); cursor: pointer; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .reason-option.selected { color: var(--brand-dark); background: var(--brand-soft); font-weight: 700; }
.billing-center[b-2xorg99kaq]  .reason-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.billing-center[b-2xorg99kaq]  .custom-radio { width: 18px; height: 18px; flex: 0 0 18px; border: none; border-radius: 50%; background: var(--surface-soft); box-shadow: inset 0 0 0 1px var(--muted); }
.billing-center[b-2xorg99kaq]  .reason-option.selected .custom-radio { border: none; background: var(--surface); box-shadow: inset 0 0 0 5px var(--brand); }
.billing-center[b-2xorg99kaq]  .reason-option:focus-within { outline: 3px solid var(--brand); }
.billing-center[b-2xorg99kaq]  .textarea-field { margin-top: 12px; display: flex; flex-direction: column; gap: 7px; font-weight: 700; }
.billing-center[b-2xorg99kaq]  .textarea-field > span small { color: var(--muted); font-weight: 500; }
.billing-center[b-2xorg99kaq]  .textarea-field textarea { min-height: 120px; padding: 13px; resize: vertical; border: none; border-radius: 10px; background: var(--surface-soft); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .textarea-field > small { display: flex; justify-content: space-between; color: var(--muted); font-weight: 500; }
.billing-center[b-2xorg99kaq]  .change-after-refund .check-list { margin: 0; }
.billing-center[b-2xorg99kaq]  .agreement-form-section .check-row { margin-top: 7px; }
.billing-center[b-2xorg99kaq]  .refund-form-side { position: sticky; top: 18px; }
.billing-center[b-2xorg99kaq]  .refund-submit-card { padding: 22px; border: none; border-radius: 14px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .refund-submit-card > small { display: block; margin-top: 10px; color: var(--muted); text-align: center; }
.billing-center[b-2xorg99kaq]  .submit-preview-notice { max-width: 780px; margin: 24px auto 0; }

/* Refund status */
.billing-center[b-2xorg99kaq]  .status-selector { margin-bottom: 18px; padding: 6px; display: flex; gap: 5px; overflow-x: auto; border: none; border-radius: 11px; background: var(--surface-soft); box-shadow: inset 0 1px 0 var(--clc-material-specular); }
.billing-center[b-2xorg99kaq]  .status-selector button { min-height: 38px; padding: 6px 10px; display: inline-flex; align-items: center; gap: 6px; color: var(--muted); white-space: nowrap; border: none; border-radius: 8px; background: transparent; cursor: pointer; font-size: 11px; }
.billing-center[b-2xorg99kaq]  .status-selector button.selected { color: var(--brand-dark); background: var(--brand-soft); font-weight: 750; }
.billing-center[b-2xorg99kaq]  .status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.billing-center[b-2xorg99kaq]  .status-dot.success { background: var(--success); }
.billing-center[b-2xorg99kaq]  .status-dot.info { background: var(--info); }
.billing-center[b-2xorg99kaq]  .status-dot.danger { background: var(--danger); }
.billing-center[b-2xorg99kaq]  .refund-status-layout { display: grid; grid-template-columns: 1.45fr .65fr; gap: 18px; }
.billing-center[b-2xorg99kaq]  .status-overview-card, .billing-center[b-2xorg99kaq]  .status-timeline-card { padding: 26px; border: none; border-radius: 14px; background: var(--surface); box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .status-overview-card.info { background: var(--info-soft); }
.billing-center[b-2xorg99kaq]  .status-overview-card.success { background: var(--success-soft); }
.billing-center[b-2xorg99kaq]  .status-overview-card.danger { background: var(--danger-soft); }
.billing-center[b-2xorg99kaq]  .status-overview-card.neutral { background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .status-overview-head { display: flex; align-items: center; gap: 17px; margin-bottom: 22px; }
.billing-center[b-2xorg99kaq]  .large-status-icon { width: 54px; height: 54px; flex: 0 0 54px; display: flex; align-items: center; justify-content: center; color: var(--brand); border-radius: 14px; background: var(--brand-soft); font-size: 25px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .status-code { display: block; margin-bottom: 3px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.billing-center[b-2xorg99kaq]  .status-overview-head h2, .billing-center[b-2xorg99kaq]  .status-overview-head p { margin: 0; }
.billing-center[b-2xorg99kaq]  .status-overview-head p { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .next-step-card { margin-top: 18px; padding: 15px; display: flex; gap: 11px; border-radius: 10px; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .next-step-card > span { color: var(--brand); font-size: 18px; }
.billing-center[b-2xorg99kaq]  .next-step-card p { margin: 2px 0 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .customer-action { margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.billing-center[b-2xorg99kaq]  .customer-action > div { display: flex; flex-direction: column; }
.billing-center[b-2xorg99kaq]  .customer-action span { color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .status-timeline-card h2 { margin-bottom: 20px; }
.billing-center[b-2xorg99kaq]  .vertical-timeline, .billing-center[b-2xorg99kaq]  .activity-list { margin: 0; padding: 0; list-style: none; }
.billing-center[b-2xorg99kaq]  .vertical-timeline li { position: relative; min-height: 66px; display: flex; gap: 12px; }
.billing-center[b-2xorg99kaq]  .vertical-timeline li::after { content: ""; position: absolute; top: 28px; left: 13px; width: 1px; height: 37px; background: var(--line-strong); }
.billing-center[b-2xorg99kaq]  .vertical-timeline li:last-child::after { display: none; }
.billing-center[b-2xorg99kaq]  .vertical-timeline li > span { position: relative; z-index: 1; width: 27px; height: 27px; flex: 0 0 27px; display: flex; align-items: center; justify-content: center; color: var(--muted); border: none; border-radius: 50%; background: var(--surface); font-size: 10px; font-weight: 800; }
.billing-center[b-2xorg99kaq]  .vertical-timeline li.done > span, .billing-center[b-2xorg99kaq]  .vertical-timeline li.current > span { color: var(--clc-on-primary); background: var(--brand); }
.billing-center[b-2xorg99kaq]  .vertical-timeline p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .support-link { margin-top: 14px; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--brand-dark); border-top: 1px solid var(--line); font-weight: 700; }
.billing-center[b-2xorg99kaq]  .server-pill { padding: 4px 7px; color: var(--brand-dark); border: none; border-radius: 5px; background: var(--brand-soft); font-size: 9px; font-weight: 800; letter-spacing: .06em; box-shadow: var(--clc-material-elevation-0); }
.billing-center[b-2xorg99kaq]  .activity-list li { position: relative; padding: 0 0 22px 25px; }
.billing-center[b-2xorg99kaq]  .activity-list li::before { content: ""; position: absolute; left: 5px; top: 12px; bottom: -1px; width: 1px; background: var(--line-strong); }
.billing-center[b-2xorg99kaq]  .activity-list li:last-child::before { display: none; }
.billing-center[b-2xorg99kaq]  .activity-list li > span { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border: none; border-radius: 50%; background: var(--brand); }
.billing-center[b-2xorg99kaq]  .activity-list p { margin: 2px 0; color: var(--muted); }
.billing-center[b-2xorg99kaq]  .activity-list time { color: var(--muted); font-size: 11px; }
.billing-center[b-2xorg99kaq]  .refund-result .detail-card { margin-top: 8px; }

/* Modal */
.billing-center[b-2xorg99kaq]  .modal-backdrop { position: fixed; z-index: 3000; inset: 0; padding: 20px; display: flex; align-items: center; justify-content: center; background: var(--clc-material-scrim-static); opacity: 1; }
.billing-center[b-2xorg99kaq]  .confirmation-modal { position: relative; width: min(480px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; padding: 28px; border: none; border-radius: var(--clc-mist-radius-dialog, 20px); background: var(--clc-material-veil-static); box-shadow: var(--clc-shadow-layer3-2); }
.billing-center[b-2xorg99kaq]  .modal-close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; color: var(--ink); background: var(--clc-material-paper-raised); border: none; border-radius: var(--clc-mist-radius-chip, 8px); cursor: pointer; }
.billing-center[b-2xorg99kaq]  .modal-icon { width: 46px; height: 46px; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; border-radius: 12px; font-size: 22px; }
.billing-center[b-2xorg99kaq]  .modal-icon.neutral { color: var(--brand); background: var(--brand-soft); }
.billing-center[b-2xorg99kaq]  .modal-icon.warning { color: var(--warning); background: var(--warning-soft); }
.billing-center[b-2xorg99kaq]  .confirmation-modal > p { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .modal-summary { margin: 18px 0; padding: 14px; border-radius: 10px; background: var(--surface-soft); }
.billing-center[b-2xorg99kaq]  .modal-summary > div { padding: 7px 0; display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .modal-summary > div:last-child { border-bottom: 0; }
.billing-center[b-2xorg99kaq]  .modal-summary dt { color: var(--muted); }
.billing-center[b-2xorg99kaq]  .modal-summary dd { margin: 0; text-align: right; }
.billing-center[b-2xorg99kaq]  .modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }

.business-footer[b-2xorg99kaq] { padding: 30px 0; color: var(--muted); border: none; background: transparent; }
.footer-inner[b-2xorg99kaq] { display: grid; grid-template-columns: .8fr 1.7fr; gap: 18px 40px; }
.footer-inner strong[b-2xorg99kaq] { color: var(--ink); }
.footer-inner p[b-2xorg99kaq] { margin: 3px 0 0; }
.footer-inner nav[b-2xorg99kaq] { display: flex; align-items: flex-start; justify-content: flex-end; gap: 18px; flex-wrap: wrap; font-size: 12px; }
.footer-inner nav a:hover[b-2xorg99kaq] { color: var(--brand); text-decoration: underline; }
.footer-note[b-2xorg99kaq] { grid-column: 1 / -1; padding-top: 15px; border-top: 1px solid var(--line); font-size: 11px; }
.business-information[b-2xorg99kaq] { grid-column: 1 / -1; padding-top: 15px; border-top: 1px solid var(--line); }
.billing-center[b-2xorg99kaq]  .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@keyframes spin-b-2xorg99kaq { to { transform: rotate(360deg); } }
@keyframes progress-b-2xorg99kaq { from { transform: translateX(-35%); } to { transform: translateX(145%); } }

@media (max-width: 1024px) {
    .billing-center[b-2xorg99kaq]  .checkout-grid { grid-template-columns: minmax(0, 1.5fr) minmax(320px, .9fr); gap: 18px; }
    .billing-center[b-2xorg99kaq]  .plan-grid { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .product-card.plan-card { min-height: 175px; }
    .billing-center[b-2xorg99kaq]  .metric-grid.five { grid-template-columns: repeat(3, 1fr); }
    .billing-center[b-2xorg99kaq]  .management-links { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .process-steps { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .nav-inner a[b-2xorg99kaq] { min-height: 49px; padding: 0 12px; font-size: 12px; }
    .billing-center[b-2xorg99kaq]  .page-shell { padding: 34px 0 96px; }
    .billing-center[b-2xorg99kaq]  h1 { font-size: 28px; }
    .billing-center[b-2xorg99kaq]  .page-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
    .billing-center[b-2xorg99kaq]  .checkout-grid, .billing-center[b-2xorg99kaq]  .detail-layout, .billing-center[b-2xorg99kaq]  .subscription-overview, .billing-center[b-2xorg99kaq]  .policy-layout, .billing-center[b-2xorg99kaq]  .refund-form-layout, .billing-center[b-2xorg99kaq]  .refund-status-layout, .billing-center[b-2xorg99kaq]  .status-layout { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .order-column, .billing-center[b-2xorg99kaq]  .detail-side, .billing-center[b-2xorg99kaq]  .policy-toc, .billing-center[b-2xorg99kaq]  .refund-form-side { position: static; }
    .billing-center[b-2xorg99kaq]  .checkout-products { display: contents; }
    .billing-center[b-2xorg99kaq]  .product-tabs { order: 1; }
    .billing-center[b-2xorg99kaq]  .section-block { order: 2; padding: 18px; }
    .billing-center[b-2xorg99kaq]  .order-column { order: 3; }
    .billing-center[b-2xorg99kaq]  .checkout-grid { display: flex; flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .plan-grid, .billing-center[b-2xorg99kaq]  .credit-grid { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .product-card, .billing-center[b-2xorg99kaq]  .credit-card { min-height: 175px; }
    .billing-center[b-2xorg99kaq]  .order-panel { padding: 18px; }
    .billing-center[b-2xorg99kaq]  .desktop-payment-cta { display: none; }
    .billing-center[b-2xorg99kaq]  .mobile-payment-bar, .billing-center[b-2xorg99kaq]  .mobile-refund-bar { position: fixed; z-index: 1000; right: 0; bottom: 0; left: 0; min-height: 76px; padding: 10px max(16px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; gap: 15px; border: none; background: var(--clc-material-chrome-static); box-shadow: var(--clc-material-shell-shadow); }
    .billing-center[b-2xorg99kaq]  .mobile-payment-bar > div, .billing-center[b-2xorg99kaq]  .mobile-refund-bar > div { min-width: 0; display: flex; flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .mobile-payment-bar small, .billing-center[b-2xorg99kaq]  .mobile-refund-bar small { max-width: 170px; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
    .billing-center[b-2xorg99kaq]  .mobile-payment-bar strong, .billing-center[b-2xorg99kaq]  .mobile-refund-bar strong { font-size: 17px; }
    .billing-center[b-2xorg99kaq]  .mobile-payment-cta, .billing-center[b-2xorg99kaq]  .mobile-refund-cta { min-width: 132px; }
    .billing-center[b-2xorg99kaq]  .metric-grid.five, .billing-center[b-2xorg99kaq]  .balance-grid { grid-template-columns: repeat(2, 1fr); }
    .billing-center[b-2xorg99kaq]  .metric-card { min-height: 106px; }
    .billing-center[b-2xorg99kaq]  .filter-row { flex-direction: column; gap: 8px; }
    .billing-center[b-2xorg99kaq]  .filter-row > strong { width: auto; flex-basis: auto; }
    .billing-center[b-2xorg99kaq]  .date-range { margin: 8px 0 0; flex-wrap: wrap; }
    .billing-center[b-2xorg99kaq]  .table-card { padding: 18px; }
    .billing-center[b-2xorg99kaq]  .responsive-table table, .billing-center[b-2xorg99kaq]  .responsive-table tbody, .billing-center[b-2xorg99kaq]  .responsive-table tr, .billing-center[b-2xorg99kaq]  .responsive-table td { display: block; width: 100%; }
    .billing-center[b-2xorg99kaq]  .responsive-table thead { display: none; }
    .billing-center[b-2xorg99kaq]  .responsive-table tr { padding: 14px 0; border-bottom: 1px solid var(--line-strong); }
    .billing-center[b-2xorg99kaq]  .responsive-table tr:last-child { border-bottom: 0; }
    .billing-center[b-2xorg99kaq]  .responsive-table td { min-height: 34px; padding: 6px 0 6px 42%; display: flex; align-items: flex-start; justify-content: flex-end; text-align: right; border: 0; }
    .billing-center[b-2xorg99kaq]  .responsive-table td::before { content: attr(data-label); width: 40%; margin-left: -70%; margin-right: auto; color: var(--muted); text-align: left; font-size: 11px; }
    .billing-center[b-2xorg99kaq]  .responsive-table td > span:not(.status-badge):not(.ledger-type) { margin-left: 5px; }
    .billing-center[b-2xorg99kaq]  .row-actions { justify-content: flex-end; }
    .billing-center[b-2xorg99kaq]  .detail-grid, .billing-center[b-2xorg99kaq]  .credit-split { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .detail-grid > div, .billing-center[b-2xorg99kaq]  .detail-grid > div:nth-child(2n), .billing-center[b-2xorg99kaq]  .detail-grid > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
    .billing-center[b-2xorg99kaq]  .detail-grid > div:last-child { border-bottom: 0; }
    .billing-center[b-2xorg99kaq]  .status-hero, .billing-center[b-2xorg99kaq]  .status-order-card { padding: 24px; }
    .billing-center[b-2xorg99kaq]  .error-guide-grid, .billing-center[b-2xorg99kaq]  .credit-policy-grid, .billing-center[b-2xorg99kaq]  .policy-distinction, .billing-center[b-2xorg99kaq]  .refund-payment-list { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .total-credit-card { padding: 20px; }
    .billing-center[b-2xorg99kaq]  .balance-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
    .billing-center[b-2xorg99kaq]  .balance-grid article:nth-child(odd) { border-right: 1px solid var(--line); }
    .billing-center[b-2xorg99kaq]  .balance-grid article:nth-last-child(-n+2) { border-bottom: 0; }
    .billing-center[b-2xorg99kaq]  .credit-legend { align-items: flex-start; flex-direction: column; gap: 5px; }
    .billing-center[b-2xorg99kaq]  .credit-legend a { margin-left: 0; }
    .billing-center[b-2xorg99kaq]  .difference-panel { flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .not-equal { justify-content: center; }
    .billing-center[b-2xorg99kaq]  .policy-content { padding: 0 20px; }
    .billing-center[b-2xorg99kaq]  .policy-toc { display: none; }
    .billing-center[b-2xorg99kaq]  .formula-card, .billing-center[b-2xorg99kaq]  .formula-main { flex-wrap: wrap; }
    .billing-center[b-2xorg99kaq]  .paid-free-compare, .billing-center[b-2xorg99kaq]  .case-list, .billing-center[b-2xorg99kaq]  .process-steps { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .stepper { justify-content: flex-start; overflow-x: auto; }
    .billing-center[b-2xorg99kaq]  .stepper > i { width: 34px; min-width: 34px; }
    .billing-center[b-2xorg99kaq]  .selection-toolbar { align-items: flex-start; flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .reason-fieldset { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .refund-form-side { display: none; }
    .billing-center[b-2xorg99kaq]  .status-overview-card, .billing-center[b-2xorg99kaq]  .status-timeline-card { padding: 20px; }
    .billing-center[b-2xorg99kaq]  .customer-action { align-items: flex-start; flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .modal-actions { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .confirmation-modal { padding: 24px 20px; }
    .billing-center[b-2xorg99kaq]  .separation-card { align-items: stretch; flex-direction: column; }
    .footer-inner[b-2xorg99kaq] { grid-template-columns: 1fr; }
    .footer-inner nav[b-2xorg99kaq] { justify-content: flex-start; }
    .footer-note[b-2xorg99kaq] { grid-column: auto; }
}

@media (max-width: 430px) {
    .billing-center[b-2xorg99kaq]  .product-tabs button { min-height: 72px; padding: 8px 30px 8px 9px; gap: 8px; }
    .billing-center[b-2xorg99kaq]  .tab-mark { width: 30px; height: 30px; }
    .billing-center[b-2xorg99kaq]  .section-title-row { flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .metric-grid.five { grid-template-columns: 1fr 1fr; }
    .billing-center[b-2xorg99kaq]  .metric-card:last-child { grid-column: 1 / -1; }
    .billing-center[b-2xorg99kaq]  .balance-grid { grid-template-columns: 1fr; }
    .billing-center[b-2xorg99kaq]  .balance-grid article, .billing-center[b-2xorg99kaq]  .balance-grid article:nth-child(odd), .billing-center[b-2xorg99kaq]  .balance-grid article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
    .billing-center[b-2xorg99kaq]  .balance-grid article:last-child { border-bottom: 0; }
    .billing-center[b-2xorg99kaq]  .refund-card-actions { align-items: stretch; flex-direction: column; }
    .billing-center[b-2xorg99kaq]  .refund-card-actions .text-link { min-height: 44px; display: flex; align-items: center; }
    .billing-center[b-2xorg99kaq]  .result-actions { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    :where(html:not([data-clevi-motion="full"])) .billing-center[b-2xorg99kaq]  *,
    :where(html:not([data-clevi-motion="full"])) .billing-center[b-2xorg99kaq]  *::before,
    :where(html:not([data-clevi-motion="full"])) .billing-center[b-2xorg99kaq]  *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* 선택 표시와 포커스는 고대비 모드에서도 유지한다. */
@media (forced-colors: active) {
    .billing-center[b-2xorg99kaq]  button, .billing-center[b-2xorg99kaq]  input, .billing-center[b-2xorg99kaq]  textarea, .billing-center[b-2xorg99kaq]  select,
    .billing-center[b-2xorg99kaq]  .product-card, .billing-center[b-2xorg99kaq]  .reason-option { outline: 1px solid ButtonText; }
    .billing-center[b-2xorg99kaq]  :focus-visible, .billing-center[b-2xorg99kaq]  .product-card:focus-within,
    .billing-center[b-2xorg99kaq]  .reason-option:focus-within { outline: 2px solid Highlight; }
    .billing-center[b-2xorg99kaq]  .product-card.selected .card-check,
    .billing-center[b-2xorg99kaq]  .reason-option.selected .custom-radio { forced-color-adjust: none; color: HighlightText; background: Highlight; box-shadow: none; }
}
/* /Pages/Payment/PaymentPublicLayout.razor.rz.scp.css */
.payment-public-layout[b-y128tjeacm] {
    --payment-content-max-width: 960px;
    --payment-page-inline-padding: 28px;
    --clv-field-surface: var(--clc-material-field);
    --clv-field-focus-shadow: var(--clc-mist-focus-shadow);
    min-height: 100vh;
    padding-top: 128px;
    box-sizing: border-box;
    color-scheme: light;
}

.payment-public-layout[data-payment-theme="dark"][b-y128tjeacm] {
    color-scheme: dark;
}

.payment-public-layout[b-y128tjeacm]  .order-column,
.payment-public-layout[b-y128tjeacm]  .detail-side,
.payment-public-layout[b-y128tjeacm]  .policy-toc,
.payment-public-layout[b-y128tjeacm]  .refund-form-side {
    top: 82px;
}

.payment-public-layout[b-y128tjeacm]  .policy-section {
    scroll-margin-top: 84px;
}

@media (max-width: 768px) {
    .payment-public-layout[b-y128tjeacm] {
        --payment-page-inline-padding: 18px;
    }
}
/* /Pages/Payment/Test/SlideOptionButton/PaymentSlideOptionButton.razor.rz.scp.css */
.clc-slide-option[b-zhg602wppi] {
    --slide-inset: 1px;
    --slide-item-inset: 1.5px;
    --slide-inner-radius: max(0px, calc(var(--slide-wrapper-radius, 24px) - var(--slide-inset)));
    --slide-item-radius: max(0px, calc(var(--slide-inner-radius) - var(--slide-item-inset)));
    display: inline-flex;
    box-sizing: border-box;
    width: var(--slide-width, auto);
    height: var(--slide-height, 48px);
    max-width: 100%;
    min-width: 0;
    padding: var(--slide-inset);
    border-radius: var(--slide-wrapper-radius, 24px);
    background: var(--slide-wrapper-background, var(--clc-material-paper-raised, var(--clc-assign-base)));
    font-family: 'Pretendard', sans-serif;
    font-size: var(--slide-font-size, 0.825rem);
    vertical-align: middle;
}

.clc-slide-option__inner[b-zhg602wppi] {
    display: flex;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    padding: var(--slide-item-inset);
    overflow-x: auto;
    border-radius: var(--slide-inner-radius);
    background: var(--slide-inner-background, var(--slide-wrapper-background));
    scrollbar-width: thin;
    scrollbar-color: var(--clv-text-secondary, var(--clc-assign-base-500)) transparent;
}

.clc-slide-option__track[b-zhg602wppi] {
    position: relative;
    display: flex;
    flex: 1 0 auto;
}

.clc-slide-option__thumb[b-zhg602wppi] {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    pointer-events: none;
    border-radius: var(--slide-selected-radius, var(--slide-item-radius));
    background: var(--slide-selected-background, var(--slide-wrapper-background));
    box-shadow: none;
    visibility: hidden;
    transition: transform 260ms cubic-bezier(.2, .8, .2, 1), width 260ms cubic-bezier(.2, .8, .2, 1);
}

.clc-slide-option__item[b-zhg602wppi] {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex: 1 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    padding: var(--slide-item-padding, 0 12px);
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    border: 0;
    border-radius: var(--slide-selected-radius, var(--slide-item-radius));
    background: transparent;
    color: var(--slide-unselected-ink, var(--clv-text-tertiary, var(--clc-assign-base-500)));
    font: inherit;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color 180ms ease;
}

.clc-slide-option__item[aria-checked="true"][b-zhg602wppi] {
    color: var(--slide-selected-ink, var(--clv-text-primary, var(--clc-text-color)));
}

.clc-slide-option__item:not(:disabled):hover[b-zhg602wppi] {
    color: var(--clv-text-primary, var(--clc-text-color));
}

.clc-slide-option__item:focus-visible[b-zhg602wppi] {
    outline: 2px solid var(--clc-primary);
    outline-offset: -3px;
    box-shadow: none;
}

.clc-slide-option__item:disabled[b-zhg602wppi] {
    color: var(--slide-unselected-ink, var(--clv-text-tertiary, var(--clc-assign-base-500)));
    cursor: default;
}

.clc-slide-option__icon[b-zhg602wppi] {
    display: inline-flex;
    flex: 0 0 auto;
}

/* Keep the selected surface visible before interactive JS is available. */
.clc-slide-option:not([data-slide-ready]) .clc-slide-option__item[aria-checked="true"][b-zhg602wppi] {
    background: var(--slide-selected-background, var(--slide-wrapper-background));
    box-shadow: none;
}

.clc-slide-option:where(html[data-clevi-motion="reduced"] *) .clc-slide-option__item[b-zhg602wppi],
.clc-slide-option:where(html[data-clevi-motion="reduced"] *) .clc-slide-option__thumb[b-zhg602wppi] {
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .clc-slide-option:where(html:not([data-clevi-motion="full"]) *) .clc-slide-option__item[b-zhg602wppi],
    .clc-slide-option:where(html:not([data-clevi-motion="full"]) *) .clc-slide-option__thumb[b-zhg602wppi] {
        transition: none;
    }
}

@media (forced-colors: active) {
    .clc-slide-option__thumb[b-zhg602wppi] {
        display: none;
    }

    .clc-slide-option__item[aria-checked="true"][b-zhg602wppi] {
        outline: 2px solid Highlight;
        outline-offset: -6px;
    }

    .clc-slide-option__item:focus-visible[b-zhg602wppi] {
        outline: 2px solid CanvasText;
        outline-offset: -2px;
    }
}
/* /Pages/Payment/Test/TossTestCheckout.razor.rz.scp.css */
.clc-payment-test[b-sik3izdiir] {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px var(--payment-page-inline-padding, 28px) 72px;
    display: grid;
    gap: 28px;
    color: var(--clv-text-primary, var(--clc-text-color));
}

.clc-payment-test__header[b-sik3izdiir] { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-bottom: 12px; text-align: center; }
.clc-payment-test__header[b-sik3izdiir]  .clc-payment-test__title { margin: 0 0 6px; font-size: clamp(28px, 3vw, 36px); font-weight: 650; line-height: 1.25; letter-spacing: -0.035em; }
.clc-payment-test[b-sik3izdiir]  .clc-payment-test__notice { color: var(--clv-text-secondary, var(--clc-text-color)); font-size: 13px; line-height: 1.7; margin: 0; }
.clc-payment-test__catalog[b-sik3izdiir] { display: grid; gap: 28px; min-width: 0; }
.clc-payment-test__products[b-sik3izdiir] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.clc-payment-test__catalog.is-plan.has-selection[b-sik3izdiir] { grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.4fr); width: 100%; max-width: 1040px; margin: 0 auto; align-items: stretch; }
.is-plan.has-selection .clc-payment-test__products[b-sik3izdiir] { grid-template-columns: minmax(0, 1fr); }
.clc-payment-test__checkout[b-sik3izdiir] { align-content: start; }
.clc-payment-test__catalog.is-credit[b-sik3izdiir] { width: 100%; max-width: 1040px; margin: 0 auto; gap: 20px; }
.is-credit .clc-payment-test__products[b-sik3izdiir] { gap: 16px; }
.clc-payment-test__checkout-heading[b-sik3izdiir] { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.clc-payment-test__checkout-heading[b-sik3izdiir]  h2 { margin: 6px 0 0; }
.clc-payment-test[b-sik3izdiir]  .clc-payment-test__eyebrow { font-size: 12px; color: var(--clv-text-secondary, var(--clc-text-color)); }
.clc-payment-test[b-sik3izdiir]  .clc-payment-test__amount { font-size: 26px; font-weight: 750; margin: 0; }

.clc-payment-test__panel[b-sik3izdiir] {
    padding: 28px;
    display: grid;
    gap: 18px;
    min-width: 0;
    background: var(--clv-card-surface, var(--clc-material-paper, var(--clc-assign-base)));
    box-shadow: var(--clv-card-shadow, var(--clc-material-elevation-0));
    border-radius: var(--clc-mist-radius-surface, 14px);
}

.is-plan .clc-payment-test__checkout[b-sik3izdiir] {
    display: flex;
    flex-direction: column;
    padding: 0 8px;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    gap: 24px;
}
.is-credit .clc-payment-test__checkout[b-sik3izdiir] {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}
.is-credit .clc-payment-test__checkout-heading[b-sik3izdiir] { gap: 12px; padding: 4px 0; }
.is-credit .clc-payment-test__checkout-heading[b-sik3izdiir]  h2 { margin-bottom: 0; }
.is-credit .clc-payment-test__agreement[b-sik3izdiir] { gap: 10px; }
.is-credit .clc-payment-test__agreement[b-sik3izdiir]  label { font-size: 13px; line-height: 1.6; }
.clc-payment-test__widgets[b-sik3izdiir] { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.clc-payment-test__order[b-sik3izdiir] { display: grid; gap: 16px; min-width: 0; }
.is-plan .clc-payment-test__order[b-sik3izdiir] { margin-top: auto; }
.clc-payment-test__guidance[b-sik3izdiir] { display: grid; gap: 10px; }
.clc-payment-test__guidance[b-sik3izdiir]  .clc-payment-test__guidance-title { font-size: 15px; font-weight: 650; margin: 0; }
.clc-payment-test__guidance ul[b-sik3izdiir] { display: grid; gap: 6px; margin: 0; padding-left: 18px; color: var(--clv-text-secondary, var(--clc-text-color)); font-size: 13px; line-height: 1.65; }
.clc-payment-test__guidance a[b-sik3izdiir] { padding: 0; text-decoration: underline; }

.clc-payment-test__actions[b-sik3izdiir],
.clc-payment-test__agreement[b-sik3izdiir] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.clc-payment-test__agreement[b-sik3izdiir] {
    flex-wrap: nowrap;
    align-items: flex-start;
}

.clc-payment-test a[b-sik3izdiir] {
    color: var(--clc-mist-ink-primary, var(--clc-primary));
    border-radius: var(--clc-mist-radius-chip, 8px);
    padding: 6px;
    text-underline-offset: 4px;
}

.clc-payment-test a:hover[b-sik3izdiir] {
    box-shadow: var(--clc-material-elevation-1);
}

.clc-payment-test a:focus-visible[b-sik3izdiir] {
    outline: 2px solid var(--clc-primary);
    outline-offset: 3px;
    box-shadow: var(--clc-mist-focus-shadow);
}

.clc-payment-test__result[b-sik3izdiir] {
    display: grid;
    min-width: 0;
    width: 100%;
    max-width: 560px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 40px 36px;
    gap: 28px;
    text-align: center;
}

.clc-payment-test__result-heading[b-sik3izdiir] { display: grid; justify-items: center; gap: 22px; }
.clc-payment-test__result-icon[b-sik3izdiir] {
    display: grid;
    place-items: center;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: var(--clc-mist-action-quiet-fill, var(--clc-assign-base-100));
    color: var(--clv-text-secondary, var(--clc-text-secondary-color));
}
.clc-payment-test__result-icon.is-success[b-sik3izdiir] { background: var(--clc-primary); color: var(--clc-on-primary); }
.clc-payment-test__result-icon svg[b-sik3izdiir] { width: 46px; height: 46px; stroke: currentColor; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.clc-payment-test__result[b-sik3izdiir]  .clc-payment-test__result-title { margin: 0; font-size: clamp(24px, 3vw, 30px); font-weight: 650; line-height: 1.4; letter-spacing: -0.03em; }
.clc-payment-test__result[b-sik3izdiir]  .clc-payment-test__result-reason { margin: 0; color: var(--clv-text-secondary, var(--clc-text-secondary-color)); line-height: 1.7; overflow-wrap: anywhere; }
.clc-payment-test__result[b-sik3izdiir]  .clc-payment-test__result-reason { font-size: 14px; }
.clc-payment-test__result-actions[b-sik3izdiir] { display: flex; display: -webkit-flex; justify-content: center; -webkit-justify-content: center; flex-wrap: wrap; -webkit-flex-wrap: wrap; gap: 12px; }
.clc-payment-test__result-actions[b-sik3izdiir]  .clc-button { flex: 1 1 180px; min-height: 44px; }
.clc-payment-test__result-actions[b-sik3izdiir]  .clc-button:focus-visible { outline: 2px solid var(--clc-primary); outline-offset: 3px; }

.clc-payment-test__summary[b-sik3izdiir] { display: grid; gap: 20px; margin: 0; padding: 8px 0; font-size: 14px; }
.clc-payment-test__summary > div[b-sik3izdiir] { display: flex; display: -webkit-flex; align-items: baseline; -webkit-align-items: baseline; gap: 14px; }
.clc-payment-test__summary > div[b-sik3izdiir]::before { content: ""; order: 1; flex: 1 1 16px; min-width: 12px; border-bottom: 1px solid var(--clc-material-hairline, var(--clc-assign-base-200)); }

.clc-payment-test__summary dt[b-sik3izdiir] {
    color: var(--clv-text-secondary, var(--clc-assign-base-500));
    font-weight: 500;
    flex-shrink: 0;
}

.clc-payment-test__summary dd[b-sik3izdiir] {
    margin: 0;
    order: 2;
    min-width: 0;
    max-width: 70%;
    text-align: right;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.clc-payment-test__timezone[b-sik3izdiir] { display: block; font-size: 12px; font-weight: 400; color: var(--clv-text-secondary, var(--clc-text-secondary-color)); }

.clc-payment-test__widget[b-sik3izdiir] {
    min-height: 160px;
}

@media (max-width: 1020px) {
    .clc-payment-test__products[b-sik3izdiir] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .clc-payment-test__catalog.is-plan.has-selection[b-sik3izdiir] { grid-template-columns: minmax(0, 1fr); }
    .is-plan.has-selection .clc-payment-test__products[b-sik3izdiir]  .clc-test-product { min-height: 420px; }
}

@media (max-width: 550px) {
    .clc-payment-test[b-sik3izdiir] { padding: 28px 18px 48px; gap: 22px; }
    .clc-payment-test__products[b-sik3izdiir] { gap: 14px; }
    .is-plan .clc-payment-test__products[b-sik3izdiir] { grid-template-columns: minmax(0, 1fr); }
    .clc-payment-test__panel[b-sik3izdiir] { padding: 18px; }
    .is-plan .clc-payment-test__checkout[b-sik3izdiir] { padding: 0; }
    .is-credit .clc-payment-test__checkout[b-sik3izdiir] { padding: 0; }
    .clc-payment-test__catalog.is-credit[b-sik3izdiir] { gap: 16px; }
    .is-credit .clc-payment-test__products[b-sik3izdiir] { gap: 12px; }
    .clc-payment-test__result[b-sik3izdiir] { padding: 32px 20px; gap: 24px; }
    .clc-payment-test__summary[b-sik3izdiir] { font-size: 13px; gap: 18px; }
    .clc-payment-test__summary > div[b-sik3izdiir] { gap: 10px; }
    .clc-payment-test__summary dd[b-sik3izdiir] { max-width: 66%; }
}

@media (max-width: 360px) {
    .is-credit .clc-payment-test__products[b-sik3izdiir] { grid-template-columns: minmax(0, 1fr); }
}

@media (forced-colors: active) {
    .clc-payment-test a:focus-visible[b-sik3izdiir] { outline-color: Highlight; }
    .clc-payment-test__result-actions[b-sik3izdiir]  .clc-button:focus-visible { outline-color: Highlight; }
    .clc-payment-test__result-icon[b-sik3izdiir] { outline: 2px solid CanvasText; }
}
/* /Pages/Payment/Test/TossTestProductCard.razor.rz.scp.css */
.clc-test-product[b-ohjxmq4lzn] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    min-height: 560px;
    height: 100%;
    padding: 28px;
    border: 0;
    border-radius: 28px;
    text-align: left;
    color: var(--clv-text-primary, var(--clc-text-color));
    background: var(--clv-card-surface, var(--clc-material-paper, var(--clc-assign-base)));
    box-shadow: var(--clv-card-shadow, var(--clc-material-elevation-0));
    cursor: pointer;
    transition: background 200ms ease;
}
.clc-test-product:not(.clc-test-product--pro):not(.clc-test-product--business):not(:disabled):hover[b-ohjxmq4lzn] {
    background: var(--clc-material-paper-raised, var(--clc-assign-base));
}

/* ProjectTodoWorkspacePage의 세 방향 그라데이션을 플랜별 농도로 적용한다. */
.clc-test-product--pro[b-ohjxmq4lzn] { --plan-tint: 6%; --plan-tint-soft: 4%; --plan-edge: 55%; }
.clc-test-product--business[b-ohjxmq4lzn] { --plan-tint: 14%; --plan-tint-soft: 10%; --plan-edge: 90%; }
.clc-test-product--pro[b-ohjxmq4lzn],
.clc-test-product--business[b-ohjxmq4lzn] {
    background:
        linear-gradient(115deg, color-mix(in srgb, var(--clc-primary) var(--plan-tint), transparent) 0%, transparent 38%, color-mix(in srgb, var(--clc-info) var(--plan-tint), transparent) 70%, transparent 100%),
        linear-gradient(210deg, transparent 0%, color-mix(in srgb, var(--clc-info) var(--plan-tint-soft), transparent) 30%, transparent 58%, color-mix(in srgb, var(--clc-primary) var(--plan-tint), transparent) 100%),
        linear-gradient(320deg, color-mix(in srgb, var(--clc-primary) var(--plan-tint-soft), transparent) 0%, transparent 48%, color-mix(in srgb, var(--clc-info) var(--plan-tint-soft), transparent) 100%),
        var(--clv-card-surface, var(--clc-material-paper, var(--clc-assign-base)));
}
@media (hover: hover) {
    .clc-test-product:is(.clc-test-product--pro, .clc-test-product--business):not(:disabled):hover:not(:active)[b-ohjxmq4lzn] {
        background-color: var(--clc-material-paper-raised, var(--clc-assign-base));
    }
}
/* 사용자 요청에 따라 Pro와 Business에만 보라색 그라데이션 외곽선을 표시한다. */
.clc-test-product--pro[b-ohjxmq4lzn]::before,
.clc-test-product--business[b-ohjxmq4lzn]::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(145deg, color-mix(in srgb, var(--clc-primary) var(--plan-edge), transparent), color-mix(in srgb, var(--clc-primary) 22%, transparent) 48%, color-mix(in srgb, var(--clc-primary) var(--plan-edge), transparent));
    -webkit-mask: linear-gradient(currentColor 0 0) content-box, linear-gradient(currentColor 0 0);
    mask: linear-gradient(currentColor 0 0) content-box, linear-gradient(currentColor 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}
.clc-test-product:focus-visible[b-ohjxmq4lzn] {
    outline: 2px solid var(--clc-primary);
    outline-offset: 4px;
    box-shadow: var(--clc-mist-focus-shadow);
}
.clc-test-product:active:not(:disabled)[b-ohjxmq4lzn] { box-shadow: var(--clc-material-elevation-0); }
.clc-test-product:disabled[b-ohjxmq4lzn] { cursor: default; }
.clc-test-product__heading[b-ohjxmq4lzn] { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 28px; }
.clc-test-product__check[b-ohjxmq4lzn] {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--clc-material-field-strong, var(--clc-assign-base));
    color: var(--clv-text-secondary, var(--clc-text-color));
}
.is-selected .clc-test-product__check[b-ohjxmq4lzn] { background: var(--clc-primary); color: var(--clc-on-primary); }
.clc-test-product[b-ohjxmq4lzn]  .clc-test-product__name { margin: 0; font-size: 24px; font-weight: 600; line-height: 28px; }
.clc-test-product[b-ohjxmq4lzn]  .clc-test-product__current { margin: 0; padding: 4px 8px; border-radius: 7px; background: var(--clc-material-field, var(--clc-assign-base)); color: var(--clv-text-secondary, var(--clc-text-color)); font-size: 11px; font-weight: 500; line-height: 20px; white-space: nowrap; }
.clc-test-product__price[b-ohjxmq4lzn] { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
.clc-test-product__price[b-ohjxmq4lzn]  span { font-size: 30px; font-weight: 700; letter-spacing: -0.045em; line-height: 1.25; margin: 0; }
.clc-test-product[b-ohjxmq4lzn]  .clc-test-product__unit { font-size: 13px; color: var(--clv-text-secondary, var(--clc-text-color)); font-weight: 500; letter-spacing: normal; margin: 0; }
.clc-test-product[b-ohjxmq4lzn]  .clc-test-product__description { margin: 10px 0 0; min-height: 64px; font-size: 13px; line-height: 1.6; color: var(--clv-text-secondary, var(--clc-text-color)); }
.clc-test-product__benefits[b-ohjxmq4lzn] { display: grid; gap: 12px; margin-top: 32px; }
.clc-test-product__benefits > span[b-ohjxmq4lzn] { display: flex; gap: 8px; align-items: flex-start; }
.clc-test-product__benefits svg[b-ohjxmq4lzn] { flex: 0 0 16px; margin-top: 3px; color: var(--clv-text-secondary, var(--clc-text-color)); }
.clc-test-product__benefits[b-ohjxmq4lzn]  .clc-test-product__benefit-text { margin: 0; font-size: 14px; line-height: 1.5; }
.clc-test-product--compact[b-ohjxmq4lzn] { min-height: 190px; padding: 24px; border-radius: 22px; }
.clc-test-product--compact[b-ohjxmq4lzn]  .clc-test-product__unit { margin-top: 4px; }
.clc-test-product--compact .clc-test-product__price[b-ohjxmq4lzn] { margin-top: 22px; }
@media (max-width: 600px) {
    .clc-test-product[b-ohjxmq4lzn] { min-height: 420px; padding: 22px; }
    .clc-test-product__benefits[b-ohjxmq4lzn] { margin-top: 24px; }
    .clc-test-product--compact[b-ohjxmq4lzn] { min-height: 166px; padding: 18px; }
    .clc-test-product__heading[b-ohjxmq4lzn] { gap: 8px; }
    .clc-test-product__check[b-ohjxmq4lzn] { flex-basis: 28px; }
}
@media (prefers-reduced-motion: reduce) { .clc-test-product[b-ohjxmq4lzn] { transition: none; } }
.clc-test-product:where(html[data-clevi-motion="reduced"] *)[b-ohjxmq4lzn] { transition: none; }
@media (forced-colors: active) {
    .clc-test-product--pro[b-ohjxmq4lzn]::before, .clc-test-product--business[b-ohjxmq4lzn]::before { display: none; }
    .clc-test-product[b-ohjxmq4lzn] { outline: 1px solid ButtonText; }
    .clc-test-product.is-selected[b-ohjxmq4lzn] { outline: 2px solid Highlight; }
    .clc-test-product__check[b-ohjxmq4lzn] { outline: 1px solid ButtonText; }
}
/* /Pages/Policies/PolicyPageShell.razor.rz.scp.css */
.policy-page[b-pbj6o51bx4] {
    --policy-rail-width: 236px;
    container: policy-page / inline-size;
    min-height: 100%;
    padding: 128px var(--policy-page-inline-padding, 28px) 64px;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-family: 'Pretendard', sans-serif;
    box-sizing: border-box;
}

.policy-page__frame[b-pbj6o51bx4] {
    display: block;
    width: 100%;
    max-width: var(--policy-content-max-width, 960px);
    margin-inline: auto;
}

.policy-page__main-column[b-pbj6o51bx4] {
    min-width: 0;
}

.policy-page__frame--content[b-pbj6o51bx4] {
    margin-top: 36px;
}

.policy-page__business-info[b-pbj6o51bx4] {
    min-width: 0;
    margin-top: 72px;
}

.policy-page__hero[b-pbj6o51bx4] {
    padding: 0 4px 12px;
}

.policy-page__hero-title[b-pbj6o51bx4] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: clamp(2.25rem, 5vw, 2.75rem);
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.policy-page__tab-header[b-pbj6o51bx4] {
    width: 100%;
    background: var(--clv-background);
}

.policy-page__tabs[b-pbj6o51bx4] {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    min-width: 0;
    gap: 6px;
    padding: 14px 0 12px;
    border-bottom: 1px solid var(--clc-material-hairline-strong);
    overflow: hidden;
}

.policy-page__tab-list[b-pbj6o51bx4] {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--clv-text-secondary) transparent;
}

.policy-page__tab[b-pbj6o51bx4] {
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    height: 38px;
    padding: 8px 16px;
    border: 0;
    border-radius: 999px;
    color: var(--clv-text-primary);
    background: var(--clc-interaction-selected);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background 140ms ease-out, color 140ms ease-out;
}

.policy-page__toc a:focus-visible[b-pbj6o51bx4],
.policy-page__document[b-pbj6o51bx4]  .policy-table-wrap:focus-visible {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow, var(--clv-field-focus-shadow));
}

.policy-page__tab.is-active[b-pbj6o51bx4],
.policy-page__tab.is-active:hover[b-pbj6o51bx4],
.policy-page__tab.is-active:focus-visible[b-pbj6o51bx4] {
    color: var(--clv-background);
    background: var(--clv-text-primary);
}

.policy-page__effective-date[b-pbj6o51bx4] {
    flex: 0 0 auto;
    min-width: 0;
    max-width: min(46vw, 240px);
    gap: 6px;
    margin: 0;
}

.policy-page__date-picker[b-pbj6o51bx4] {
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin: 18px auto 0;
    text-align: left;
}

.policy-page__effective-date[b-pbj6o51bx4] {
    list-style: none;
}

.policy-page__effective-date[b-pbj6o51bx4]::-webkit-details-marker {
    display: none;
}

.policy-page__date-options[b-pbj6o51bx4] {
    box-sizing: border-box;
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    min-width: 178px;
    width: max-content;
    max-width: calc(100vw - 36px);
    max-height: min(280px, 40dvh);
    padding: 6px;
    overflow-y: auto;
    border: 0;
    border-radius: var(--clc-mist-radius-surface, 14px);
    color: var(--clv-text-primary, var(--clc-text-color));
    background: var(--clv-chrome-surface, var(--clc-material-chrome, var(--clc-base-background-color)));
    box-shadow: var(--clv-chrome-shadow, var(--clc-material-elevation-2, none));
    -webkit-backdrop-filter: var(--clv-chrome-blur, var(--clc-material-blur-chrome, none));
    backdrop-filter: var(--clv-chrome-blur, var(--clc-material-blur-chrome, none));
    scrollbar-width: thin;
    scrollbar-color: var(--clv-text-secondary) transparent;
}

.policy-page__date-option[b-pbj6o51bx4] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-radius: var(--clc-mist-radius-chip, 8px);
    color: inherit;
    background: transparent;
    font: inherit;
    font-size: 0.875rem;
    text-align: left;
    cursor: pointer;
}

.policy-page__date-option[aria-checked="true"][b-pbj6o51bx4] {
    background: var(--clc-interaction-selected);
}

.policy-page__date-check[b-pbj6o51bx4] {
    width: 1em;
    color: var(--clc-primary);
}

.policy-page__tab:hover[b-pbj6o51bx4],
.policy-page__date-option:hover[b-pbj6o51bx4] {
    box-shadow: var(--clc-material-elevation-1, none);
}

.policy-page__tab:active[b-pbj6o51bx4],
.policy-page__date-option:active[b-pbj6o51bx4] {
    box-shadow: var(--clc-material-elevation-0, none);
}

.policy-page__tab:focus-visible[b-pbj6o51bx4],
.policy-page__date-option:focus-visible[b-pbj6o51bx4] {
    outline: 2px solid var(--clc-primary);
    outline-offset: 2px;
    box-shadow: var(--clc-mist-focus-shadow, none);
}

@supports (-moz-appearance: none) {
    .policy-page__date-options[b-pbj6o51bx4] {
        backdrop-filter: var(--clc-material-blur-chrome-lite, none);
    }
}

@media (prefers-reduced-transparency: reduce) {
    .policy-page__date-options[b-pbj6o51bx4] {
        background: var(--clc-material-chrome-static, var(--clc-base-background-color));
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .policy-page__date-options[b-pbj6o51bx4] {
        background: var(--clc-material-chrome-static, var(--clc-base-background-color));
    }
}

@media (forced-colors: active) {
    .policy-page__tab:focus-visible[b-pbj6o51bx4],
    .policy-page__date-option:focus-visible[b-pbj6o51bx4] {
        outline-color: Highlight;
    }
}

.policy-page__effective-date > span[b-pbj6o51bx4] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.policy-page__document[b-pbj6o51bx4] {
    min-width: 0;
}

.policy-page__document-body[b-pbj6o51bx4] {
    position: relative;
    min-width: 0;
}

.policy-page__document-header[b-pbj6o51bx4] {
    margin-bottom: clamp(36px, 6vw, 64px);
    text-align: center;
}

.policy-page__document-title[b-pbj6o51bx4] {
    margin: 0;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: clamp(2.25rem, 6vw, 3.5rem);
    line-height: 1.12;
    letter-spacing: -0.045em;
    word-break: keep-all;
}

.policy-page__document-meta[b-pbj6o51bx4] {
    margin: 18px 0 0;
    color: var(--clv-text-secondary, var(--clc-assign-base-500));
    font-size: 0.9375rem;
    line-height: 1.65;
}

.policy-page__toc-list[b-pbj6o51bx4] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.policy-page__toc-list li[b-pbj6o51bx4] {
    min-width: 0;
}

.policy-page__toc-list a[b-pbj6o51bx4] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 8px 10px;
    color: var(--clv-text-secondary, var(--clc-assign-base-500));
    font-size: 0.875rem;
    line-height: 1.45;
    text-decoration: none;
    word-break: keep-all;
    transition: color 150ms ease;
}

.policy-page__toc-section-label[b-pbj6o51bx4] {
    color: inherit;
    font-size: 0.75rem;
    line-height: 1.7;
}

.policy-page__toc-list a:hover[b-pbj6o51bx4] {
    color: var(--clv-text-primary, var(--clc-text-color));
}

.policy-page__rail[b-pbj6o51bx4] {
    display: none;
    min-width: 0;
}

.policy-page__toc--rail[b-pbj6o51bx4] {
    position: sticky;
    top: 76px;
}

.policy-page__toc--rail .policy-page__toc-list[b-pbj6o51bx4] {
    grid-template-columns: minmax(0, 1fr);
}

.policy-page__document[b-pbj6o51bx4]  .policy-document {
    display: flex;
    flex-direction: column;
    gap: clamp(42px, 7vw, 72px);
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: 1rem;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__mock-notice {
    margin: 0;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: 0.9rem;
    line-height: 1.6;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__mock-emphasis {
    color: var(--clc-primary);
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__section {
    scroll-margin-top: 76px;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__section-title {
    margin: 0 0 22px;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    line-height: 1.35;
    letter-spacing: -0.025em;
    word-break: keep-all;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__subsection-title {
    margin: 28px 0 12px;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: 1.05rem;
    line-height: 1.5;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__paragraph {
    max-width: 82ch;
    margin: 0 0 16px;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__paragraph:last-child {
    margin-bottom: 0;
}

.policy-page__document[b-pbj6o51bx4]  .policy-table-wrap + .policy-document__paragraph,
.policy-page__document[b-pbj6o51bx4]  .policy-document__section ol + .policy-document__paragraph,
.policy-page__document[b-pbj6o51bx4]  .policy-document__section ul + .policy-document__paragraph {
    margin-top: 24px;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__section ol,
.policy-page__document[b-pbj6o51bx4]  .policy-document__section ul {
    display: grid;
    gap: 10px;
    max-width: 82ch;
    margin: 18px 0 0;
    padding-inline-start: 1.5rem;
    list-style: none;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__section li {
    position: relative;
    padding-inline-start: 0.25rem;
}

.policy-page__document[b-pbj6o51bx4]  .policy-document__section li::before {
    content: "";
    position: absolute;
    top: 0.8em;
    left: -1rem;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
}

.policy-page__document[b-pbj6o51bx4]  a,
.policy-page__document[b-pbj6o51bx4]  a:visited {
    align-self: flex-start;
    color: var(--clv-text-secondary);
    text-decoration: underline;
    cursor: pointer;
    transition: color 150ms ease;
}

.policy-page__document[b-pbj6o51bx4]  a:hover {
    color: var(--clv-text-primary);
}

.policy-page__document[b-pbj6o51bx4]  .policy-table-wrap {
    width: 100%;
    margin-top: 24px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--clv-text-tertiary, var(--clc-assign-base-400)) transparent;
}

.policy-page__document[b-pbj6o51bx4]  table {
    width: 100%;
    min-width: 720px;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-size: 0.9rem;
    line-height: 1.65;
    table-layout: fixed;
}

.policy-page__document[b-pbj6o51bx4]  caption {
    padding: 16px 18px 12px;
    color: var(--clv-text-secondary, var(--clc-assign-base-500));
    font-size: 0.8rem;
    text-align: left;
}

.policy-page__document[b-pbj6o51bx4]  th,
.policy-page__document[b-pbj6o51bx4]  td {
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid var(--clc-material-hairline);
    vertical-align: middle;
    text-align: left;
    word-break: keep-all;
}

.policy-page__document[b-pbj6o51bx4]  th + th,
.policy-page__document[b-pbj6o51bx4]  td + td {
    border-inline-start: 1px solid var(--clc-material-hairline);
}

.policy-page__document[b-pbj6o51bx4]  thead th {
    background: var(--clc-material-field, var(--clc-material-paper));
    color: var(--clv-text-primary, var(--clc-text-color));
    text-align: center;
}

.policy-page__document[b-pbj6o51bx4]  tbody tr:last-child td {
    border-bottom: 0;
}

.policy-page__document[b-pbj6o51bx4]  tbody tr:hover td {
    background: var(--clc-interaction-hover, var(--clc-material-paper));
}

@container policy-page (min-width: 1488px) {
    .policy-page__rail[b-pbj6o51bx4] {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(100% + 28px);
        width: var(--policy-rail-width);
    }
}

@media (max-width: 768px) {
    .policy-page[b-pbj6o51bx4] {
        --policy-page-inline-padding: 18px;
        padding-bottom: 36px;
    }

    .policy-page__hero[b-pbj6o51bx4] {
        padding-top: 24px;
    }

    .policy-page__frame--top[b-pbj6o51bx4] {
        display: none;
    }

    .policy-page__frame--content[b-pbj6o51bx4] {
        margin-top: 24px;
    }

    .policy-page__tabs[b-pbj6o51bx4] {
        gap: 6px;
        padding: 10px 0 12px;
    }

    .policy-page__tab[b-pbj6o51bx4] {
        flex: 0 0 auto;
        min-height: 36px;
        height: 36px;
        padding: 7px 13px;
        font-size: 0.8125rem;
    }

    .policy-page__toc-list[b-pbj6o51bx4] {
        grid-template-columns: minmax(0, 1fr);
    }

    .policy-page__document-header[b-pbj6o51bx4] {
        margin-bottom: 40px;
    }

    .policy-page__document[b-pbj6o51bx4]  .policy-document {
        gap: 48px;
        font-size: 0.95rem;
        line-height: 1.78;
    }

    .policy-page__business-info[b-pbj6o51bx4] {
        margin-top: 48px;
    }

}

@media (prefers-reduced-motion: reduce) {
    .policy-page__tab[b-pbj6o51bx4],
    .policy-page__toc-list a[b-pbj6o51bx4],
    .policy-page__document[b-pbj6o51bx4]  a {
        transition: none;
    }
}
/* /Pages/Policies/PolicyPublicLayout.razor.rz.scp.css */
.policy-public-layout[b-pyg95ppb1k] {
    --policy-content-max-width: 960px;
    --policy-page-inline-padding: 28px;
    width: 100%;
    height: 100dvh;
    min-height: 100%;
    color: var(--clv-text-primary, var(--clc-text-color));
    background: var(--clv-background, var(--clc-body-background-color));
}

.policy-public-layout__body[b-pyg95ppb1k] {
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.policy-public-layout__body > .scrollable-wrap[b-pyg95ppb1k] {
    height: 100%;
    box-sizing: border-box;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--clv-text-secondary) transparent;
    scrollbar-gutter: stable both-edges;
}

@media (max-width: 768px) {
    .policy-public-layout[b-pyg95ppb1k] {
        --policy-page-inline-padding: 18px;
    }
}
/* /Shared/Layouts/ConsoleLayout.razor.rz.scp.css */
/* === /clv 콘솔 셸 ===
   색상은 테마 토큰만 사용한다. 콘텐츠 영역 디자인 시스템은 wwwroot/css/console.css. */

.console-public-layout[b-436k129wz8] {
    height: 100dvh;
    padding-top: 64px;
    box-sizing: border-box;
}

.console-public-layout[b-436k129wz8]  > .clc-layout {
    position: relative;
    height: 100%;
}

.console-shell[b-436k129wz8] {
    min-height: 100%;
    background: var(--clc-assign-base-50, #f7f8fa);
}

/* === 헤더의 메뉴 토글 (사이드바가 접힌 상태에서의 진입점) === */
.console-header-left[b-436k129wz8] {
    display: flex;
    align-items: center;
    /* CleviLayoutBase 는 섹션 콘텐츠를 flex 형제로 펼치므로 자동 여백으로 왼쪽 슬롯을 고정한다. */
    margin-right: auto;
}

.console-header-toggle[b-436k129wz8] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    padding: 6px 12px;
    /* 표면 테두리 대신 눌린 재질과 윗면 스페큘러로 깊이를 낸다(Mist). */
    border: 0;
    border-radius: 9px;
    background: var(--clc-material-field);
    box-shadow: inset 0 1px 0 var(--clc-material-specular);
    color: var(--clv-text-primary);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.console-header-toggle:hover[b-436k129wz8] {
    background: var(--clc-material-field-strong);
}

/* 펼쳐진 사이드바가 자기 닫기 버튼을 가지므로 헤더 버튼은 접힌 상태 전용이다. */
.console-header-toggle.open[b-436k129wz8] {
    display: none;
}

@media screen and (max-width: 768px) {
    .console-header-toggle[b-436k129wz8] {
        display: none;
    }
}

.console-toggle-icon[b-436k129wz8] {
    width: 20px;
    height: 20px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M9 4v16'/%3E%3Cpath d='M14 9l3 3-3 3'/%3E%3C/svg%3E");
}

.open .console-toggle-icon[b-436k129wz8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M9 4v16'/%3E%3Cpath d='M17 9l-3 3 3 3'/%3E%3C/svg%3E");
}

/* === 사이드바 브랜드 헤더 === */
.console-side-header[b-436k129wz8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    /* 사이드바 표면 안쪽을 나누는 헤어라인 — 표면 바깥 테두리가 아니다(Mist). */
    border-bottom: 1px solid var(--clc-material-hairline);
}

.console-brand[b-436k129wz8] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    text-decoration: none;
    color: inherit;
    background: none !important;
}

.console-brand:hover[b-436k129wz8] {
    text-decoration: none;
}

.console-brand img[b-436k129wz8] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
}

.console-brand-copy[b-436k129wz8] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

.console-brand-copy strong[b-436k129wz8] {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--clv-text-primary);
    white-space: nowrap;
}

.console-brand-copy small[b-436k129wz8] {
    font-size: 0.72rem;
    color: var(--clv-text-secondary);
    white-space: nowrap;
}

.console-side-actions[b-436k129wz8] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.console-side-toggle[b-436k129wz8] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--clv-text-secondary);
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 0.15s ease;
}

.console-side-toggle:hover[b-436k129wz8] {
    background: var(--clc-material-field);
}

/* 접힌 사이드바는 조작할 수 없으므로 브랜드만 남기고 펼치기는 헤더 버튼이 담당한다. */
@media screen and (min-width: 769px) {
    .clc-sidebar-collapsed .console-side-header[b-436k129wz8] {
        padding: 12px;
        justify-content: center;
    }

    .clc-sidebar-collapsed .console-brand-copy[b-436k129wz8],
    .clc-sidebar-collapsed .console-side-actions[b-436k129wz8],
    .clc-sidebar-collapsed .console-side-body[b-436k129wz8] {
        display: none;
    }
}

/* === 사이드바 본문 === */
.console-side-body[b-436k129wz8] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 12px 20px;
}

.console-nav-group[b-436k129wz8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.console-nav-label[b-436k129wz8] {
    margin: 0 0 2px;
    padding: 0 10px;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--clc-assign-base-400);
}

.console-nav-list[b-436k129wz8] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.console-side-body[b-436k129wz8]  .console-nav-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    border-radius: 9px;
    color: var(--clv-text-secondary);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.console-side-body[b-436k129wz8]  .console-nav-item:hover {
    background: color-mix(in srgb, var(--clc-primary) 7%, transparent);
    color: var(--clc-primary);
    text-decoration: none;
}

/* 선택 상태는 왼쪽 레일이나 테두리가 아니라 낮은 채도의 강조 워시로만 표시한다(Mist).
   --clc-primary-dark 계열은 다크 테마에서 반전되지 않으므로 잉크로 쓰지 않는다. */
.console-side-body[b-436k129wz8]  .console-nav-item.active {
    background: var(--clc-mist-wash-primary, color-mix(in srgb, var(--clc-primary) 10%, transparent));
    color: var(--clc-mist-ink-primary, var(--clc-primary));
    font-weight: 700;
}

.console-nav-icon[b-436k129wz8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.console-nav-icon svg[b-436k129wz8] {
    width: 18px;
    height: 18px;
    display: block;
}

.console-nav-text[b-436k129wz8] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* === 사이드바 하단 링크 ===
   메뉴가 길어지면 사이드바(.clc-sidebar, overflow:auto)가 스크롤을 소유하므로
   하단 링크는 화면 밖으로 밀려나지 않고 스크롤 끝에서 항상 닿을 수 있다. */
.console-side-footer[b-436k129wz8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: auto;
    padding-top: 12px;
    /* 사이드바 표면 안쪽 구분선 — 표면을 두르는 테두리가 아니다(Mist). */
    border-top: 1px solid var(--clc-material-hairline);
}

.console-side-link[b-436k129wz8] {
    padding: 7px 11px;
    border-radius: 8px;
    font-size: 0.8rem;
    color: var(--clv-text-secondary);
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.console-side-link:hover[b-436k129wz8] {
    background: var(--clc-material-field);
    color: var(--clv-text-primary);
    text-decoration: none;
}

/* 다른 오리진(Clevi.App.Client)으로 나가는 링크임을 아이콘으로 알린다. */
.console-side-link-external[b-436k129wz8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.console-side-link-icon[b-436k129wz8] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--clv-text-tertiary);
}

@media (prefers-reduced-motion: reduce) {
    .console-header-toggle[b-436k129wz8],
    .console-side-toggle[b-436k129wz8],
    .console-side-body[b-436k129wz8]  .console-nav-item,
    .console-side-link[b-436k129wz8] {
        transition: none;
    }
}
/* /Shared/Layouts/MainLayout.razor.rz.scp.css */
/* /Shared/LoadingDisplay.razor.rz.scp.css */
/*body {
    background-color: #222;
}

#clevi-circle-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#clevi-circle-loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #9370DB;
    -webkit-animation: spin 5s linear infinite;
    animation: spin 5s linear infinite;
}

    #clevi-circle-loader:before {
        content: "";
        position: absolute;
        top: 5px;
        left: 5px;
        right: 5px;
        bottom: 5px;
        border-radius: 50%;
        border: 3px solid transparent;
        border-top-color: #BA55D3;
        -webkit-animation: spin 5s linear infinite;
        animation: spin 5s linear infinite;
    }

    #clevi-circle-loader:after {
        content: "";
        position: absolute;
        top: 15px;
        left: 15px;
        right: 15px;
        bottom: 15px;
        border-radius: 50%;
        border: 3px solid transparent;
        border-top-color: #FF00FF;
        -webkit-animation: spin 1.5s linear infinite;
        animation: spin 1.5s linear infinite;
    }

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
*/
/* /Shared/PublicBrowserAppLink.razor.rz.scp.css */
/* 공개 화면의 "브라우저에서 열기". 설치 버튼과 나란히 서므로 같은 높이·알약 모양·깊이 규칙(쉬는 깊이 0 → 호버 리프트 → 눌림 0.985)을
   따르고 테두리는 쓰지 않는다. 앞의 액센트 워시 원은 옆 다운로드 버튼의 플랫폼 표지와 짝을 이루고, 뒤의 화살표는 다른 사이트로
   넘어간다는 것을 말한다. 둘째 줄의 호스트가 목적지를 미리 알려 준다. */
.browser-app-link[b-bzshvrcgea] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    min-height: 44px;
    max-width: 100%;
    padding: 5px 16px 5px 6px;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
    text-align: left;
    text-decoration: none;
    transition: box-shadow var(--clc-mist-duration-state) var(--clc-mist-ease), transform var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.browser-app-link__glyph[b-bzshvrcgea] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--clc-mist-wash-primary);
    color: var(--clc-mist-ink-primary);
}

.browser-app-link__glyph svg[b-bzshvrcgea] {
    width: 18px;
    height: 18px;
}

.browser-app-link__text[b-bzshvrcgea] {
    display: grid;
    min-width: 0;
    line-height: 1.3;
}

.browser-app-link__label[b-bzshvrcgea] {
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.browser-app-link__host[b-bzshvrcgea] {
    overflow: hidden;
    color: var(--clv-text-secondary);
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.browser-app-link__arrow[b-bzshvrcgea] {
    flex: none;
    width: 16px;
    height: 16px;
    margin-left: 2px;
    color: var(--clv-text-secondary);
    transition: transform var(--clc-mist-duration-state) var(--clc-mist-ease), color var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.browser-app-link:hover[b-bzshvrcgea] {
    box-shadow: var(--clc-material-elevation-1);
    transform: translateY(-1px);
}

/* 호버하면 화살표가 목적지 쪽으로 한 걸음 나간다. 리프트와 함께 "누르면 넘어간다"를 말한다. */
.browser-app-link:hover .browser-app-link__arrow[b-bzshvrcgea] {
    color: var(--clv-text-primary);
    transform: translateX(2px);
}

.browser-app-link:active[b-bzshvrcgea] {
    box-shadow: var(--clc-material-elevation-0);
    transform: scale(.985);
}

.browser-app-link:focus-visible[b-bzshvrcgea] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

/* 큰 설치 버튼(52px) 옆에 설 때. */
.browser-app-link--large[b-bzshvrcgea] {
    gap: 12px;
    min-height: 52px;
    padding: 6px 20px 6px 7px;
    font-size: 1rem;
}

.browser-app-link--large .browser-app-link__glyph[b-bzshvrcgea] {
    width: 38px;
    height: 38px;
}

.browser-app-link--large .browser-app-link__glyph svg[b-bzshvrcgea] {
    width: 20px;
    height: 20px;
}

/* 이미 뜬 종이(받기 카드) 위. 같은 뜬 종이 채움은 카드와 명도가 같아 버튼이 사라지므로, Mist 무게 사다리의
   조용한 채움(Light 버튼과 같은 칸)으로 선다. 깊이 반응(리프트·눌림)은 그대로다. */
.browser-app-link--quiet[b-bzshvrcgea] {
    background: var(--clc-mist-action-quiet-fill);
}

/* 이 기기에서 설치할 앱이 없어 브라우저가 주 경로일 때. 액센트 판 위에서는 짝 잉크(--clc-on-primary) 하나만 쓰고
   위계는 굵기로 가른다. 워시 원은 액센트 판 위에서 보이지 않으므로 거두고 그림 자체만 둔다. */
.browser-app-link--primary[b-bzshvrcgea] {
    background: var(--clc-primary);
    color: var(--clc-on-primary);
}

.browser-app-link--primary .browser-app-link__glyph[b-bzshvrcgea] {
    background: transparent;
    color: var(--clc-on-primary);
}

.browser-app-link--primary .browser-app-link__host[b-bzshvrcgea],
.browser-app-link--primary .browser-app-link__arrow[b-bzshvrcgea],
.browser-app-link--primary:hover .browser-app-link__arrow[b-bzshvrcgea] {
    color: var(--clc-on-primary);
}

.browser-app-link--primary .browser-app-link__host[b-bzshvrcgea] {
    font-weight: 400;
}

/* 히어로 그림(오로라·신경망) 위에 떠서 겹쳐 읽히는 자리. 위 눈썹 칩과 같은 크롬 재질이다. */
.browser-app-link--chrome[b-bzshvrcgea] {
    background: var(--clc-material-chrome);
    -webkit-backdrop-filter: var(--clc-material-blur-chrome);
    backdrop-filter: var(--clc-material-blur-chrome);
}

@media (prefers-reduced-motion: reduce) {
    .browser-app-link[b-bzshvrcgea],
    .browser-app-link__arrow[b-bzshvrcgea] {
        transition: none;
    }
}
/* /Shared/PublicBusinessInfo.razor.rz.scp.css */
.clevi-business-info[b-2fg543dhka] {
    --business-info-row-gap: 8px;
    container-name: clevi-business-info;
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    gap: var(--business-info-row-gap);
    width: min(100%, 620px);
    margin: 0;
    color: var(--clv-text-primary);
    font-family: 'Pretendard';
    font-size: 0.825rem;
    font-style: normal;
    line-height: 1.6;
}

.clevi-business-info__brand[b-2fg543dhka] {
    align-self: flex-start;
    display: flex;
    margin-bottom: 16px;
    border-radius: var(--clc-mist-radius-chip, 8px);
}

.clevi-business-info__brand img[b-2fg543dhka] {
    display: block;
    width: 200px;
    height: auto;
    aspect-ratio: 25 / 8;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.clevi-business-info__brand:focus-visible[b-2fg543dhka],
.clevi-business-info__more-link:focus-visible[b-2fg543dhka] {
    outline: 2px solid var(--clc-primary);
    outline-offset: 3px;
    box-shadow: var(--clc-mist-focus-shadow, none);
}

.clevi-business-info__line[b-2fg543dhka] {
    display: flex;
    align-items: baseline;
    row-gap: var(--business-info-row-gap);
    min-width: 0;
}

.clevi-business-info__item[b-2fg543dhka] {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
    white-space: nowrap;
}

.clevi-business-info__item + .clevi-business-info__item[b-2fg543dhka]::before {
    content: '·';
    flex: none;
    margin: 0 8px;
    color: var(--clv-text-secondary);
    font-weight: 400;
}

.clevi-business-info__company-name[b-2fg543dhka] {
    color: var(--clv-text-primary);
    font-size: 0.875rem;
    font-weight: 600;
}

.clevi-business-info__label[b-2fg543dhka] {
    flex: none;
    color: var(--clv-text-secondary);
}

.clevi-business-info__value[b-2fg543dhka] {
    min-width: 0;
    color: var(--clv-text-primary);
    font-weight: 500;
}

.clevi-business-info__line--address .clevi-business-info__item[b-2fg543dhka] {
    white-space: normal;
}

.clevi-business-info .clevi-business-info__more-link[b-2fg543dhka],
.clevi-business-info .clevi-business-info__more-link:visited[b-2fg543dhka] {
    align-self: flex-start;
    color: var(--clv-text-secondary);
    font-size: 0.825rem;
    font-weight: 400;
    text-decoration: underline;
    cursor: pointer;
    transition: color 150ms ease;
}

.clevi-business-info .clevi-business-info__more-link:hover[b-2fg543dhka] {
    color: var(--clv-text-primary);
}

@media (max-width: 768px) {
    .clevi-business-info__brand img[b-2fg543dhka] {
        width: 150px;
    }
}

@container clevi-business-info (max-width: 470px) {
    .clevi-business-info__line--registration[b-2fg543dhka] {
        flex-wrap: wrap;
    }

    .clevi-business-info__item--mail-order-number[b-2fg543dhka] {
        flex-basis: 100%;
    }

    .clevi-business-info__item--mail-order-number[b-2fg543dhka]::before {
        display: none;
    }
}

@container clevi-business-info (max-width: 430px) {
    .clevi-business-info__line--contact[b-2fg543dhka] {
        flex-wrap: wrap;
    }

    .clevi-business-info__item--email[b-2fg543dhka] {
        flex-basis: 100%;
    }

    .clevi-business-info__item--email[b-2fg543dhka]::before {
        display: none;
    }
}

@container clevi-business-info (max-width: 330px) {
    .clevi-business-info__line--company[b-2fg543dhka] {
        flex-wrap: wrap;
    }

    .clevi-business-info__item--representative[b-2fg543dhka] {
        flex-basis: 100%;
    }

    .clevi-business-info__item--representative[b-2fg543dhka]::before {
        display: none;
    }
}

@container clevi-business-info (max-width: 290px) {
    .clevi-business-info__item--fax[b-2fg543dhka] {
        flex-basis: 100%;
    }

    .clevi-business-info__item--fax[b-2fg543dhka]::before {
        display: none;
    }
}
/* /Shared/PublicNotFound.razor.rz.scp.css */
/* 404 안내는 캔버스 위 종이 한 장이다. 숫자는 액센트 잉크로 크게, 다음 행동은 버튼으로 둔다. */
.public-not-found[b-zl36egkhgv] {
    box-sizing: border-box;
    width: min(100%, 640px);
    margin-inline: auto;
    padding: 136px var(--policy-page-inline-padding) 24px;
    color: var(--clv-text-primary);
}

.public-not-found__card[b-zl36egkhgv] {
    display: grid;
    justify-items: start;
    gap: 14px;
    padding: 32px 28px;
    border-radius: var(--clc-mist-radius-surface);
    background: var(--clc-material-paper);
    box-shadow: var(--clc-material-elevation-0);
}

.public-not-found__code[b-zl36egkhgv] {
    color: var(--clc-mist-ink-primary);
    font-size: 3rem;
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.public-not-found h1[b-zl36egkhgv] {
    margin: 0;
    font-size: 1.375rem;
    letter-spacing: -.02em;
}

.public-not-found p[b-zl36egkhgv] {
    margin: 0;
    color: var(--clv-text-secondary);
    line-height: 1.7;
    word-break: keep-all;
}

.public-not-found__actions[b-zl36egkhgv] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.public-not-found__button[b-zl36egkhgv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 0;
    border-radius: var(--clc-mist-radius-pill);
    background: var(--clc-material-paper-raised);
    color: var(--clv-text-primary);
    box-shadow: var(--clc-material-elevation-0);
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: box-shadow var(--clc-mist-duration-state) var(--clc-mist-ease), transform var(--clc-mist-duration-state) var(--clc-mist-ease);
}

.public-not-found__button--primary[b-zl36egkhgv] {
    background: var(--clc-primary);
    color: var(--clc-on-primary);
}

.public-not-found__button--quiet[b-zl36egkhgv] {
    background: transparent;
    box-shadow: none;
    color: var(--clv-text-secondary);
}

.public-not-found__button:hover[b-zl36egkhgv] {
    box-shadow: var(--clc-material-elevation-1);
    transform: translateY(-1px);
}

.public-not-found__button--quiet:hover[b-zl36egkhgv] {
    background: var(--clc-material-field);
    box-shadow: none;
}

.public-not-found__button:focus-visible[b-zl36egkhgv] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

@media (max-width: 560px) {
    .public-not-found[b-zl36egkhgv] {
        padding-top: 104px;
    }

    .public-not-found__card[b-zl36egkhgv] {
        padding: 24px 20px;
    }
}
/* /Shared/PublicSiteFooter.razor.rz.scp.css */
/* 바닥글은 캔버스와 같은 층이다. 표면을 따로 띄우지 않고 위쪽 헤어라인 한 줄로만 본문과 가른다. */
.public-site-footer[b-y62ubyt2qp] {
    margin-top: 56px;
    padding: 32px var(--policy-page-inline-padding) 40px;
    box-shadow: inset 0 1px 0 var(--clc-material-hairline);
    color: var(--clv-text-secondary);
}

.public-site-footer__inner[b-y62ubyt2qp] {
    display: grid;
    gap: 20px;
    width: min(100%, 1080px);
    margin-inline: auto;
}

.public-site-footer__links[b-y62ubyt2qp] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    font-size: .875rem;
}

.public-site-footer__links a[b-y62ubyt2qp] {
    padding-block: 4px;
    border-radius: var(--clc-mist-radius-chip);
    color: var(--clv-text-secondary);
    text-decoration: none;
}

.public-site-footer__links a:hover[b-y62ubyt2qp] {
    color: var(--clv-text-primary);
}

.public-site-footer__links a:focus-visible[b-y62ubyt2qp] {
    outline: none;
    box-shadow: var(--clc-mist-focus-shadow);
}

/* 개인정보처리방침은 다른 약관과 구별되게 굵게 표시한다. */
.public-site-footer__links .public-site-footer__emphasis[b-y62ubyt2qp] {
    color: var(--clv-text-primary);
    font-weight: 700;
}

.public-site-footer__copyright[b-y62ubyt2qp] {
    margin: 0;
    font-size: .8125rem;
}
/* /Shared/PublicSiteHeader.razor.rz.scp.css */
.clc-site-header[b-dqsr9h9suv] {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    height: 64px;
    color: var(--clv-text-primary, var(--clc-text-color));
    font-family: Pretendard, sans-serif;
}

.clc-site-header__material[b-dqsr9h9suv] {
    position: absolute;
    inset: 0 0 auto;
    height: calc(208px + var(--site-menu-height, 0px));
    pointer-events: none;
    background: linear-gradient(to bottom,
        var(--clc-body-background-color) 0%,
        var(--clc-body-background-color) calc(100% - 144px),
        color-mix(in srgb, var(--clc-body-background-color) 70%, transparent) calc(100% - 96px),
        transparent 100%);
    opacity: 0;
    transition: height 360ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
}

.clc-site-header[data-scrolled="true"] .clc-site-header__material[b-dqsr9h9suv],
.clc-site-header[data-expanded="true"] .clc-site-header__material[b-dqsr9h9suv] {
    opacity: 1;
}

.clc-site-header__bar[b-dqsr9h9suv] {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    height: 64px;
    padding-inline: clamp(18px, 4vw, 72px);
}

.clc-site-header__brand[b-dqsr9h9suv] { justify-self: start; display: flex; border-radius: 8px; }
.clc-site-header__brand img[b-dqsr9h9suv] { display: block; width: 100px; height: 32px; object-fit: contain; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.clc-site-header__navigation[b-dqsr9h9suv] { display: flex; align-items: center; gap: 14px; height: 64px; }
.clc-site-header__item[b-dqsr9h9suv] { height: 100%; display: flex; align-items: center; position: relative; }
.clc-site-header__tab[b-dqsr9h9suv], .clc-site-header__account-link[b-dqsr9h9suv], .clc-site-header__sublink[b-dqsr9h9suv], .clc-site-header__mobile-toggle[b-dqsr9h9suv] {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 0;
    border-radius: var(--clc-mist-radius-chip, 8px);
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color 180ms ease, background-color 140ms, box-shadow 140ms;
}
.clc-site-header__tab[b-dqsr9h9suv], .clc-site-header__sublink[b-dqsr9h9suv] { color: var(--clv-text-secondary, var(--clc-text-color)); }
.clc-site-header__tab:hover[b-dqsr9h9suv], .clc-site-header__tab[aria-expanded="true"][b-dqsr9h9suv], .clc-site-header__tab[aria-current][b-dqsr9h9suv],
.clc-site-header__sublink:hover[b-dqsr9h9suv], .clc-site-header__sublink[aria-current][b-dqsr9h9suv] { color: var(--clv-text-primary, var(--clc-text-color)); }
.clc-site-header__tab[aria-current][b-dqsr9h9suv], .clc-site-header__sublink[aria-current][b-dqsr9h9suv] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}
.clc-site-header__tab[b-dqsr9h9suv]  span, .clc-site-header__sublink[b-dqsr9h9suv]  span { margin: 0; color: inherit; font: inherit; }
.clc-site-header__account-link:hover[b-dqsr9h9suv], .clc-site-header__mobile-toggle:hover[b-dqsr9h9suv] {
    background: var(--clc-material-paper-raised, var(--clc-body-background-color));
    box-shadow: var(--clc-material-elevation-1, none);
}
.clc-site-header a:focus-visible[b-dqsr9h9suv], .clc-site-header button:focus-visible[b-dqsr9h9suv] {
    outline: 2px solid var(--clc-primary);
    outline-offset: 2px;
    background: var(--clc-mist-focus-wash, var(--clc-material-field));
    box-shadow: var(--clc-mist-focus-shadow, none);
}
.clc-site-header .clc-site-header__sublink:focus-visible[b-dqsr9h9suv] {
    color: var(--clv-text-primary, var(--clc-text-color));
    background: transparent;
    box-shadow: none;
}
.clc-site-header__account-link:active[b-dqsr9h9suv] { box-shadow: var(--clc-material-elevation-0, none); }
.clc-site-header__submenu[b-dqsr9h9suv] { position: absolute; top: 52px; left: -4px; width: 248px; padding: 4px 4px 20px; box-sizing: border-box; max-height: calc(100dvh - 64px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--clv-text-secondary, var(--clc-text-color)) transparent; }
.clc-site-header__submenu[hidden][b-dqsr9h9suv] { display: none; }
.clc-site-header__sublink[b-dqsr9h9suv] { width: 100%; min-height: 40px; font-weight: 500; }
.clc-site-header__account[b-dqsr9h9suv] { justify-self: end; display: flex; align-items: center; gap: 12px; min-width: 0; }
.clc-site-header__user[b-dqsr9h9suv] { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 13px; }
.clc-site-header__user-name[b-dqsr9h9suv] { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clc-site-header__user-dot[b-dqsr9h9suv] { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--clc-success); }
.clc-site-header__mobile-toggle[b-dqsr9h9suv] { display: none; }

@media (max-width: 1200px) {
    .clc-site-header__bar[b-dqsr9h9suv] { gap: 12px; }
    .clc-site-header__navigation[b-dqsr9h9suv] { gap: 2px; }
    .clc-site-header__user-name[b-dqsr9h9suv] { max-width: 72px; }
    .clc-site-header__account[b-dqsr9h9suv] { gap: 5px; }
}
@media (max-width: 900px) {
    .clc-site-header__bar[b-dqsr9h9suv] { grid-template-columns: auto 1fr auto; gap: 8px; padding-inline: 16px; }
    .clc-site-header__brand img[b-dqsr9h9suv] { width: 78px; height: 28px; }
    .clc-site-header__mobile-toggle[b-dqsr9h9suv] { display: flex; justify-self: start; }
    .clc-site-header__navigation[b-dqsr9h9suv] { display: none; position: absolute; top: 64px; inset-inline: 0; height: auto; max-height: calc(100dvh - 64px); overflow-y: auto; padding: 8px 16px 20px; box-sizing: border-box; scrollbar-width: thin; }
    .clc-site-header[data-mobile-open="true"] .clc-site-header__navigation[b-dqsr9h9suv] { display: block; }
    .clc-site-header__item[b-dqsr9h9suv] { display: block; height: auto; }
    .clc-site-header__tab[b-dqsr9h9suv] { width: 100%; justify-content: space-between; min-height: 44px; }
    .clc-site-header__submenu[b-dqsr9h9suv] { position: static; width: 100%; padding: 0 12px 10px; max-height: none; overflow: visible; }
    .clc-site-header__account[b-dqsr9h9suv] { gap: 4px; }
    .clc-site-header__user-name[b-dqsr9h9suv] { max-width: 56px; }
    .clc-site-header__account-link[b-dqsr9h9suv] { padding-inline: 6px; font-size: 12px; }
}
@media (max-width: 390px) {
    .clc-site-header__user-name[b-dqsr9h9suv] { display: none; }
}
@media (prefers-reduced-transparency: reduce) {
    .clc-site-header__material[b-dqsr9h9suv] { background: var(--clc-body-background-color); }
    .clc-site-header[data-scrolled="true"] .clc-site-header__material[b-dqsr9h9suv],
    .clc-site-header[data-expanded="true"] .clc-site-header__material[b-dqsr9h9suv] { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .clc-site-header__material[b-dqsr9h9suv], .clc-site-header a[b-dqsr9h9suv], .clc-site-header button[b-dqsr9h9suv] { transition: none; }
}
@media (forced-colors: active) {
    .clc-site-header__material[b-dqsr9h9suv] { background: Canvas; }
    .clc-site-header[data-scrolled="true"] .clc-site-header__material[b-dqsr9h9suv],
    .clc-site-header[data-expanded="true"] .clc-site-header__material[b-dqsr9h9suv] { opacity: 1; }
    .clc-site-header a:focus-visible[b-dqsr9h9suv], .clc-site-header button:focus-visible[b-dqsr9h9suv] { outline-color: Highlight; }
}
