/**
 * Nanban PRO — International premium SaaS (Stripe / Apple tier)
 * Loaded last; wins over inline admission light theme when body.nanban-pro-app.
 */

:root {
    --nb-premium-bg: #f7f5f2;
    --nb-premium-elevated: #ffffff;
    --nb-premium-text: #18181b;
    --nb-premium-muted: #64748b;
    --nb-premium-glass: #ffffff;
    --nb-premium-glass-border: rgba(15, 23, 42, 0.08);
    --nb-premium-focus: #dc2626;
    --nb-premium-radius-card: 16px;
    --nb-premium-radius-input: 12px;
}

/* ── Deep canvas + ambient glow ── */
html.nanban-authed,
html.nanban-pro-app.nanban-authed,
body.nanban-pro-app.nanban-authed {
    background: var(--nb-premium-bg) !important;
}

body.nanban-pro-app:not(.esevai-mode),
body.nanban-pro-app:not(.esevai-mode) #mainApp,
body.nanban-pro-app:not(.esevai-mode) #mainApp.nanban-glass-app {
    background-color: var(--nb-premium-bg) !important;
    background-image:
        radial-gradient(ellipse 120% 90% at -8% -25%, rgba(59, 130, 246, 0.14), transparent 55%),
        radial-gradient(ellipse 90% 70% at 105% -10%, rgba(139, 92, 246, 0.1), transparent 50%),
        var(--nb-premium-bg) !important;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-main,
body.nanban-pro-app:not(.esevai-mode) #mainApp #nbAppMain {
    background: transparent !important;
    color: var(--nb-premium-text);
}

body.nanban-pro-app:not(.esevai-mode) #mainApp {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* ── Top bar — clean white strip ── */
body.nanban-pro-app:not(.esevai-mode) #mainApp .top-bar {
    background: #ffffff !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 1px solid var(--nb-premium-glass-border) !important;
    box-shadow: 0 1px 8px rgba(28, 25, 23, 0.06) !important;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .top-bar,
body.nanban-pro-app:not(.esevai-mode) #mainApp .top-bar * {
    color: var(--nb-premium-text);
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-top-logo {
    color: var(--nb-premium-text) !important;
    letter-spacing: 0.06em;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-top-logo span {
    color: var(--nb-premium-muted);
    font-weight: 600;
}

/* ── Pill mode toggle (Nanban / E-Sevai) ── */
body.nanban-pro-app #mainApp .nb-pill-mode .biz-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nb-premium-muted);
    margin-right: 10px;
}

body.nanban-pro-app #mainApp .nb-pill-toggle {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    padding: 3px;
    min-width: 200px;
    background: #f5f5f4;
    border: 1px solid rgba(28, 25, 23, 0.12);
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(28, 25, 23, 0.04);
}

body.nanban-pro-app #mainApp .nb-pill-toggle__glide {
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 3px;
    width: calc(50% - 3px);
    border-radius: 999px;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    box-shadow:
        0 2px 16px rgba(59, 130, 246, 0.45),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    transition: transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1);
    pointer-events: none;
    z-index: 0;
}

body.nanban-pro-app.esevai-mode #mainApp .nb-pill-toggle__glide {
    transform: translateX(100%);
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    box-shadow:
        0 2px 16px rgba(16, 185, 129, 0.4),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

body.nanban-pro-app #mainApp .nb-pill-toggle .btn-biz {
    position: relative;
    z-index: 1;
    flex: 1 1 50%;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: none !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--nb-premium-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: color 0.25s ease;
    box-shadow: none !important;
    min-height: 34px;
}

body.nanban-pro-app #mainApp .nb-pill-toggle .btn-biz.active {
    color: #fff !important;
    background: transparent !important;
}

body.nanban-pro-app.esevai-mode #mainApp .nb-pill-toggle {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.08);
}

body.nanban-pro-app.esevai-mode #mainApp .nb-pill-toggle .btn-biz {
    color: #64748b !important;
}

body.nanban-pro-app.esevai-mode #mainApp .nb-pill-toggle .btn-biz.active {
    color: #fff !important;
}

/* ── Sidebar: no hard edge, soft separation ── */
body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-sidebar,
body.nanban-pro-app:not(.esevai-mode) #mainApp .tabs-wrapper.nb-pro-dock {
    background: #ffffff !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-right: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 4px 0 24px rgba(15, 23, 42, 0.04) !important;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-nav-item {
    color: var(--nb-premium-muted) !important;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-nav-item .nb-nav-en {
    color: var(--nb-premium-text);
    font-weight: 500;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-nav-item .nb-nav-ta {
    color: var(--nb-premium-muted);
    font-size: 11px;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-nav-item.active,
body.nanban-pro-app:not(.esevai-mode) #mainApp #adminTabs .tab.nb-nav-item.active {
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.02) 55%, transparent 100%) !important;
    border-left: 3px solid var(--nb-premium-focus) !important;
    box-shadow: inset 4px 0 16px rgba(220, 38, 38, 0.08) !important;
    color: #b91c1c !important;
    border-radius: 0 12px 12px 0 !important;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-nav-item.active .nb-nav-ico {
    color: #dc2626 !important;
    filter: none !important;
}

/* ── Global glass cards ── */
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .card,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .glass-card,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .metric-card,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .wizard-step,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .modal-content {
    background: var(--nb-premium-glass) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--nb-premium-glass-border) !important;
    border-radius: var(--nb-premium-radius-card) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
    color: var(--nb-premium-text) !important;
}

body.nanban-pro-app:not(.esevai-mode) #nbAppMain label,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .form-label,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain h1,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain h2,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain h3 {
    color: var(--nb-premium-text);
}

body.nanban-pro-app:not(.esevai-mode) #nbAppMain .text-muted,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain small,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain .ad-wiz-lbl {
    color: var(--nb-premium-muted) !important;
}

/* ── Next-gen inputs (global ERP) ── */
body.nanban-pro-app:not(.esevai-mode) #nbAppMain input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
body.nanban-pro-app:not(.esevai-mode) #nbAppMain select,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain textarea {
    background: var(--nb-premium-elevated) !important;
    border: 1px solid transparent !important;
    border-radius: var(--nb-premium-radius-input) !important;
    color: var(--nb-premium-text) !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

body.nanban-pro-app:not(.esevai-mode) #nbAppMain input:focus,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain select:focus,
body.nanban-pro-app:not(.esevai-mode) #nbAppMain textarea:focus {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px var(--nb-premium-focus) !important;
}

body.nanban-pro-app:not(.esevai-mode) #mainApp #syncStatus.nb-top-user {
    background: var(--nb-premium-elevated) !important;
    border: 1px solid var(--nb-premium-glass-border) !important;
    color: var(--nb-premium-text) !important;
}

/* ═══ ADMISSION — override inline light wizard ═══ */
body.nanban-pro-app:not(.esevai-mode) #newSection.section-content {
    background: transparent !important;
    padding: 16px 20px 24px !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-left,
body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-bill,
body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-glass-card,
body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-bill-inner {
    background: var(--nb-premium-glass) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--nb-premium-glass-border) !important;
    border-radius: var(--nb-premium-radius-card) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-head {
    border-bottom-color: var(--nb-premium-glass-border) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-head h2 {
    color: var(--nb-premium-text) !important;
    font-weight: 700;
    letter-spacing: -0.03em;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-journey-btn {
    background: rgba(59, 130, 246, 0.12) !important;
    border: 1px solid rgba(59, 130, 246, 0.25) !important;
    color: #93c5fd !important;
    box-shadow: none !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-mode-row {
    background: #f5f5f4 !important;
    border: 1px solid var(--nb-premium-glass-border) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 2px rgba(28, 25, 23, 0.04) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-chip {
    color: var(--nb-premium-muted) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-chip--active {
    background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
    color: #fff !important;
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.35) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-sec {
    color: var(--nb-premium-muted) !important;
    letter-spacing: 0.12em;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-inp,
body.nanban-pro-app:not(.esevai-mode) #newSection input,
body.nanban-pro-app:not(.esevai-mode) #newSection select,
body.nanban-pro-app:not(.esevai-mode) #newSection textarea {
    background: var(--nb-premium-elevated) !important;
    border: 1px solid transparent !important;
    border-radius: var(--nb-premium-radius-input) !important;
    color: var(--nb-premium-text) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-inp:focus,
body.nanban-pro-app:not(.esevai-mode) #newSection input:focus,
body.nanban-pro-app:not(.esevai-mode) #newSection select:focus,
body.nanban-pro-app:not(.esevai-mode) #newSection textarea:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px var(--nb-premium-focus) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-micro {
    color: var(--nb-premium-muted) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-bill h3,
body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-bill-total,
body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-pay-lbl {
    color: var(--nb-premium-text) !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-pkg-card {
    background: #ffffff !important;
    border: 1px solid var(--nb-premium-glass-border) !important;
    border-radius: 12px !important;
}

body.nanban-pro-app:not(.esevai-mode) #newSection .ad-wiz-pkg-card.is-selected {
    border-color: rgba(59, 130, 246, 0.45) !important;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35), 0 4px 20px rgba(59, 130, 246, 0.15) !important;
}

@media (max-width: 768px) {
    body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-sidebar.mobile-open,
    body.nanban-pro-app:not(.esevai-mode) #mainApp .nb-app-sidebar.mobile-drawer-open {
        background: #ffffff !important;
        border-right: 1px solid rgba(28, 25, 23, 0.1) !important;
        box-shadow: 12px 0 40px rgba(28, 25, 23, 0.12) !important;
    }

    body.nanban-pro-app #mainApp .nb-pill-toggle {
        min-width: 168px;
    }

    body.nanban-pro-app #mainApp .nb-pill-mode .biz-label {
        display: none;
    }
}
