/* =========================================================
   Medicole — Bright (Light) UI Theme (Full app.css)
   - Mobile-first
   - Clean medical look
   - Premium cards + soft gradients
   ========================================================= */

:root{
  /* Surfaces */
  --mc-bg:#f6f9ff;
  --mc-bg2:#eef5ff;

  --mc-card:#ffffff;
  --mc-card2:#f7faff;

  --mc-outline:rgba(15, 30, 60, .12);
  --mc-outline2:rgba(15, 30, 60, .16);

  /* Typography */
  --mc-text:#0b1220;
  --mc-muted:rgba(11,18,32,.62);

  /* Brand */
  --mc-primary:#2d6cff;
  --mc-primary2:#18bfff;

  /* Accents */
  --mc-success:#17c286;
  --mc-danger:#ff3b5c;
  --mc-warning:#ffb020;

  /* Radius + shadows */
  --mc-radius:20px;
  --mc-radius-sm:14px;
  --mc-shadow: 0 14px 34px rgba(22, 45, 90, .12);
  --mc-shadow2: 0 10px 22px rgba(22, 45, 90, .10);
}

html,body{ height:100%; }

body{
  background:
    radial-gradient(1200px 520px at 15% -10%, rgba(45,108,255,.16), transparent 55%),
    radial-gradient(1100px 560px at 90% 0%, rgba(24,191,255,.14), transparent 60%),
    radial-gradient(900px 520px at 10% 110%, rgba(255,59,92,.07), transparent 60%),
    linear-gradient(180deg, var(--mc-bg), var(--mc-bg2));
  color: var(--mc-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}

a{ color: inherit; }
a:hover{ opacity:.96; }

/* App container */
.app-shell{
  max-width: 620px;
  margin: 0 auto;
  min-height: 100vh;
  padding-bottom: calc(76px + env(safe-area-inset-bottom));
}

/* Sticky top bar (light glass) */
.mc-topbar{
  position: sticky;
  top: 0;
  z-index: 20;
  padding: 14px 12px 10px;
  background: rgba(246,249,255,.86);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(15, 30, 60, .10);
}

/* Brand block */
.mc-brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.mc-brand-badge{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background:
    radial-gradient(14px 14px at 30% 30%, rgba(255,255,255,.55), transparent 70%),
    linear-gradient(135deg, rgba(45,108,255,.96), rgba(24,191,255,.84));
  box-shadow: 0 10px 20px rgba(22,45,90,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  letter-spacing: .5px;
  color: rgba(255,255,255,.96);
}

.mc-title{
  font-weight: 900;
  letter-spacing:.2px;
  line-height: 1.1;
}
.mc-subtitle{
  color: var(--mc-muted);
  font-size:.82rem;
}

/* Cards */
.card.mc-card{
  background: linear-gradient(180deg, var(--mc-card), var(--mc-card2));
  border: 1px solid var(--mc-outline);
  border-radius: var(--mc-radius);
  box-shadow: var(--mc-shadow2);
}

/* Section title */
.mc-section-title{
  font-weight: 900;
  letter-spacing: .2px;
}

/* Inputs */
.form-control,
.form-select{
  background: rgba(11,18,32,.035) !important;
  border: 1px solid rgba(15,30,60,.14) !important;
  color: var(--mc-text) !important;
  border-radius: 14px;
}

.form-control::placeholder{
  color: rgba(11,18,32,.45);
}

.form-control:focus,
.form-select:focus{
  border-color: rgba(45,108,255,.45) !important;
  box-shadow: 0 0 0 .25rem rgba(45,108,255,.14) !important;
}

/* Buttons */
.btn{ border-radius: 16px; }

.btn-primary{
  background: linear-gradient(135deg, rgba(45,108,255,.96), rgba(24,191,255,.84)) !important;
  border: 0 !important;
  color: rgba(255,255,255,.96) !important;
  font-weight: 900;
  box-shadow: 0 14px 30px rgba(45,108,255,.18);
}
.btn-primary:hover{ transform: translateY(-1px); }

.btn-outline-light{
  border-color: rgba(15,30,60,.18) !important;
  color: rgba(11,18,32,.88) !important;
  background: rgba(255,255,255,.70) !important;
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.92) !important;
}

/* Bootstrap alerts (nicer) */
.alert{
  border-radius: 16px;
  border: 1px solid rgba(15,30,60,.12);
  background: rgba(255,255,255,.78);
  color: rgba(11,18,32,.90);
}

/* Badges */
.badge{
  border-radius: 999px;
  padding: .45rem .6rem;
  font-weight: 900;
  letter-spacing: .2px;
}

/* Chips */
.mc-chip{
  font-size:.75rem;
  padding:.30rem .60rem;
  border-radius:999px;
  border:1px solid rgba(15,30,60,.14);
  background: rgba(255,255,255,.72);
  color: rgba(11,18,32,.82);
}

/* KPI blocks */
.mc-kpi{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}
.mc-kpi .kpi-label{
  color: var(--mc-muted);
  font-size:.82rem;
}
.mc-kpi .kpi-value{
  font-size: 1.55rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .2px;
}

/* Dividers */
.mc-divider{
  border-top: 1px solid rgba(15,30,60,.10);
  margin: 14px 0;
}

/* Message bubble */
.mc-message{
  border:1px solid rgba(15,30,60,.12);
  background: rgba(255,255,255,.75);
  border-radius: 16px;
  padding: .65rem .7rem;
}

/* Bottom navigation (light glass) */
.mc-bottom-nav{
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: min(620px, 100%);
  padding: .65rem .75rem calc(.65rem + env(safe-area-inset-bottom));
  background: rgba(246,249,255,.90);
  border-top: 1px solid rgba(15,30,60,.12);
  backdrop-filter: blur(14px);
  z-index: 30;
}

/* Nav pills */
.mc-nav-pill{
  border: 1px solid rgba(15,30,60,.12);
  background: rgba(255,255,255,.70);
  border-radius: 16px;
  padding: .72rem .9rem;
  font-weight: 900;
}

.mc-nav-pill.active{
  border: 0;
  background: linear-gradient(135deg, rgba(45,108,255,.96), rgba(24,191,255,.84));
  color: rgba(255,255,255,.96);
}

/* Small utilities */
.text-secondary{
  color: var(--mc-muted) !important;
}
hr.border-secondary{
  border-color: rgba(15,30,60,.10) !important;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior: auto !important; transition: none !important; }
}
