@import '_content/Clevi.App.Components/Clevi.App.Components.ll788z3y6a.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-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;
}

@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],
.bulk-summary[b-u8zezl0xuk] {
    border: 1px solid var(--clc-assign-base-200);
    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],
.bulk-summary 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;
}

.bulk-summary[b-u8zezl0xuk] {
    color: var(--clv-text-secondary);
}

@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 고유 스타일 — 넓은 결과 테이블을 위한 폭 확장 및 미리보기 요소 */

.adm-dialog.bulk-account-dialog[b-l3p6q0nhhu] {
    min-width: 760px;
    max-width: 1040px;
}

.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);
}

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

@media (max-width: 820px) {
    .adm-dialog.bulk-account-dialog[b-l3p6q0nhhu] {
        min-width: 0;
    }
}
/* /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 */
/* Capability Proposal 운영 — 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-id[b-4glh6giqhi],
.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 */
.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-pack-summary[b-xpt25lid32],
.ari-pack-badge[b-xpt25lid32] {
    border: 1px solid var(--clc-border-color);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.3rem 0.65rem;
    white-space: nowrap;
}

.ari-pack-summary.active[b-xpt25lid32],
.ari-pack-badge.active[b-xpt25lid32] {
    background: color-mix(in srgb, var(--clc-success) 14%, transparent);
    border-color: color-mix(in srgb, var(--clc-success) 40%, var(--clc-border-color));
    color: var(--clc-success);
}

.ari-pack-summary.published[b-xpt25lid32],
.ari-pack-badge.published[b-xpt25lid32] {
    background: color-mix(in srgb, var(--clc-info) 14%, transparent);
    border-color: color-mix(in srgb, var(--clc-info) 40%, var(--clc-border-color));
    color: var(--clc-info);
}

.ari-pack-summary.draft[b-xpt25lid32],
.ari-pack-badge.draft[b-xpt25lid32] {
    background: color-mix(in srgb, var(--clc-warning) 14%, transparent);
    border-color: color-mix(in srgb, var(--clc-warning) 40%, var(--clc-border-color));
    color: var(--clc-warning);
}

.ari-pack-summary.attention[b-xpt25lid32],
.ari-pack-badge.attention[b-xpt25lid32] {
    background: color-mix(in srgb, var(--clc-danger) 12%, transparent);
    border-color: color-mix(in srgb, var(--clc-danger) 40%, var(--clc-border-color));
    color: var(--clc-danger);
}

.ari-prompt-pack-actions[b-xpt25lid32] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1rem 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-surface-color);
    border: 1px solid var(--clc-border-color);
    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(--clc-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(--clc-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-border-color);
    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-background-color);
    border: 1px solid var(--clc-border-color);
    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-* 로 표현 불가능한 페이지 고유 스타일 (좌측 섹션 탭 등) */

.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: grid;
    grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

.ari-svce-runtime .runtime-nav[b-t7otmnqv1a] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ari-svce-runtime .runtime-nav-item[b-t7otmnqv1a] {
    width: 100%;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
}

.ari-svce-runtime .runtime-nav-item strong[b-t7otmnqv1a],
.ari-svce-runtime .runtime-nav-item span[b-t7otmnqv1a] {
    display: block;
}

.ari-svce-runtime .runtime-nav-item strong[b-t7otmnqv1a] {
    color: var(--clv-text-primary);
    font-size: 13px;
}

.ari-svce-runtime .runtime-nav-item span[b-t7otmnqv1a] {
    color: var(--clv-text-secondary);
    font-size: 12px;
    margin-top: 2px;
}

.ari-svce-runtime .runtime-nav-item.active[b-t7otmnqv1a] {
    border-color: var(--clc-primary);
    background: var(--clc-primary-lighter);
}

.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;
}

@media (max-width: 550px) {
    .ari-svce-runtime .runtime-layout[b-t7otmnqv1a] {
        grid-template-columns: 1fr;
    }
}
/* /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/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(--clv-surface-1);
}

.credit-status.ok[b-te946hzn0g] { border-left-color: var(--clv-success, #2f9e6d); }
.credit-status.warn[b-te946hzn0g] { border-left-color: var(--clv-warning, #d99a2b); }
.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(--clv-warning, #d99a2b); }

/* ── 고급 접기 ─────────────────────────────────────────────────────────── */
.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(--clv-surface-2, rgba(127, 127, 127, 0.08));
    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(--clv-primary, #6b5bd6);
    box-shadow: 0 0 0 1px var(--clv-primary, #6b5bd6) 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/ProductDetail.razor.rz.scp.css */
/* 크레딧 부족 처리 정책 카드 선택 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;
}

.policy-helper[b-tyn4n51vq5] {
    margin-top: 12px;
}

/* 단가표 추가 폼 패널 */
.new-price-form[b-tyn4n51vq5] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
    background: var(--clc-assign-base-50);
}

/* 단가표 인라인 편집 행 */
.editing-row[b-tyn4n51vq5] {
    background: var(--clc-primary-lighter);
}

.editing-row td[b-tyn4n51vq5] {
    padding: 6px 8px;
}

.editing-row .form-control-sm[b-tyn4n51vq5],
.editing-row .form-select-sm[b-tyn4n51vq5] {
    padding: 4px 8px;
    font-size: 13px;
}
/* /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/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/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);
}

.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-policy-wide[b-gilw7aoqeb] {
    grid-column: 1 / -1;
}

.logs-policy-toggle[b-gilw7aoqeb] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.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);
}
/* /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/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/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;
}
/* /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 표시/검색 */
.owner-name-badge[b-k8zzyqg8tq] {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    background: var(--clc-primary-lighter);
    color: var(--clc-primary);
    border-radius: 4px;
    font-size: 13px;
}

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

.owner-search-wrapper[b-k8zzyqg8tq] {
    position: relative;
}

.search-status-text[b-k8zzyqg8tq] {
    padding: 4px 6px;
    font-size: 13px;
    color: var(--clv-text-secondary);
}

.owner-search-results[b-k8zzyqg8tq] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 6px;
    max-height: 160px;
    overflow-y: auto;
    background: var(--clc-assign-base);
}

.owner-search-item[b-k8zzyqg8tq] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    cursor: pointer;
    border-bottom: 1px solid var(--clc-assign-base-100);
    transition: background 0.1s;
}

.owner-search-item:last-child[b-k8zzyqg8tq] {
    border-bottom: none;
}

.owner-search-item:hover[b-k8zzyqg8tq] {
    background: var(--clc-primary-lighter);
}

.owner-result-name[b-k8zzyqg8tq] {
    font-weight: 500;
    min-width: 80px;
}

.owner-result-email[b-k8zzyqg8tq] {
    color: var(--clv-text-secondary);
    font-size: 13px;
}

.owner-result-id[b-k8zzyqg8tq] {
    margin-left: auto;
    color: var(--clv-text-tertiary);
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

/* 로그 테이블 보조 */
.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/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);
}
/* /Pages/Account/Developer/OAuthApplications.razor.rz.scp.css */
.oauth-page[b-sk8s9c7fzk] {
    --oauth-brand: var(--clc-primary);
    --oauth-brand-ink: var(--clc-primary-dark);
    --oauth-brand-soft: var(--clc-primary-lighter);
    --oauth-danger: var(--clc-danger-dark);
    --oauth-danger-soft: var(--clc-danger-lighter);
    --oauth-success: var(--clc-success-dark);
    --oauth-success-soft: var(--clc-success-lighter);
    --oauth-line: var(--clc-assign-base-200);
    --oauth-line-soft: var(--clc-assign-base-100);
    --oauth-ink: var(--clv-text-primary);
    --oauth-muted: var(--clv-text-secondary);
    --oauth-surface: var(--clc-assign-base);
    --oauth-surface-soft: var(--clc-assign-base-100);
    max-width: 1040px;
    margin: 0 auto;
    padding: 24px 8px 56px;
    color: var(--oauth-ink);
}

.oauth-head[b-sk8s9c7fzk],
.oauth-section-head[b-sk8s9c7fzk],
.oauth-operation[b-sk8s9c7fzk],
.oauth-app-row[b-sk8s9c7fzk],
.oauth-actions[b-sk8s9c7fzk],
.oauth-head-actions[b-sk8s9c7fzk],
.oauth-app-title[b-sk8s9c7fzk],
.oauth-meta[b-sk8s9c7fzk],
.oauth-checks[b-sk8s9c7fzk] {
    display: flex;
}

.oauth-head[b-sk8s9c7fzk] {
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.oauth-head h1[b-sk8s9c7fzk] { margin: 0 0 6px; font-size: 28px; }
.oauth-head p[b-sk8s9c7fzk] { margin: 0; color: var(--oauth-muted); }
.oauth-eyebrow[b-sk8s9c7fzk] { color: var(--oauth-brand-ink) !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.oauth-head-actions[b-sk8s9c7fzk], .oauth-actions[b-sk8s9c7fzk] { gap: 8px; align-items: center; }
.oauth-skeletons[b-sk8s9c7fzk], .oauth-list[b-sk8s9c7fzk], .oauth-stack[b-sk8s9c7fzk] { display: grid; gap: 12px; }

.oauth-card[b-sk8s9c7fzk] {
    border: 1px solid var(--oauth-line);
    border-radius: 14px;
    background: var(--oauth-surface);
    padding: 20px;
}

.oauth-empty[b-sk8s9c7fzk] {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.oauth-empty span[b-sk8s9c7fzk], .oauth-hint[b-sk8s9c7fzk], .oauth-operation p[b-sk8s9c7fzk], .oauth-secret span[b-sk8s9c7fzk] { color: var(--oauth-muted); }
.oauth-app-row[b-sk8s9c7fzk], .oauth-operation[b-sk8s9c7fzk] { align-items: center; justify-content: space-between; gap: 20px; }
.oauth-app-main[b-sk8s9c7fzk] { min-width: 0; }
.oauth-app-title[b-sk8s9c7fzk] { align-items: center; gap: 10px; }
.oauth-app-title h2[b-sk8s9c7fzk], .oauth-operation h2[b-sk8s9c7fzk], .oauth-form h2[b-sk8s9c7fzk], .oauth-success h2[b-sk8s9c7fzk] { margin: 0; font-size: 18px; }
.oauth-app-main > code[b-sk8s9c7fzk] { display: block; margin: 6px 0 10px; color: var(--oauth-brand-ink); overflow-wrap: anywhere; }
.oauth-meta[b-sk8s9c7fzk] { flex-wrap: wrap; gap: 8px 16px; color: var(--oauth-muted); font-size: 13px; }

.oauth-status[b-sk8s9c7fzk] {
    display: inline-flex;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.oauth-status.enabled[b-sk8s9c7fzk] { color: var(--oauth-success); background: var(--oauth-success-soft); }
.oauth-status.disabled[b-sk8s9c7fzk] { color: var(--oauth-danger); background: var(--oauth-danger-soft); }
.oauth-form[b-sk8s9c7fzk] { display: grid; gap: 24px; }
.oauth-form section[b-sk8s9c7fzk] { display: grid; gap: 12px; }
.oauth-grid[b-sk8s9c7fzk] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.oauth-grid label:last-child[b-sk8s9c7fzk] { grid-column: 1 / -1; }
.oauth-form label[b-sk8s9c7fzk] { display: grid; gap: 6px; font-weight: 650; }
.oauth-select[b-sk8s9c7fzk] { min-height: 40px; border: 1px solid var(--oauth-line); border-radius: 7px; padding: 0 10px; color: var(--oauth-ink); background: var(--oauth-surface); }
.oauth-checks[b-sk8s9c7fzk] { flex-wrap: wrap; gap: 12px 22px; }
.oauth-checks label[b-sk8s9c7fzk] { display: inline-flex; grid-auto-flow: column; align-items: center; gap: 7px; }
.oauth-section-head[b-sk8s9c7fzk] { justify-content: space-between; align-items: center; }
.oauth-operation p[b-sk8s9c7fzk] { margin: 5px 0 0; }
.oauth-danger[b-sk8s9c7fzk] { border-color: var(--oauth-danger); }

.oauth-secret[b-sk8s9c7fzk] {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding: 14px;
    border-radius: 10px;
    background: var(--oauth-brand-soft);
}

.oauth-secret code[b-sk8s9c7fzk] { overflow-wrap: anywhere; }
.oauth-success[b-sk8s9c7fzk] { display: grid; gap: 10px; }
.oauth-success > p[b-sk8s9c7fzk] { margin: 8px 0 0; color: var(--oauth-muted); }
.oauth-success > code[b-sk8s9c7fzk] { color: var(--oauth-brand-ink); }

@media (max-width: 720px) {
    .oauth-head[b-sk8s9c7fzk], .oauth-app-row[b-sk8s9c7fzk], .oauth-operation[b-sk8s9c7fzk] { align-items: stretch; flex-direction: column; }
    .oauth-grid[b-sk8s9c7fzk] { grid-template-columns: 1fr; }
    .oauth-grid label:last-child[b-sk8s9c7fzk] { grid-column: auto; }
}
/* /Pages/Console/CloudConsole.razor.rz.scp.css */
/* CLEVI 사용자 API 콘솔 — 색상은 테마 토큰(--clc-*/--clv-*)만 사용한다. */

.clv-console[b-6lrtuz89mi] {
    max-width: 1160px;
    margin: 0 auto;
    padding: 24px 16px 64px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--clv-text-primary);
}

/* ===== 헤더 ===== */
.clv-head[b-6lrtuz89mi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 4px 2px 8px;
}

.clv-eyebrow[b-6lrtuz89mi] {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--clc-primary-dark);
}

.clv-head h1[b-6lrtuz89mi] {
    margin: 0 0 6px;
    font-size: 28px;
    letter-spacing: -0.4px;
}

.clv-head-sub[b-6lrtuz89mi] {
    margin: 0;
    color: var(--clv-text-secondary);
}

.clv-head-actions[b-6lrtuz89mi] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.clv-select[b-6lrtuz89mi] {
    min-height: 38px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    padding: 0 10px;
    color: var(--clv-text-primary);
    background: var(--clc-assign-base);
}

.clv-link-btn[b-6lrtuz89mi] {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.clv-link-btn:hover[b-6lrtuz89mi] {
    border-color: var(--clc-primary-light);
    background: var(--clc-assign-base-50);
    text-decoration: none;
}

/* ===== KPI ===== */
.clv-kpi-grid[b-6lrtuz89mi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.clv-kpi[b-6lrtuz89mi] {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 14px;
    background: var(--clc-assign-base);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.clv-kpi[b-6lrtuz89mi]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--clc-primary), var(--clc-success));
}

.clv-kpi-label[b-6lrtuz89mi] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.clv-kpi-value[b-6lrtuz89mi] {
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--clv-text-primary);
    font-variant-numeric: tabular-nums;
}

.clv-kpi-foot[b-6lrtuz89mi] {
    font-size: 0.78rem;
    color: var(--clv-text-tertiary);
}

/* ===== 카드/그리드 ===== */
.clv-grid[b-6lrtuz89mi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 16px;
}

.clv-card[b-6lrtuz89mi] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 14px;
    background: var(--clc-assign-base);
    padding: 18px 20px;
    min-width: 0;
}

.clv-card-head[b-6lrtuz89mi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.clv-card-head h3[b-6lrtuz89mi] {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
}

.clv-badge[b-6lrtuz89mi] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: var(--clc-primary-lighter);
    color: var(--clc-primary-dark);
    white-space: nowrap;
}

.clv-hint[b-6lrtuz89mi] {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--clv-text-secondary);
}

.clv-hint code[b-6lrtuz89mi] {
    color: var(--clc-primary-dark);
}

.clv-hint a[b-6lrtuz89mi] {
    color: var(--clc-primary-dark);
    font-weight: 600;
}

/* ===== Quota ===== */
.clv-quota-list[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.clv-quota-row[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.clv-quota-meta[b-6lrtuz89mi] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.clv-quota-name[b-6lrtuz89mi] {
    font-size: 0.88rem;
    font-weight: 600;
}

.clv-quota-count[b-6lrtuz89mi] {
    font-size: 0.82rem;
    color: var(--clv-text-secondary);
    font-variant-numeric: tabular-nums;
}

.clv-quota-bar[b-6lrtuz89mi] {
    height: 8px;
    border-radius: 999px;
    background: var(--clc-assign-base-100);
    overflow: hidden;
}

.clv-quota-fill[b-6lrtuz89mi] {
    height: 100%;
    border-radius: 999px;
    transition: width 0.3s ease;
}

.clv-quota-fill.ok[b-6lrtuz89mi]     { background: linear-gradient(90deg, var(--clc-primary), var(--clc-primary-light)); }
.clv-quota-fill.warn[b-6lrtuz89mi]   { background: var(--clc-warning); }
.clv-quota-fill.danger[b-6lrtuz89mi] { background: var(--clc-danger); }

.clv-quota-sync[b-6lrtuz89mi] {
    font-size: 0.74rem;
    color: var(--clv-text-tertiary);
}

/* ===== 지급 정책 ===== */
.clv-policy-list[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
}

.clv-policy-row[b-6lrtuz89mi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 0;
    border-bottom: 1px solid var(--clc-assign-base-100);
}

.clv-policy-row:last-child[b-6lrtuz89mi] {
    border-bottom: 0;
}

.clv-policy-meta[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.clv-policy-name[b-6lrtuz89mi] {
    font-size: 0.88rem;
    font-weight: 600;
}

.clv-policy-amount[b-6lrtuz89mi] {
    font-size: 0.8rem;
    color: var(--clc-success-dark);
    font-weight: 700;
}

.clv-policy-state[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
}

.clv-policy-next[b-6lrtuz89mi] {
    font-size: 0.74rem;
    color: var(--clv-text-tertiary);
}

/* ===== 상태 배지 ===== */
.clv-status[b-6lrtuz89mi] {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
}

.clv-status.ok[b-6lrtuz89mi]      { background: var(--clc-success-lighter); color: var(--clc-success-dark); }
.clv-status.pending[b-6lrtuz89mi] { background: var(--clc-info-lighter);    color: var(--clc-info-dark); }
.clv-status.off[b-6lrtuz89mi]     { background: var(--clc-assign-base-100); color: var(--clv-text-secondary); }

/* ===== 사용량 통계 ===== */
.clv-stat-list[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.clv-stat-list > div[b-6lrtuz89mi] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--clc-assign-base-100);
}

.clv-stat-list > div:last-child[b-6lrtuz89mi] {
    border-bottom: 0;
}

.clv-stat-list dt[b-6lrtuz89mi] {
    font-size: 0.85rem;
    color: var(--clv-text-secondary);
}

.clv-stat-list dd[b-6lrtuz89mi] {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ===== 엔드포인트 ===== */
.clv-endpoint-list[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}

.clv-endpoint-row[b-6lrtuz89mi] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.clv-endpoint-name[b-6lrtuz89mi] {
    flex: 0 0 110px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--clv-text-secondary);
}

.clv-endpoint-row code[b-6lrtuz89mi] {
    flex: 1 1 220px;
    min-width: 0;
    padding: 7px 10px;
    border-radius: 8px;
    background: var(--clc-assign-base-100);
    overflow-wrap: anywhere;
}

.clv-mono[b-6lrtuz89mi] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
    color: var(--clv-text-primary);
}

/* ===== API 키 ===== */
.clv-key-create[b-6lrtuz89mi] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.clv-secret[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid var(--clc-primary-light);
    background: var(--clc-primary-lighter);
}

.clv-secret strong[b-6lrtuz89mi] {
    font-size: 0.9rem;
    color: var(--clc-primary-dark);
}

.clv-secret-row[b-6lrtuz89mi] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.clv-secret-row code[b-6lrtuz89mi] {
    flex: 1 1 240px;
    min-width: 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--clc-assign-base);
    overflow-wrap: anywhere;
}

.clv-secret > span[b-6lrtuz89mi] {
    font-size: 0.78rem;
    color: var(--clv-text-secondary);
}

.clv-table-wrap[b-6lrtuz89mi] {
    overflow-x: auto;
    min-width: 0;
}

.clv-table[b-6lrtuz89mi] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.clv-table th[b-6lrtuz89mi] {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 2px solid var(--clc-assign-base-200);
    color: var(--clv-text-secondary);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    white-space: nowrap;
}

.clv-table td[b-6lrtuz89mi] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--clc-assign-base-100);
    vertical-align: middle;
}

.clv-table tbody tr:hover[b-6lrtuz89mi] {
    background: var(--clc-assign-base-50);
}

.clv-row-dim[b-6lrtuz89mi] {
    opacity: 0.55;
}

.clv-cell-scopes[b-6lrtuz89mi] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--clv-text-secondary);
}

.clv-cell-actions[b-6lrtuz89mi] {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    white-space: nowrap;
}

/* ===== 리소스 링크 ===== */
.clv-resource-grid[b-6lrtuz89mi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.clv-resource-card[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 14px;
    background: var(--clc-assign-base);
    padding: 16px 18px;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.clv-resource-card:hover[b-6lrtuz89mi] {
    border-color: var(--clc-primary-light);
    background: var(--clc-assign-base-50);
    text-decoration: none;
}

.clv-resource-title[b-6lrtuz89mi] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--clv-text-primary);
}

.clv-resource-desc[b-6lrtuz89mi] {
    font-size: 0.82rem;
    color: var(--clv-text-secondary);
}

/* ===== 상태 화면 ===== */
.clv-skeletons[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.clv-empty[b-6lrtuz89mi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 180px;
    text-align: center;
    border: 1px dashed var(--clc-assign-base-200);
    border-radius: 12px;
    padding: 24px 16px;
}

.clv-empty strong[b-6lrtuz89mi] {
    font-size: 0.95rem;
}

.clv-empty span[b-6lrtuz89mi] {
    font-size: 0.85rem;
    color: var(--clv-text-secondary);
}

/* ===== 반응형 ===== */
@media (max-width: 720px) {
    .clv-head[b-6lrtuz89mi] {
        flex-direction: column;
        align-items: stretch;
    }

    .clv-head-actions[b-6lrtuz89mi] {
        justify-content: flex-start;
    }

    .clv-card[b-6lrtuz89mi] {
        padding: 14px 16px;
    }

    .clv-endpoint-name[b-6lrtuz89mi] {
        flex-basis: 100%;
    }

    .clv-cell-actions[b-6lrtuz89mi] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Pages/Console/CloudPlayground.razor.rz.scp.css */
/* CLEVI API 플레이그라운드 — 색상은 테마 토큰(--clc-*/--clv-*)만 사용한다. */

.clvp-page[b-3bpc45kzic] {
    max-width: 1160px;
    margin: 0 auto;
    padding: 24px 16px 64px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--clv-text-primary);
}

/* ===== 헤더 ===== */
.clvp-head[b-3bpc45kzic] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 4px 2px 8px;
}

.clvp-eyebrow[b-3bpc45kzic] {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--clc-primary-dark);
}

.clvp-head h1[b-3bpc45kzic] {
    margin: 0 0 6px;
    font-size: 28px;
    letter-spacing: -0.4px;
}

.clvp-head-sub[b-3bpc45kzic] {
    margin: 0;
    color: var(--clv-text-secondary);
}

.clvp-head-actions[b-3bpc45kzic] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.clvp-link-btn[b-3bpc45kzic] {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    background: var(--clc-assign-base);
    color: var(--clv-text-primary);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.clvp-link-btn:hover[b-3bpc45kzic] {
    border-color: var(--clc-primary-light);
    background: var(--clc-assign-base-50);
    text-decoration: none;
}

/* ===== 레이아웃 ===== */
.clvp-layout[b-3bpc45kzic] {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.clvp-settings[b-3bpc45kzic] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.clvp-card[b-3bpc45kzic] {
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 14px;
    background: var(--clc-assign-base);
    padding: 18px 20px;
    min-width: 0;
}

.clvp-card h3[b-3bpc45kzic] {
    margin: 0 0 14px;
    font-size: 1.02rem;
    font-weight: 700;
}

.clvp-card-head[b-3bpc45kzic] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.clvp-card-head h3[b-3bpc45kzic] {
    margin: 0;
}

.clvp-card-head + .clvp-code[b-3bpc45kzic] {
    margin-top: 12px;
}

/* ===== 폼 ===== */
.clvp-field[b-3bpc45kzic] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}

.clvp-field:last-child[b-3bpc45kzic] {
    margin-bottom: 0;
}

.clvp-field > label[b-3bpc45kzic] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--clv-text-secondary);
}

.clvp-optional[b-3bpc45kzic] {
    font-weight: 500;
    color: var(--clv-text-tertiary);
}

.clvp-select[b-3bpc45kzic],
.clvp-input[b-3bpc45kzic] {
    min-height: 38px;
    border: 1px solid var(--clc-assign-base-200);
    border-radius: 8px;
    padding: 0 10px;
    color: var(--clv-text-primary);
    background: var(--clc-assign-base);
    width: 100%;
}

.clvp-hint[b-3bpc45kzic] {
    font-size: 0.76rem;
    line-height: 1.55;
    color: var(--clv-text-tertiary);
}

.clvp-hint a[b-3bpc45kzic] {
    color: var(--clc-primary-dark);
}

.clvp-hint code[b-3bpc45kzic] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: var(--clc-primary-dark);
}

/* ===== 코드 블록 ===== */
.clvp-code[b-3bpc45kzic] {
    margin: 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--clc-assign-base-100);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.78rem;
    line-height: 1.6;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    color: var(--clv-text-primary);
    max-height: 360px;
    overflow-y: auto;
}

/* ===== 대화 ===== */
.clvp-chat[b-3bpc45kzic] {
    display: flex;
    flex-direction: column;
    min-height: 520px;
}

.clvp-chat-list[b-3bpc45kzic] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-y: auto;
    max-height: 560px;
    padding: 2px;
    margin-bottom: 14px;
}

.clvp-chat-empty[b-3bpc45kzic] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    min-height: 220px;
    border: 1px dashed var(--clc-assign-base-200);
    border-radius: 12px;
    padding: 24px 16px;
}

.clvp-chat-empty strong[b-3bpc45kzic] {
    font-size: 0.95rem;
}

.clvp-chat-empty span[b-3bpc45kzic] {
    font-size: 0.85rem;
    color: var(--clv-text-secondary);
    max-width: 380px;
}

.clvp-message[b-3bpc45kzic] {
    max-width: 85%;
    border-radius: 12px;
    padding: 10px 14px;
    border: 1px solid var(--clc-assign-base-200);
    background: var(--clc-assign-base-50);
}

.clvp-message.user[b-3bpc45kzic] {
    align-self: flex-end;
    background: var(--clc-primary-lighter);
    border-color: var(--clc-primary-light);
}

.clvp-message.error[b-3bpc45kzic] {
    background: var(--clc-danger-lighter);
    border-color: var(--clc-danger-light);
}

.clvp-message-meta[b-3bpc45kzic] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 0.72rem;
    color: var(--clv-text-tertiary);
    margin-bottom: 5px;
}

.clvp-message pre[b-3bpc45kzic] {
    margin: 0;
    font-family: inherit;
    font-size: 0.9rem;
    line-height: 1.6;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.clvp-chat-input[b-3bpc45kzic] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.clvp-chat-input > :first-child[b-3bpc45kzic] {
    flex: 1;
}

/* ===== Raw JSON ===== */
.clvp-raw-grid[b-3bpc45kzic] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
    margin-top: 12px;
}

.clvp-raw-grid label[b-3bpc45kzic] {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--clv-text-secondary);
    margin-bottom: 6px;
}

.clvp-page details > summary[b-3bpc45kzic] {
    cursor: pointer;
    font-weight: 700;
    font-size: 0.92rem;
}

/* ===== 반응형 ===== */
@media (max-width: 900px) {
    .clvp-layout[b-3bpc45kzic] {
        grid-template-columns: 1fr;
    }

    .clvp-message[b-3bpc45kzic] {
        max-width: 100%;
    }
}
/* /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 */
/* 랜딩 페이지 — 브랜드 마케팅 화면으로, 의도적으로 다크 팔레트에 고정한다.
   (관리 화면 규칙인 테마 토큰 강제의 문서화된 예외) */

.landing[b-m9jr7wdx37] {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: #e9ecf2;
    background:
        radial-gradient(circle at 15% 0%, rgba(94, 132, 255, 0.14), transparent 45%),
        radial-gradient(circle at 85% 100%, rgba(64, 205, 168, 0.12), transparent 50%),
        linear-gradient(180deg, #0a0d16 0%, #101527 60%, #0d1120 100%);
    font-family: 'Pretendard', 'Segoe UI', 'Noto Sans KR', sans-serif;
}

/* ===== 신경망 배경 ===== */
.landing-neural[b-m9jr7wdx37] {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.9;
}

.landing-neural svg[b-m9jr7wdx37] {
    width: 100%;
    height: 100%;
}

.landing[b-m9jr7wdx37]  .neural-edge {
    stroke: rgba(120, 150, 255, 0.14);
    stroke-width: 1;
}

.landing[b-m9jr7wdx37]  .neural-pulse {
    stroke: url(#landing-edge);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-dasharray: 14 260;
    stroke-dashoffset: 274;
    opacity: 0.85;
    animation: landing-pulse-flow-b-m9jr7wdx37 linear infinite;
}

.landing[b-m9jr7wdx37]  .neural-node {
    fill: #8fa8ff;
    opacity: 0.85;
    animation: landing-node-breathe-b-m9jr7wdx37 4.6s ease-in-out infinite;
}

.landing[b-m9jr7wdx37]  .neural-node-halo {
    fill: rgba(94, 132, 255, 0.10);
    animation: landing-halo-breathe-b-m9jr7wdx37 4.6s ease-in-out infinite;
}

@keyframes landing-pulse-flow-b-m9jr7wdx37 {
    from { stroke-dashoffset: 274; }
    to   { stroke-dashoffset: 0; }
}

@keyframes landing-node-breathe-b-m9jr7wdx37 {
    0%, 100% { opacity: 0.45; }
    50%      { opacity: 1; }
}

@keyframes landing-halo-breathe-b-m9jr7wdx37 {
    0%, 100% { opacity: 0.25; transform: scale(0.9); transform-origin: center; transform-box: fill-box; }
    50%      { opacity: 0.8;  transform: scale(1.15); transform-origin: center; transform-box: fill-box; }
}

@media (prefers-reduced-motion: reduce) {
    .landing[b-m9jr7wdx37]  .neural-pulse,
    .landing[b-m9jr7wdx37]  .neural-node,
    .landing[b-m9jr7wdx37]  .neural-node-halo {
        animation: none;
    }
}

/* ===== 상단바 ===== */
.landing-topbar[b-m9jr7wdx37] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px;
}

.landing-brand[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
    font-weight: 700;
    letter-spacing: 1.5px;
    font-size: 15px;
}

.landing-brand-mark[b-m9jr7wdx37] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: linear-gradient(135deg, #5e84ff, #40cda8);
    color: #fff;
    font-weight: 800;
    font-size: 17px;
    box-shadow: 0 4px 18px -4px rgba(94, 132, 255, 0.7);
}

.landing-topnav[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.landing-user[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.landing-user-dot[b-m9jr7wdx37] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #40cda8;
    box-shadow: 0 0 0 3px rgba(64, 205, 168, 0.18);
    flex-shrink: 0;
}

/* ===== 버튼 ===== */
.landing-btn[b-m9jr7wdx37] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14.5px;
    letter-spacing: 0.2px;
    border: 1px solid transparent;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.landing-btn.primary[b-m9jr7wdx37] {
    background: linear-gradient(135deg, #5e84ff, #6d94ff);
    color: #fff;
    box-shadow: 0 10px 28px -10px rgba(94, 132, 255, 0.85);
}

.landing-btn.primary:hover[b-m9jr7wdx37] {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px -12px rgba(94, 132, 255, 0.95);
}

.landing-btn.secondary[b-m9jr7wdx37] {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.14);
}

.landing-btn.secondary:hover[b-m9jr7wdx37] {
    background: rgba(255, 255, 255, 0.11);
    transform: translateY(-2px);
}

.landing-btn.ghost[b-m9jr7wdx37] {
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    border-color: rgba(255, 255, 255, 0.14);
    padding: 7px 16px;
    font-size: 13.5px;
}

.landing-btn.ghost:hover[b-m9jr7wdx37] {
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
}

/* ===== 히어로 ===== */
.landing-hero[b-m9jr7wdx37] {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px 24px 60px;
}

.landing-eyebrow[b-m9jr7wdx37] {
    margin: 0 0 16px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 3px;
    color: #8fa8ff;
    text-transform: uppercase;
}

.landing-title[b-m9jr7wdx37] {
    margin: 0 0 18px;
    font-size: clamp(1.9rem, 4.6vw, 3.1rem);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.8px;
    max-width: 760px;
}

.landing-title-accent[b-m9jr7wdx37] {
    background: linear-gradient(120deg, #8fa8ff, #40cda8);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.landing-subtitle[b-m9jr7wdx37] {
    margin: 0 0 32px;
    font-size: 1.05rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.68);
    max-width: 560px;
}

.landing-actions[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 34px;
}

/* ===== 기능 하이라이트 ===== */
.landing-features[b-m9jr7wdx37] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    width: min(100%, 980px);
    margin-bottom: 26px;
}

.landing-feature[b-m9jr7wdx37] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 18px 18px 16px;
    border-radius: 16px;
    text-align: left;
    text-decoration: none;
    color: inherit;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(6px);
    transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.landing-feature:hover[b-m9jr7wdx37] {
    transform: translateY(-3px);
    border-color: rgba(143, 168, 255, 0.45);
    background: rgba(94, 132, 255, 0.10);
}

.landing-feature-icon[b-m9jr7wdx37] {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 17px;
    color: #cdd9ff;
    background: linear-gradient(135deg, rgba(94, 132, 255, 0.28), rgba(64, 205, 168, 0.22));
}

.landing-feature strong[b-m9jr7wdx37] {
    font-size: 14.5px;
    letter-spacing: -0.2px;
}

.landing-feature > span:last-child[b-m9jr7wdx37] {
    font-size: 12.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.58);
}

/* ===== 엔드포인트 칩 ===== */
.landing-endpoints[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 22px;
}

.landing-endpoints code[b-m9jr7wdx37] {
    padding: 6px 12px;
    border-radius: 999px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    color: #9fe8d2;
    background: rgba(64, 205, 168, 0.08);
    border: 1px solid rgba(64, 205, 168, 0.22);
}

.landing-links[b-m9jr7wdx37] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.4);
}

.landing-links a[b-m9jr7wdx37] {
    color: rgba(255, 255, 255, 0.62);
    text-decoration: none;
    transition: color 0.15s ease;
}

.landing-links a:hover[b-m9jr7wdx37] {
    color: #fff;
}

/* ===== 푸터 ===== */
.landing-footer[b-m9jr7wdx37] {
    position: relative;
    z-index: 1;
    padding: 18px 24px;
    text-align: center;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.38);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* ===== 반응형 ===== */
@media (max-width: 560px) {
    .landing-topbar[b-m9jr7wdx37] {
        padding: 16px 20px;
    }

    .landing-user[b-m9jr7wdx37] {
        max-width: 120px;
    }

    .landing-subtitle[b-m9jr7wdx37] {
        font-size: 0.95rem;
    }
}
/* /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);
    }
}
*/
