:root{
  /* Base */
  --bg: #f5f7fb;
  --bg-2:#eef2f7;

  --card:#ffffff;
  --card-border:#e6ebf2;

  --text:#0f172a;
  --muted:#64748b;

  /* Tasy-like blue */
  --primary:#1e66ff;
  --primary-2:#2aa8ff;

  --success:#16a34a;
  --warning:#f59e0b;
  --danger:#ef4444;

  --shadow: 0 10px 28px rgba(15, 23, 42, .08);
  --shadow-soft: 0 6px 18px rgba(15, 23, 42, .06);
}

*{ box-sizing: border-box; }

body{
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: var(--text);

  background:
    radial-gradient(900px 420px at 10% 10%, rgba(30,102,255,.10), transparent 60%),
    radial-gradient(750px 360px at 90% 0%, rgba(42,168,255,.09), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
}

.container{
  max-width: 1100px;
}

/* Card layout (clean hospital UI) */
.card-app{
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
}

/* Titles */
h2,h3,h4,h5{
  letter-spacing: .2px;
  font-weight: 750;
}

.small-muted{
  color: var(--muted);
}

/* Buttons */
.btn{
  border-radius: 12px !important;
  font-weight: 700;
  padding: 10px 14px;
}

.btn-primary{
  border: none !important;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 10px 20px rgba(30,102,255,.18);
}

.btn-primary:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}

.btn-outline-light{
  border: 1px solid var(--card-border) !important;
  color: var(--text) !important;
  background: #fff !important;
}

.btn-outline-light:hover{
  background: rgba(30,102,255,.06) !important;
  border-color: rgba(30,102,255,.25) !important;
}

.btn-danger{
  border: none !important;
  background: linear-gradient(135deg, var(--danger), #ff6b6b);
  box-shadow: 0 10px 20px rgba(239,68,68,.15);
}

/* Inputs */
.form-control, .form-select{
  border-radius: 12px;
  border: 1px solid var(--card-border);
  background: #fff;
  color: var(--text);
  padding: 11px 12px;
}

.form-control:focus, .form-select:focus{
  border-color: rgba(30,102,255,.55);
  box-shadow: 0 0 0 .2rem rgba(30,102,255,.15);
}

.form-control::placeholder{
  color: #9aa6b2;
}

/* Table clean */
.table{
  border-color: var(--card-border) !important;
  color: var(--text);
}

.table thead th{
  border-bottom: 1px solid var(--card-border) !important;
  color: #334155;
  font-weight: 800;
}

.table tbody td{
  border-top: 1px solid var(--card-border) !important;
}

.table-hover tbody tr:hover{
  background: rgba(30,102,255,.04) !important;
}

/* Alerts clean */
.alert{
  border-radius: 14px;
  border: 1px solid var(--card-border);
  background: #fff;
  box-shadow: var(--shadow-soft);
  color: var(--text);
}

/* Badges (Tasy-like) */
.badge{
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 800;
  letter-spacing: .2px;
}

.badge.bg-warning{ color: #111827 !important; }

/* Radio accent */
input[type="radio"]{
  accent-color: var(--primary);
}

/* Soft schedule item */
label .border{
  border-color: var(--card-border) !important;
  background: #fff;
  transition: .15s ease;
  box-shadow: 0 4px 12px rgba(15,23,42,.05);
}

label:hover .border{
  transform: translateY(-1px);
  border-color: rgba(30,102,255,.35) !important;
}

/* Mobile */
@media (max-width: 768px){
  .btn{
    width: 100%;
  }
}
