/* ============================================================
   ভোরের থালা — Admin Panel Theme
   Palette: warm sunrise (orange/amber/saffron) + slate neutrals
   Bengali-first typography (Hind Siliguri) + Inter for Latin
   ============================================================ */

:root {
    --bt-sunrise-50:  #FFF7ED;
    --bt-sunrise-100: #FFEDD5;
    --bt-sunrise-200: #FED7AA;
    --bt-sunrise-300: #FDBA74;
    --bt-sunrise-400: #FB923C;
    --bt-sunrise-500: #F97316;
    --bt-sunrise-600: #EA580C;
    --bt-sunrise-700: #C2410C;
    --bt-sunrise-800: #9A3412;
    --bt-sunrise-900: #7C2D12;

    --bt-saffron: #F59E0B;
    --bt-saffron-soft: #FCD34D;
    --bt-cocoa: #4A1D0F;

    --bt-shadow-warm: 0 10px 30px -12px rgba(234, 88, 12, .35);
    --bt-shadow-soft: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -12px rgba(15, 23, 42, .12);

    --bt-bn-font: 'Hind Siliguri', 'Noto Sans Bengali', 'SolaimanLipi', 'Kalpurush', system-ui, sans-serif;
    --bt-en-font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---------- Typography ---------- */
.fi-body,
.fi-layout,
.fi-main,
.fi-sidebar,
.fi-topbar {
    font-family: var(--bt-en-font);
    font-feature-settings: "ss01", "cv11", "cv02";
}

/* Apply Bengali font to elements that contain Bengali text — heuristic: lang attr or known Bengali class */
[lang="bn"],
.bt-bn,
.fi-sidebar-item-label,
.fi-sidebar-group-label,
.fi-section-header-heading,
.fi-page-header-heading,
.fi-breadcrumbs-item {
    font-family: var(--bt-bn-font);
    letter-spacing: 0;
}

/* ---------- Brand polish on the topbar ---------- */
.fi-topbar {
    background: linear-gradient(180deg, rgba(255, 247, 237, .95) 0%, rgba(255, 255, 255, .92) 100%);
    backdrop-filter: saturate(140%) blur(8px);
    border-bottom: 1px solid rgba(253, 186, 116, .35);
}
.dark .fi-topbar {
    background: linear-gradient(180deg, rgba(28, 22, 18, .85) 0%, rgba(17, 24, 39, .9) 100%);
    border-bottom-color: rgba(234, 88, 12, .25);
}

.fi-topbar-nav .fi-logo {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    font-weight: 700;
}

/* ---------- Sidebar — warm vertical gradient ---------- */
.fi-sidebar {
    background: linear-gradient(180deg, #FFF7ED 0%, #FFFFFF 60%, #FFFBF5 100%);
    border-right: 1px solid rgba(253, 186, 116, .3);
}
.dark .fi-sidebar {
    background: linear-gradient(180deg, #1B1410 0%, #0F172A 70%);
    border-right-color: rgba(234, 88, 12, .2);
}

.fi-sidebar-header {
    border-bottom: 1px solid rgba(253, 186, 116, .3);
    padding: 1rem 1.25rem;
}
.dark .fi-sidebar-header {
    border-bottom-color: rgba(234, 88, 12, .2);
}

.fi-sidebar-group + .fi-sidebar-group {
    margin-top: .35rem;
}
.fi-sidebar-group-label {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .68rem;
    font-weight: 700;
    color: var(--bt-sunrise-700);
    padding: .85rem 1rem .35rem;
}
.dark .fi-sidebar-group-label {
    color: var(--bt-sunrise-300);
}

/* Active sidebar item — warm pill with glow */
.fi-sidebar-item-active > .fi-sidebar-item-button {
    background: linear-gradient(135deg, var(--bt-sunrise-500) 0%, var(--bt-sunrise-600) 100%);
    color: #fff !important;
    box-shadow: var(--bt-shadow-warm);
    border-radius: .75rem;
}
.fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-icon,
.fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-label {
    color: #fff !important;
}

.fi-sidebar-item-button {
    border-radius: .75rem;
    transition: background-color .15s ease, transform .15s ease;
}
.fi-sidebar-item-button:hover {
    background-color: var(--bt-sunrise-100);
    transform: translateX(2px);
}
.dark .fi-sidebar-item-button:hover {
    background-color: rgba(234, 88, 12, .18);
}

/* ---------- Page headers — softer, larger ---------- */
.fi-page-header-heading,
.fi-section-header-heading {
    background: linear-gradient(135deg, var(--bt-sunrise-700) 0%, var(--bt-sunrise-500) 60%, var(--bt-saffron) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 700;
}
.dark .fi-page-header-heading,
.dark .fi-section-header-heading {
    background: linear-gradient(135deg, var(--bt-sunrise-300) 0%, var(--bt-sunrise-400) 60%, var(--bt-saffron-soft) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

/* ---------- Cards / sections — soft warm shadow ---------- */
.fi-section,
.fi-wi-stats-overview-stat,
.fi-card {
    box-shadow: var(--bt-shadow-soft);
    border-radius: 1rem;
    transition: transform .18s ease, box-shadow .18s ease;
}
.fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    box-shadow: var(--bt-shadow-warm);
}

/* ---------- Buttons — primary glow ---------- */
.fi-btn-color-primary,
.fi-btn[data-color="primary"] {
    background: linear-gradient(135deg, var(--bt-sunrise-500) 0%, var(--bt-sunrise-600) 100%) !important;
    border: 1px solid var(--bt-sunrise-600) !important;
    box-shadow: var(--bt-shadow-warm);
    transition: transform .12s ease, box-shadow .15s ease;
}
.fi-btn-color-primary:hover,
.fi-btn[data-color="primary"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 36px -12px rgba(234, 88, 12, .55);
}

/* ---------- Tables — striped warm ---------- */
.fi-ta-table thead {
    background: linear-gradient(180deg, #FFF7ED 0%, #FFEDD5 100%);
}
.dark .fi-ta-table thead {
    background: linear-gradient(180deg, rgba(234, 88, 12, .12) 0%, rgba(28, 22, 18, .35) 100%);
}
.fi-ta-table tbody tr:hover {
    background-color: rgba(254, 215, 170, .35);
}
.dark .fi-ta-table tbody tr:hover {
    background-color: rgba(234, 88, 12, .12);
}

/* ---------- Badges polish ---------- */
.fi-badge[data-color="primary"] {
    background: var(--bt-sunrise-100);
    color: var(--bt-sunrise-800);
    border: 1px solid var(--bt-sunrise-300);
}
.dark .fi-badge[data-color="primary"] {
    background: rgba(234, 88, 12, .18);
    color: var(--bt-sunrise-200);
    border-color: rgba(234, 88, 12, .4);
}

/* ---------- Login page — full-bleed sunrise ---------- */
.fi-simple-layout {
    background:
        radial-gradient(1200px 600px at 80% -10%, rgba(251, 146, 60, .35), transparent 60%),
        radial-gradient(900px 500px at -10% 110%, rgba(245, 158, 11, .3), transparent 55%),
        linear-gradient(180deg, #FFF7ED 0%, #FFE9D1 100%);
    min-height: 100vh;
}
.dark .fi-simple-layout {
    background:
        radial-gradient(1200px 600px at 80% -10%, rgba(234, 88, 12, .35), transparent 60%),
        radial-gradient(900px 500px at -10% 110%, rgba(124, 45, 18, .55), transparent 55%),
        linear-gradient(180deg, #0B0F1A 0%, #1B1410 100%);
}

.fi-simple-main {
    backdrop-filter: blur(14px) saturate(140%);
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(253, 186, 116, .55);
    border-radius: 1.25rem;
    box-shadow:
        0 30px 80px -20px rgba(124, 45, 18, .25),
        0 1px 0 rgba(255, 255, 255, .8) inset;
}
.dark .fi-simple-main {
    background: rgba(20, 16, 14, .72);
    border-color: rgba(234, 88, 12, .3);
    box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .65);
}

.fi-simple-header .fi-logo {
    margin-inline: auto;
    transform: scale(1.15);
}

/* ---------- Dashboard greeting block ---------- */
.bt-greeting {
    position: relative;
    overflow: hidden;
    border-radius: 1.25rem;
    padding: 1.75rem 1.75rem;
    color: #fff;
    background:
        radial-gradient(420px 220px at 100% 0%, rgba(255, 237, 213, .35), transparent 60%),
        linear-gradient(135deg, #C2410C 0%, #EA580C 45%, #F59E0B 100%);
    box-shadow: 0 18px 44px -16px rgba(194, 65, 12, .55);
    margin-bottom: 1.25rem;
}
.bt-greeting::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 18% 32%, rgba(255, 255, 255, .18) 0 1px, transparent 1.5px),
        radial-gradient(circle at 72% 68%, rgba(255, 255, 255, .14) 0 1px, transparent 1.5px),
        radial-gradient(circle at 88% 22%, rgba(255, 255, 255, .12) 0 1px, transparent 1.5px);
    background-size: 36px 36px, 48px 48px, 28px 28px;
    pointer-events: none;
    opacity: .9;
}
.bt-greeting > * { position: relative; }
.bt-greeting h2 {
    font-family: var(--bt-bn-font);
    font-size: 1.6rem;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 .35rem 0;
}
.bt-greeting p {
    font-size: .95rem;
    margin: 0;
    opacity: .92;
}
.bt-greeting .bt-greeting-meta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(8px);
    padding: .4rem .85rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, .25);
}

/* ---------- Tomorrow menu widget cards ---------- */
.bt-tier-card {
    border-radius: 1rem;
    padding: 1rem;
    border: 1px solid rgba(253, 186, 116, .55);
    background: linear-gradient(180deg, #FFFBF3 0%, #FFFFFF 100%);
    transition: transform .15s ease, box-shadow .15s ease;
}
.bt-tier-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--bt-shadow-warm);
}
.dark .bt-tier-card {
    background: linear-gradient(180deg, rgba(28, 22, 18, .85) 0%, rgba(17, 24, 39, .85) 100%);
    border-color: rgba(234, 88, 12, .3);
}
.bt-tier-pill {
    display: inline-block;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: .2rem .55rem;
    border-radius: 999px;
}
.bt-tier-pill[data-tier="bachelor"] { background: #DBEAFE; color: #1E3A8A; }
.bt-tier-pill[data-tier="mid"]      { background: #FEF3C7; color: #78350F; }
.bt-tier-pill[data-tier="premium"]  { background: #FCE7F3; color: #831843; }
.dark .bt-tier-pill[data-tier="bachelor"] { background: rgba(59,130,246,.2); color:#BFDBFE; }
.dark .bt-tier-pill[data-tier="mid"]      { background: rgba(245,158,11,.2); color:#FDE68A; }
.dark .bt-tier-pill[data-tier="premium"]  { background: rgba(236,72,153,.2); color:#FBCFE8; }

.bt-tier-card .bt-tier-title {
    font-family: var(--bt-bn-font);
    font-weight: 700;
    margin-top: .55rem;
    font-size: 1.05rem;
    color: var(--bt-cocoa);
}
.dark .bt-tier-card .bt-tier-title { color: #FED7AA; }
.bt-tier-card .bt-tier-price {
    font-family: var(--bt-bn-font);
    font-weight: 700;
    color: var(--bt-sunrise-700);
}
.dark .bt-tier-card .bt-tier-price { color: var(--bt-sunrise-300); }

/* ---------- Slot capacity meter ---------- */
.bt-slot-meter {
    height: 10px;
    width: 100%;
    border-radius: 999px;
    background: var(--bt-sunrise-100);
    overflow: hidden;
    margin-top: .65rem;
}
.dark .bt-slot-meter { background: rgba(234, 88, 12, .15); }
.bt-slot-meter-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--bt-sunrise-400), var(--bt-sunrise-600));
    transition: width .4s ease;
    box-shadow: 0 0 12px rgba(249, 115, 22, .55);
}

/* Focus rings — keep accessibility, brand-tinted */
*:focus-visible {
    outline: 2px solid var(--bt-sunrise-500) !important;
    outline-offset: 2px;
    border-radius: 8px;
}

/* Subtle scrollbars */
.fi-sidebar::-webkit-scrollbar,
.fi-main::-webkit-scrollbar { width: 10px; }
.fi-sidebar::-webkit-scrollbar-thumb,
.fi-main::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--bt-sunrise-300), var(--bt-sunrise-500));
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
