/* styles.css - base + UI add-on merged */

/* Base setup */
body {
  margin: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: #f6f6f6;
  color: #333;
}

.container {
  max-width: 480px;
  margin: auto;
  padding: 20px;
}

h1, h2, h3 {
  color: #2c2c2c;
  font-weight: 600;
}

button {
  display: block;
  width: 100%;
  background-color: #10a37f;
  color: white;
  border: none;
  padding: 14px;
  font-size: 16px;
  border-radius: 10px;
  margin-top: 10px;
  cursor: pointer;
  transition: background-color 0.2s;
}

button:hover { background-color: #0e8e6c; }

input, select, textarea {
  width: 100%; padding: 12px; font-size: 15px; margin-top: 8px; margin-bottom: 16px; border: 1px solid #ccc; border-radius: 8px; box-sizing: border-box;
}

.language-option { display: flex; flex-direction: column; gap: 12px; margin-top: 40px; }
.card { background: white; border-radius: 12px; box-shadow: 0 0 12px rgba(0,0,0,0.06); padding: 20px; margin-bottom: 20px; }
.kawaif-list { max-height: 300px; overflow-y: scroll; padding-right: 10px; }
.kawaif-item { margin-bottom: 10px; }
.label-inline { display: flex; justify-content: space-between; align-items: center; }
.header { font-size: 22px; margin-bottom: 20px; font-weight: bold; color: #10a37f; }
.patient-info { background-color: #e9fdf8; padding: 12px; border-radius: 8px; margin-bottom: 20px; font-size: 15px; }
textarea { min-height: 100px; resize: vertical; }
.contact-form input, .contact-form textarea { margin-bottom: 15px; }
.contact-form label { font-weight: 500; margin-top: 10px; display: block; }
.waiting-screen { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; text-align: center; }
.loader { margin: 20px 0; border: 5px solid #eee; border-top: 5px solid #14b89d; border-radius: 50%; width: 60px; height: 60px; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) { h1 { font-size: 24px; } button { padding: 12px; font-size: 15px; } input, select, textarea { font-size: 14px; } }

/* === UI Add-on (non-breaking) === */
.pill { display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:4px 10px; border-radius:999px; background:#eef8f5; color:#0b8c6e; border:1px solid #ccefe6; }
.pill.warning { background:#fff7ed; color:#b45309; border-color:#fde68a; }
.pill.danger { background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
.list { display:grid; gap:12px; }
.list-item { border:1px solid #eee; border-radius:12px; padding:12px; background:#fff; display:grid; gap:8px; }
.row { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.status-banner { background:#e9fdf8; color:#0b8c6e; border:1px solid #ccefe6; padding:12px; border-radius:10px; margin-bottom:12px; text-align:center; font-weight:600; }
.status-banner.danger { background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.status-banner.info { background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }
.sticky-bar { position:sticky; top:0; z-index:50; background:#10a37f; color:#fff; padding:10px 12px; border-radius:12px; box-shadow:0 4px 16px rgba(0,0,0,.06); margin-bottom:12px; text-align:center; font-weight:600; }
.inline-controls { display:flex; gap:10px; }
.btn-muted { background:#dfe7e5; color:#124d3f; }
.btn-danger { background:#ef4444; }
.btn-danger:hover { background:#dc2626; }
.switch { --h:22px; --w:42px; --p:3px; width:var(--w); height:var(--h); border-radius:999px; background:#d1d5db; position:relative; cursor:pointer; border:1px solid #cbd5e1; }
.switch input { display:none; }
.switch .dot { position:absolute; top:var(--p); left:var(--p); width:calc(var(--h) - var(--p)*2); height:calc(var(--h) - var(--p)*2); background:#fff; border-radius:50%; transition:transform .18s ease; box-shadow:0 1px 2px rgba(0,0,0,.15); }
.switch input:checked + .dot { transform:translateX(calc(var(--w) - var(--h))); }
.switch input:checked ~ .track { background:#10a37f; }
.switch .track { position:absolute; inset:0; border-radius:999px; background:#d1d5db; transition:background .18s; }
.footer-bar { position:sticky; bottom:0; z-index:40; background:#fff; padding:10px; border-radius:12px; box-shadow:0 -4px 16px rgba(0,0,0,.06); display:flex; gap:10px; }
.footer-bar .btn-danger { flex:1; }
.footer-bar .btn-muted { flex:1; }
[dir="rtl"] .row { flex-direction:row-reverse; }
[dir="rtl"] .label-inline { flex-direction:row-reverse; }