:root{
  --bg:#f7f7f7;
  --card:#ffffff;
  --fg:#111;
  --muted:#666;
  --primary:#1d4ed8;
  --primary-contrast:#fff;
  --danger:#dc2626;
  --border:#e5e7eb;
  --accent:#fde68a;
  --accent-border:#fbbf24;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans TC","PingFang TC","Heiti TC","Microsoft JhengHei",Arial,sans-serif;
  background:var(--bg);
  color:var(--fg);
}

.container,.card{
  max-width: 560px;
  margin: 16px auto;
  padding: 16px;
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

h1{ margin:8px 0 6px; font-size:1.6rem; }
h2{ margin:10px 0 6px; font-size:1.3rem; }
hr{ border:none; border-top:1px solid var(--border); margin:18px 0 }

.notice{
  text-align:center;
  color:#92400e;
  background:#fff7ed;
  border:1px solid var(--accent-border);
  border-radius:12px;
  padding:8px 10px;
  margin:10px 0 12px;
  font-size:.95rem;
}

.now-serving{ text-align:center;margin:12px 0 14px;font-weight:800;font-size:1.6rem;letter-spacing:.04em;}
.now-serving small{ display:block;font-weight:500;font-size:.95rem;color:var(--muted);letter-spacing:0;margin-bottom:6px;}

form{ display:grid; gap:10px; }

input[type=text],input[type=tel],input[type=password],select{
  width:100%; height:44px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  font-size:16px; background:#fff;
}

button{
  height:46px; padding:0 14px; border:0; border-radius:10px;
  font-size:16px; font-weight:600;
  background:#e5e7eb; color:#111;
}
button.primary{ background:var(--primary); color:var(--primary-contrast); }
button.danger{ background:var(--danger); color:#fff; }
button.secondary{ background:#e5e7eb; color:#111; }

.hidden{ display:none !important; }

.admin-link{ display:block; text-align:center; color:var(--primary); text-decoration:none; }

.label{ color:var(--muted); font-size:.95rem; text-align:center; }

/* ✅ 只針對 checkbox 調大小；不會再影響密碼欄 */
.voice{
  display:flex; align-items:center; gap:8px;
  justify-content:flex-start; margin:6px 0 4px; color:#444;
}
.voice input[type="checkbox"]{ width:20px; height:20px; }
.voice label{ white-space:normal; line-height:1.2; }
.voice .hint{ font-size:.85rem; color:var(--muted); }

/* ✅ 登入列（密碼 + 登入 + 解鎖） */
.auth{
  display:flex; gap:8px; align-items:center; margin:6px 0 8px;
}
.auth input[type=password]{ flex:1; }
.auth button{ height:44px; }

.admin-actions{ display:flex; gap:10px; margin-top:10px; }
.admin-actions>button{ flex:1; }

.queue-list{ margin-top:12px; }
.queue-item{
  display:flex; flex-wrap:wrap; gap:8px;
  justify-content:space-between; align-items:center;
  padding:10px 12px; border:1px solid var(--border);
  border-radius:10px; margin-top:8px; background:#fafafa; font-size:.95rem;
}

/* 大螢幕微調 */
@media (min-width: 640px){
  h1{ font-size:1.8rem }
  .container,.card{ padding:20px }
}
