/* digitkard-ui.css — DigitKard UI Kit v1.0
   Place in /css/digitkard-ui.css and include on all pages
   Purpose: single, consistent mobile design language for DigitKard
*/

/* ------------------------
   VARIABLES / TOKENS
   ------------------------ */



:root{
  --dk-primary: #0b6df0;
  --dk-accent: #ff7a66;
  --dk-bg: #fafafa;
  --dk-surface: #ffffff;
  --dk-muted: #6b6b6b;
  --dk-shadow: 0 6px 18px rgba(0,0,0,0.06);
  --dk-radius: 12px;
  --dk-gap: 14px;
  --dk-font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --dk-topbar-h: 56px;
  --dk-botnav-h: 60px;
}

/* ------------------------
   GLOBALS & BASE
   ------------------------ */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--dk-font);
  background:var(--dk-bg);
  color:#111;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* container for mobile centered content */
.container, .page, main {
  max-width:480px;
  margin:0 auto;
  padding:16px;
}

/* utility resets */
.hidden{display:none !important}
.center{text-align:center}
.muted{color:var(--dk-muted)}
.small{font-size:12px}
.bold{font-weight:700}

/* ------------------------
   CARD SYSTEM
   ------------------------ */
.card, .panel, .dk-card {
  background:var(--dk-surface);
  border-radius:var(--dk-radius);
  padding:14px;
  margin-bottom:14px;
  box-shadow:var(--dk-shadow);
}

/* card header */
.card .title{font-weight:700;font-size:16px;margin-bottom:6px}
.card .desc{color:var(--dk-muted);font-size:13px}

/* ------------------------
   TYPOGRAPHY (mobile tuned)
   ------------------------ */
.h1{font-size:20px;font-weight:700}
.h2{font-size:16px;font-weight:600}
.p{font-size:14px;line-height:1.45}

/* ------------------------
   BUTTONS
   ------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;padding:10px 14px;border-radius:10px;border:0;
  cursor:pointer;font-weight:600;
  -webkit-tap-highlight-color:transparent;
}
.btn-primary{background:var(--dk-primary);color:#fff}
.btn-ghost{background:transparent;border:1px solid rgba(11,109,240,0.12);color:var(--dk-primary)}
.btn-block{display:block;width:100%}

/* floating action button (use on app-shell screens) */
.fab{
  width:64px;height:64px;border-radius:50%;
  display:grid;place-items:center;background:var(--dk-primary);color:#fff;
  box-shadow:0 10px 24px rgba(11,109,240,0.14);border:none;cursor:pointer;
}

/* ------------------------
   TOP BAR (common look)
   ------------------------ */
.dk-topbar {
  height:var(--dk-topbar-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 12px;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92));
  backdrop-filter: blur(6px);
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
  position:fixed;
  top:0;left:0;right:0;z-index:9999;
}
.dk-topbar .brand {display:flex;align-items:center;gap:10px;cursor:pointer}
.dk-topbar .logo {
  width:36px;height:36px;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--dk-accent),#ffbb80);color:#fff;font-weight:700;
}
.dk-topbar .title {font-weight:700}

/* avoid content beneath topbar */
.dk-body-pad {padding-top: calc(var(--dk-topbar-h) + 8px)}

/* ------------------------
   BOTTOM NAV (app-shell only)
   ------------------------ */
.dk-bottomnav {
  position:fixed;left:0;right:0;bottom:0;height:var(--dk-botnav-h);
  display:flex;align-items:center;justify-content:space-around;
  background:linear-gradient(0deg, rgba(255,255,255,0.98), rgba(255,255,255,0.96));
  border-top:1px solid rgba(0,0,0,0.04);
  z-index:9999;
}
.dk-bottomnav .nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--dk-muted);font-size:11px}
.dk-bottomnav .nav-item.active{color:var(--dk-primary);font-weight:700}

/* safe content area above bottom nav */
.dk-content-safe {padding-bottom: calc(var(--dk-botnav-h) + 12px)}

/* ------------------------
   SEARCH INPUT (app style)
   ------------------------ */
.dk-search {
  height:46px;border-radius:12px;background:#f3f4f6;padding:0 12px;display:flex;align-items:center;gap:12px;
  box-shadow:0 1px 0 rgba(0,0,0,0.02);cursor:text;
}
.dk-search .placeholder{color:var(--dk-muted);font-size:15px}

/* ------------------------
   LIST / CONTACT row
   ------------------------ */
.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,0.04)}
.list-row .avatar{width:44px;height:44px;border-radius:50%;background:#eee;display:grid;place-items:center;overflow:hidden}
.list-row .meta{flex:1}
.list-row .meta .name{font-weight:700}
.list-row .meta .sub{color:var(--dk-muted);font-size:13px}

/* ------------------------
   MODAL
   ------------------------ */
.dk-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;z-index:99999}
.dk-modal{width:calc(100% - 40px);max-width:480px;background:var(--dk-surface);border-radius:16px;padding:18px;box-shadow:var(--dk-shadow)}

/* ------------------------
   UTILITIES
   ------------------------ */
.row{display:flex;gap:12px;align-items:center}
.col{display:flex;flex-direction:column}
.badge{background:var(--dk-accent);color:#fff;padding:4px 8px;border-radius:999px;font-size:12px}

/* small responsive tweaks */
@media (min-width:481px){
  .container, .page, main {max-width:720px}
}
