/* ───────────────────────────────────────────────────────────
   B-Hive Design System · modern · elegant · minimal
   Injected after each module's own styles — overrides the
   shared component vocabulary (.card .btn .chip inputs) only.
   ─────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --ink:#0F1E2A; --muted:#5F7282; --navy:#10384F;
  --green:#00A850; --green-2:#00935F; --mint:#EAF7F0;
  --bg:#F6F8FA; --card:#FFFFFF; --line:#E8EDF2; --line-2:#DEE6EC;
  --ring:rgba(0,168,80,.16);
  --shadow-sm:0 1px 2px rgba(15,30,42,.04), 0 1px 1px rgba(15,30,42,.03);
  --shadow-md:0 1px 2px rgba(15,30,42,.05), 0 8px 24px -8px rgba(15,30,42,.10);
  --shadow-lg:0 2px 4px rgba(15,30,42,.05), 0 20px 44px -12px rgba(16,56,79,.16);
  --r:18px;
}

/* canvas */
body{
  background:
    radial-gradient(1100px 480px at 88% -10%, rgba(0,168,80,.065), transparent 60%),
    radial-gradient(900px 420px at -8% 8%, rgba(16,56,79,.05), transparent 55%),
    var(--bg) !important;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(0,168,80,.18)}
*{scrollbar-width:thin;scrollbar-color:#C9D5DE transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#C9D5DE;border-radius:99px;border:2px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}

/* typography */
h1{font-family:'Sora','Inter',sans-serif !important;letter-spacing:-.45px}
h2,h3{letter-spacing:-.2px}

/* cards — hairline border, layered soft shadow */
.card{
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--r) !important;
  box-shadow:var(--shadow-md) !important;
}

/* buttons */
.btn{
  border-radius:12px !important;
  font-weight:600 !important;
  letter-spacing:.1px;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease;
  border:1px solid transparent;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-p{
  background:linear-gradient(180deg,var(--green),var(--green-2)) !important;
  color:#fff !important;
  box-shadow:0 1px 2px rgba(0,128,62,.25), 0 6px 16px -6px rgba(0,168,80,.45) !important;
}
.btn-p:hover{box-shadow:0 2px 4px rgba(0,128,62,.28), 0 10px 22px -6px rgba(0,168,80,.5) !important;transform:translateY(-1px)}
.btn-p:disabled{opacity:.45;box-shadow:none !important;transform:none}
.btn-s{
  background:#fff !important;
  color:#334155 !important;
  border:1px solid var(--line-2) !important;
  box-shadow:var(--shadow-sm) !important;
}
.btn-s:hover{border-color:#C7D2DB !important;background:#FAFCFD !important;transform:translateY(-1px)}

/* inputs */
input,select.in,textarea{
  border:1px solid var(--line-2) !important;
  border-radius:12px !important;
  background:#fff;
  transition:border-color .14s ease, box-shadow .14s ease;
}
input:focus,select.in:focus,textarea:focus{
  border-color:var(--green) !important;
  box-shadow:0 0 0 4px var(--ring) !important;
  outline:none !important;
}
input[type=radio],input[type=checkbox]{box-shadow:none !important;border:none !important}
input[type=file]{border:1px dashed var(--line-2) !important;background:#FBFDFE;padding:10px !important;cursor:pointer}

/* chips */
.chip{
  border-radius:99px !important;
  letter-spacing:.2px;
  box-shadow:inset 0 0 0 1px rgba(15,30,42,.04);
}

/* tab pills (the inline-flex bg-white border rounded-xl groups) */
.inline-flex.bg-white.border{border-color:var(--line-2) !important;box-shadow:var(--shadow-sm);border-radius:14px !important}

/* table rows */
tbody tr{transition:background .12s ease}

/* focus accessibility */
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:6px}

/* modals (fixed overlays) — slightly deeper card shadow */
.fixed .card{box-shadow:var(--shadow-lg) !important}

/* gentle entrance for page content */
@keyframes bh-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
body>div{animation:bh-in .28s ease both}
