/* RS Mobile View — ডিজাইন সিস্টেম
   ফন্ট: Adorsho Lipi | প্রধান রং: গভীর পাইন সবুজ + সোনালি টাকার রং */
:root{
  --ink:#10231d; --pine:#0f5a43; --pine-d:#0a3f2f; --mint:#d6f0e3; --mint-l:#eaf7f0;
  --gold:#e9b44c; --bg:#f0f3f1; --card:#fff; --line:#e1e8e4; --mut:#6a7b73; --red:#c8412f; --amber:#b87a0a;
  --bs-body-font-family:'Adorsho Lipi',sans-serif; --bs-body-color:var(--ink); --bs-body-bg:var(--bg);
  --bs-border-color:var(--line); --bs-success:#0f5a43; --bs-success-rgb:15,90,67;
  --shadow:0 12px 35px -15px rgba(16,35,29,.15);
}

/* ফন্ট সেটআপ ও আইকন ফিক্স (গ্লোবাল স্টার সlector বাদ দিয়ে নির্দিষ্ট ট্যাগে দেওয়া হয়েছে) */
body, input, button, select, textarea {
  font-family:'Adorsho Lipi',sans-serif;
}
.fa-solid,.fa-regular,.fa-brands,.fas,.far,.fab{font-family:'Font Awesome 6 Free'!important}
.fa-brands{font-family:'Font Awesome 6 Brands'!important}

html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-size:1.02rem;line-height:1.55;padding-bottom:112px}
h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:0}
h6{font-size:1.08rem;margin-bottom:.9rem}
a{color:var(--pine)}
.text-muted,.text-muted *{color:var(--mut)!important}
small{font-size:.86rem}

/* ===== উপরের বার ===== */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;background:rgba(240,243,241,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.15rem}
.brand-mark{width:40px;height:40px;border-radius:13px 13px 13px 4px;background:var(--pine);color:var(--gold);display:grid;place-items:center;font-size:1.05rem}
.who{display:flex;align-items:center;gap:.5rem}
.who span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:.25rem .85rem;font-size:.92rem}
.who a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;text-decoration:none}

/* ===== নিচের ডক (নেভিগেশন) ===== */
.bot{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:flex;gap:4px;padding:8px;background:rgba(10, 63, 47, 0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:28px;box-shadow:0 20px 40px -10px rgba(10,63,47,.5)}
.bot a{flex:1;min-width:0;text-align:center;color:#a9c9bb;padding:8px 0 7px;font-size:.75rem;line-height:1.25;text-decoration:none;border-radius:20px;transition:all .2s ease}
.bot a i{display:block;font-size:1.15rem;margin-bottom:2px}
.bot a.on{background:var(--mint);color:var(--pine-d);font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.bot a.on i{color:var(--pine)}

/* ===== পাতার শিরোনাম ===== */
.pt{font-size:1.65rem;margin:.2rem 0 1rem;display:flex;align-items:center;gap:.6rem}
.pt::before{content:"";width:6px;height:1.6rem;border-radius:4px;background:var(--gold)}
.hello{margin:.2rem 0 1rem}
.hello small{display:block;color:var(--mut)}
.hello b{font-size:1.65rem;line-height:1.2}

/* ===== কার্ড ===== */
.container{max-width:1060px}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.card:hover{box-shadow:0 15px 40px -12px rgba(16,35,29,.18)}
.card.table-responsive{border-radius:24px}

/* ===== ড্যাশবোর্ড হিরো ===== */
.hero{position:relative;overflow:hidden;background:var(--pine);color:#fff;border-radius:28px 28px 28px 8px;padding:1.4rem 1.3rem 1.2rem;margin-bottom:.9rem;box-shadow:0 22px 40px -22px rgba(10,63,47,.9)}
.hero::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:36px solid rgba(255,255,255,.06);pointer-events:none}
.hero small{color:var(--mint);font-size:.95rem}
.hero .big{display:block;font-size:2.7rem;font-weight:700;line-height:1.15;margin:.15rem 0 1rem;color:var(--gold)}
.hero .row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.hero .row2>div{background:rgba(255,255,255,.1);border-radius:16px;padding:.6rem .8rem}
.hero .row2 b{display:block;font-size:1.2rem}
.hero .row2 small{display:flex;gap:.4rem;align-items:center}

/* ===== পরিসংখ্যান ===== */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.9rem}
.stat{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:.85rem .95rem;box-shadow:var(--shadow)}
.stat .ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:.9rem;margin-bottom:.5rem;background:var(--mint-l);color:var(--pine)}
.stat.b .ic{background:#e6eefb;color:#2b5bb5}.stat.g .ic{background:#fbf0d6;color:var(--amber)}.stat.r .ic{background:#fbe5e1;color:var(--red)}
.stat small{display:block;color:var(--mut)}
.stat b{font-size:1.3rem;display:block;line-height:1.3}

/* ===== দ্রুত কাজ ===== */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1.1rem}
.quick a{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:700;text-align:center}
.quick a i{width:100%;aspect-ratio:1/.9;max-height:68px;border-radius:20px;display:grid;place-items:center;font-size:1.4rem;background:var(--card);border:1px solid var(--line);color:var(--pine);box-shadow:0 8px 20px -10px rgba(16,35,29,.1);transition:all .2s ease}
.quick a:first-child i{background:var(--pine);color:var(--gold);border-color:var(--pine)}
.quick a:hover i{background:var(--pine);color:var(--gold);border-color:var(--pine);transform:translateY(-3px)}
.quick a:active i{transform:scale(.94)}

/* ===== ফর্ম ===== */
.form-control,.form-select{min-height:50px;border-radius:15px;background-color:#f6f9f7;border:1.5px solid var(--line);font-size:1rem;color:var(--ink);padding:.55rem .95rem}
.form-control-lg{min-height:56px;font-size:1.05rem}
.form-control::placeholder{color:#93a39b}
.form-control:focus,.form-select:focus{background:#fff;border-color:var(--pine);box-shadow:0 0 0 4px rgba(15,90,67,.14)}
td .form-control{min-height:42px;text-align:center;padding:.3rem .4rem}

/* ===== বাটন ===== */
.btn{min-height:46px;border-radius:15px;font-weight:700;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform .1s,background .15s}
.btn:active{transform:scale(.97)}
.btn-lg{min-height:56px;font-size:1.1rem;border-radius:18px}
.btn-sm{min-height:38px;border-radius:12px;padding:.25rem .8rem;font-size:.92rem}
.btn-success,.bg-success{background:var(--pine)!important;border-color:var(--pine)!important;color:#fff}
.btn-success:hover{background:var(--pine-d)!important}
.btn-outline-success{--bs-btn-color:var(--pine);--bs-btn-border-color:#b9d9c9;--bs-btn-hover-bg:var(--pine);--bs-btn-hover-border-color:var(--pine);--bs-btn-active-bg:var(--pine);--bs-btn-active-border-color:var(--pine)}
.btn-outline-danger{--bs-btn-color:var(--red);--bs-btn-border-color:#efc4bc;--bs-btn-hover-bg:var(--red);--bs-btn-hover-border-color:var(--red)}
.btn-outline-secondary{--bs-btn-color:#4d5f56;--bs-btn-border-color:#cfd9d4;--bs-btn-hover-bg:#4d5f56}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ===== টেবিল ===== */
.table{--bs-table-bg:transparent;--bs-table-border-color:var(--line);margin-bottom:0;font-size:1rem}
.table>:not(caption)>*>*{padding:.7rem .5rem;border-bottom-color:var(--line)}
.table>thead>tr>th{color:var(--mut);font-weight:400;font-size:.88rem;border-bottom:1.5px solid var(--line);white-space:nowrap}
.table tr:last-child>td{border-bottom:0}
.card.table-responsive td:first-child,.card.table-responsive th:first-child{padding-left:1.1rem}
.card.table-responsive td:last-child,.card.table-responsive th:last-child{padding-right:1.1rem}
.table-sm td small{color:var(--mut)}

/* ===== ব্যাজ ও অ্যালার্ট ===== */
.badge{border-radius:99px;font-weight:700;padding:.4em .8em;font-size:.82rem}
.badge.bg-danger{background:#fbe5e1!important;color:var(--red)}
.badge.bg-warning{background:#fbf0d6!important;color:var(--amber)!important}
.alert{border:0;border-radius:18px;border-left:6px solid;font-weight:700;box-shadow:var(--shadow)}
.alert-success{background:var(--mint-l);border-color:var(--pine);color:var(--pine-d)}
.alert-danger{background:#fdeeeb;border-color:var(--red);color:#8f2a1c}
.alert-warning{background:#fdf5df;border-color:var(--gold);color:#7a5207}
.text-danger{color:var(--red)!important}.text-success{color:var(--pine)!important}

/* ===== বিক্রি পাতার মোট ===== */
.sum{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:var(--mint-l);border-radius:18px;padding:.85rem 1.1rem;margin-top:.5rem;font-size:1.1rem}
.sum b{font-size:1.45rem}

/* ===== রসিদ ===== */
.slip{border-radius:8px 8px 22px 22px;background:#fffdf8;border:1px dashed #cfc7b4;position:relative}
.slip h5{font-size:1.4rem;font-weight:700}

/* ===== লগইন / সেটআপ ===== */
body.auth{min-height:100vh;padding:0;background:var(--pine-d);display:flex;flex-direction:column}
.auth-top{padding:3rem 1.6rem 4.5rem;color:#fff;position:relative;overflow:hidden}
.auth-top::after{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;border:44px solid rgba(255,255,255,.06)}
.auth-top .brand-mark{width:56px;height:56px;font-size:1.5rem;border-radius:18px 18px 18px 5px;margin-bottom:1rem}
.auth-top h1{font-size:2.1rem;margin:0}
.auth-top p{color:var(--mint);margin:.2rem 0 0}
.auth-card{flex:1;background:var(--bg);border-radius:32px 32px 0 0;padding:1.8rem 1.4rem 2rem;margin-top:-2rem;position:relative}
.auth-card form{max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:.8rem}
.auth-card h2{font-size:1.4rem;margin:0 0 .2rem}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{body{background:#fff;padding:0}.top,.bot,.noprint,.pt{display:none!important}.card,.slip{box-shadow:none;border-color:#999}}
/* ============ সম্পূর্ণ মোবাইল শেল: ডেস্কটপেও ফোনের মতো এক কলাম ============ */
html{background:#d5ded9}
body{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--bg);position:relative;padding-bottom:108px!important;box-shadow:0 0 0 1px var(--line),0 40px 90px -40px rgba(16,35,29,.5);-webkit-tap-highlight-color:transparent}
.container{max-width:100%!important;padding-left:14px!important;padding-right:14px!important}
.bot{left:50%!important;right:auto!important;transform:translateX(-50%);width:calc(min(480px,100vw) - 24px);position:fixed!important;margin:0!important;max-width:none!important}
.bot a{font-size:.75rem!important}
.stats,.stats-grid{grid-template-columns:1fr 1fr!important}
.hero .big{font-size:2.6rem!important}
body.auth{max-width:480px;min-height:100vh;min-height:100dvh;padding-bottom:0!important;flex-direction:column!important}
.auth-top{flex:none!important;display:block!important;padding:3rem 1.6rem 4.5rem!important}
.auth-card{flex:1!important;display:block!important;border-radius:32px 32px 0 0!important;margin-top:-2rem!important}
.auth-card form{width:auto!important}

/* ফোনের মাপে টেবিল, কার্ড ও ইনপুট */
.form-control,.form-select{font-size:16px!important}
.card.p-3{padding:1rem!important}
.table{font-size:.94rem}
.table>:not(caption)>*>*{padding:.6rem .4rem}
.card.table-responsive td:first-child,.card.table-responsive th:first-child{padding-left:.9rem}
.card.table-responsive td:last-child,.card.table-responsive th:last-child{padding-right:.9rem}
.table-responsive{-webkit-overflow-scrolling:touch}
th[style*="width:130px"]{width:86px!important}
th[style*="width:90px"]{width:76px!important}
.table td .btn-sm{min-width:38px;padding:.25rem .55rem}
.card-header{border-radius:22px 22px 0 0!important;border-bottom:1px solid var(--line)}
.btn,.form-control,.form-select,.bot a{touch-action:manipulation}
@media print{html{background:#fff}body{max-width:none;box-shadow:none;padding:0!important}}
