/* ===== Jewel ERP — refined theme ===== */
:root{
  --gold:#b08a2e; --gold-dark:#8a6d1d; --gold-soft:#f6efdc; --ink:#1d1810; --ink-2:#2a2316; --muted:#7b735f;
  --bg:#f5f3ee; --card:#fff; --line:#ebe5d5; --radius:14px;
  --shadow:0 1px 2px rgba(29,24,16,.04),0 6px 18px rgba(29,24,16,.06);
  --bs-primary:#8a6d1d; --bs-primary-rgb:138,109,29; --bs-link-color:#8a6d1d; --bs-link-hover-color:#6b5314;
  --bs-body-font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --bs-body-bg:var(--bg); --bs-body-color:#2b2618;
  --bs-border-color:var(--line);
}
body{background:var(--bg);font-size:.92rem;-webkit-font-smoothing:antialiased}
h4,h5{font-weight:650;letter-spacing:-.01em;color:var(--ink)}

/* top bar */
.topbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02);padding:.5rem 0;z-index:1030}
.topbar .navbar-brand{color:var(--ink);display:flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:-.01em}
.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#e6c670,#a97f22);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 10px rgba(169,127,34,.35)}
.topbar .btn-outline-light{color:var(--ink);border-color:var(--line);background:#fff}
.topbar .btn-outline-light:hover{background:var(--gold-soft);color:var(--ink)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--gold-soft);color:var(--gold-dark);display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--line)}
.topbar .user-link{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.55rem}
.topbar .user-link small{color:var(--muted)}

/* sidebar */
.sidebar{width:252px;min-width:252px;background:linear-gradient(180deg,#1f1a10,#17130b);border-right:0;min-height:calc(100vh - 57px)}
@media (min-width:992px){.sidebar{position:sticky;top:57px;height:calc(100vh - 57px);overflow-y:auto}}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#3a3220;border-radius:6px}
.sidebar .offcanvas-header{color:#fff}
.sidebar .nav{padding:.6rem .7rem!important}
.sidebar .nav-link{color:#cfc7b0;padding:.5rem .8rem;border-radius:10px;margin:1px 0;display:flex;align-items:center;gap:.65rem;font-size:.9rem;transition:.15s}
.sidebar .nav-link i{width:1.25rem;text-align:center;color:#a8934f;font-size:1rem}
.sidebar .nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar .nav-link.active{background:linear-gradient(90deg,rgba(214,175,80,.25),rgba(214,175,80,.06));color:#fff;font-weight:600;box-shadow:inset 3px 0 0 #d6af50}
.sidebar .nav-link.active i{color:#f0cf7a}
.nav-section{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:#7d7358;padding:1rem .9rem .3rem;font-weight:600}
.sidebar .badge{margin-left:auto}
.content{min-width:0;max-width:1700px}

/* cards */
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card)}
.card-header{background:transparent;border-bottom:1px solid var(--line);font-weight:650;padding:.85rem 1.1rem;color:var(--ink)}
.card-footer{background:transparent;border-top:1px solid var(--line)}
.table{--bs-table-hover-bg:#faf7ee}
.table thead th{background:#faf7ee;white-space:nowrap;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650;border-bottom:1px solid var(--line)}
.table td{vertical-align:middle;border-color:#f1ecde}
.card>.table-responsive:first-child table,.card>.table-responsive{border-radius:var(--radius)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.thumb{width:44px;height:44px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.cat-img{width:100%;height:170px;object-fit:cover;background:var(--gold-soft)}
.card:has(.cat-img){overflow:hidden;transition:.2s}.card:has(.cat-img):hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(29,24,16,.12)}

/* buttons / forms */
.btn{border-radius:10px;font-weight:550}
.btn-gold{background:linear-gradient(135deg,#c79a35,#8a6d1d);border:0;color:#fff;box-shadow:0 4px 12px rgba(138,109,29,.28)}
.btn-gold:hover{background:linear-gradient(135deg,#b98d2c,#765b14);color:#fff;transform:translateY(-1px)}
.btn-outline-primary{--bs-btn-color:#8a6d1d;--bs-btn-border-color:#d9c68f;--bs-btn-hover-bg:#8a6d1d;--bs-btn-hover-border-color:#8a6d1d;--bs-btn-active-bg:#6b5314;--bs-btn-active-border-color:#6b5314}
.form-control,.form-select{border-radius:10px;border-color:#e0d8c2}
.form-control:focus,.form-select:focus{border-color:#c9a64e;box-shadow:0 0 0 .2rem rgba(201,166,78,.2)}
.form-check-input:checked{background-color:#8a6d1d;border-color:#8a6d1d}
.form-label{font-weight:550;font-size:.82rem;color:#4a4330}
.page-link{color:#8a6d1d}.page-item.active .page-link{background:#8a6d1d;border-color:#8a6d1d}
.list-group-item.active{background:#8a6d1d;border-color:#8a6d1d}
.alert{border-radius:12px;border:0;box-shadow:var(--shadow)}
.badge{font-weight:600;letter-spacing:.01em}

/* dashboard */
.hero{background:linear-gradient(120deg,#1f1a10 0%,#3a2d12 55%,#8a6d1d 130%);color:#fff;border-radius:18px;padding:1.4rem 1.6rem;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(31,26,16,.25)}
.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(240,207,122,.35),transparent 70%)}
.hero h3{font-weight:700;margin:0;color:#fff}.hero p{margin:.2rem 0 0;color:#e6d8ad}
.hero .rate-chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:.45rem .8rem;backdrop-filter:blur(4px);min-width:112px}
.hero .rate-chip small{display:block;color:#d9c88f;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.hero .rate-chip b{font-size:1.05rem}
.stat{border-radius:16px;padding:1.05rem 1.15rem;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;align-items:center;gap:.9rem;height:100%;position:relative;overflow:hidden}
.stat .ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex:0 0 46px}
.stat .lbl{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.stat .val{font-size:1.5rem;font-weight:700;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums}
.stat .sub{font-size:.76rem;color:var(--muted)}
.ico-gold{background:#f7edcf;color:#9a7416}.ico-green{background:#dff3e8;color:#238a5a}.ico-blue{background:#e1ecfb;color:#2f67c4}.ico-rose{background:#fbe4e4;color:#c0443f}.ico-violet{background:#ece6fa;color:#6a4cc2}.ico-teal{background:#dcf3f1;color:#1f8a84}
.chart-box{position:relative;height:290px}.chart-box.sm{height:250px}
.quick a{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.8rem .4rem;border-radius:14px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.8rem;font-weight:600;transition:.15s;box-shadow:var(--shadow);text-align:center}
.quick a i{font-size:1.4rem;color:var(--gold-dark)}.quick a:hover{transform:translateY(-3px);border-color:#d9c68f;background:var(--gold-soft)}
.rank{width:26px;height:26px;border-radius:8px;background:var(--gold-soft);color:var(--gold-dark);font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem}
.perm-table th,.perm-table td{text-align:center}.perm-table td:first-child,.perm-table th:first-child{text-align:left}

/* login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 500px at 15% 10%,rgba(214,175,80,.28),transparent 60%),radial-gradient(800px 500px at 90% 90%,rgba(214,175,80,.18),transparent 60%),linear-gradient(135deg,#17130b,#2d2411)}
.login-wrap .card{border:0;border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.login-logo{width:64px;height:64px;border-radius:18px;margin:0 auto .6rem;background:linear-gradient(135deg,#e6c670,#a97f22);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.9rem;box-shadow:0 10px 24px rgba(169,127,34,.45)}

@media print{
  .topbar,.sidebar,.no-print,.alert{display:none!important}
  body{background:#fff}.content{padding:0!important}.card{box-shadow:none;border:0}
}
@media (max-width:575.98px){.stat .val{font-size:1.3rem}.hero{padding:1.1rem}.hero h3{font-size:1.25rem}.chart-box{height:240px}}
