/* বাড়তি কাস্টম স্টাইল — Tailwind এর পাশাপাশি */
body { -webkit-font-smoothing: antialiased; }

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

/* সংখ্যা ও ইংরেজি লেখা */
.num { font-family: 'Hind Siliguri', Inter, sans-serif; font-variant-numeric: tabular-nums; }

/* ব্র্যান্ড নাম — ইউজার ড্যাশবোর্ডের টপবার ও সাইডবারে সাইটের নাম */
.brand-title {
    font-family: 'Outfit', Inter, 'Hind Siliguri', sans-serif;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    background-image: linear-gradient(135deg, #ffa000 0%, #f36d00 55%, #d95f00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* টেবিল স্ক্রল মোবাইলে */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* হরাইজন্টাল স্লাইডারে স্ক্রলবার লুকানো */
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.hide-scrollbar::-webkit-scrollbar { display: none; }

/* ফেড-ইন অ্যানিমেশন */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.animate-fade-up { animation: fadeInUp .35s ease both; }

/* সাইডবার মোবাইল ড্রয়ার */
@media (max-width: 1023px) {
    .app-sidebar { transform: translateX(-100%); transition: transform .25s ease; }
    .app-sidebar.open { transform: none; }
}

/* প্রোগ্রেস রিং */
.ring-progress { transform: rotate(-90deg); transform-origin: 50% 50%; transition: stroke-dashoffset .6s ease; }

/* ============================================================
   ওয়ার্ম গ্রাডিএন্ট থিম — শুধু লগইনের পরের ইউজার পেজে (.theme-warm)।
   পাবলিক ওয়েবসাইট ও অ্যাডমিন প্যানেলে এই ক্লাস নেই, তাই সেখানে
   রঙ আগের মতোই থাকে। Tailwind CDN রানটাইমে স্টাইল ইনজেক্ট করে,
   তাই সিলেক্টরগুলো `body.theme-warm ...` ফর্মে — স্পেসিফিসিটি বেশি।
   ============================================================ */
body.theme-warm.app-bg {
    min-height: 100vh;
    background-color: #ffffff;
}

/* গ্রাডিএন্টটা fixed pseudo-element এ — মোবাইলে (বিশেষ করে iOS Safari)
   `background-attachment: fixed` কাজ করে না, তাই এভাবে দিলে সব ডিভাইসে
   স্ক্রল করলেও উপরে হালকা কমলা আভা এক থাকে। */
body.theme-warm.app-bg::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg,
        #ffc766 0%,
        #ffdb96 12%,
        #ffe9c2 26%,
        #fff4e2 45%,
        #fffaf3 68%,
        #ffffff 100%);
}

/* কমলা গ্রাডিএন্ট — বাটন, অ্যাক্টিভ নেভ, ব্যাজ */
body.theme-warm .bg-primary {
    background-image: linear-gradient(135deg, #ffa000 0%, #f36d00 100%);
}

/* ক্রিম কার্ড — প্রোফাইল/ব্যালেন্স কার্ড */
body.theme-warm .bg-primary-fixed {
    background-image: linear-gradient(160deg, #ffe7bd 0%, #fff8ee 100%);
}

/* সাধারণ কার্ড — হালকা ক্রিম, পেছনের গ্রাডিএন্টের সাথে মিশে থাকে */
body.theme-warm .bg-white {
    background-color: rgba(255, 253, 248, 0.92);
}
body.theme-warm .border-surface-container {
    border-color: #f7e3cb;
}
body.theme-warm .divide-surface-container > :not([hidden]) ~ :not([hidden]) {
    border-color: #f7e3cb;
}
body.theme-warm .bg-surface-container-low {
    background-color: #fdf4e8;
}
body.theme-warm .bg-surface-container {
    background-color: #fbeedd;
}

/* টপবার ও সাইডবার — গ্রাডিএন্টের সাথে মেশানো ওয়ার্ম টিন্ট */
body.theme-warm .app-sidebar {
    background-image: linear-gradient(180deg, #fff1da 0%, #fffaf2 45%, #ffffff 100%);
    border-right-color: #f7e3cb;
}
body.theme-warm header.sticky {
    background-color: rgba(255, 245, 227, 0.75);
}

/* মোবাইল বটম নেভ */
body.theme-warm nav.fixed.bottom-0 {
    background-color: rgba(255, 250, 242, 0.95);
    border-top-color: #f7e3cb;
}
