:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f3f4f6}*{box-sizing:border-box}body{margin:0}.phone{max-width:520px;margin:auto;min-height:100vh;padding:32px 18px;display:flex;flex-direction:column;justify-content:center;text-align:center}.phone h1{letter-spacing:.08em;font-size:2.4rem;margin:0 0 28px}.phone h1 span{font-weight:400}.card{background:white;border-radius:18px;padding:22px;box-shadow:0 10px 30px #0001;margin-bottom:20px}label{display:block;text-align:left;font-weight:600;margin:14px 0}input,select,button,.button{width:100%;font:inherit;padding:14px;border-radius:12px;border:1px solid #d1d5db;margin-top:7px}button,.button{cursor:pointer;background:#111827;color:#fff;border:0;text-decoration:none;text-align:center}.primary{background:#111827}.arrive{background:#15803d;font-weight:800;font-size:1.15rem;margin-top:20px}.leave{background:#b91c1c;font-weight:800;font-size:1.15rem;margin-top:14px}.result{min-height:24px;font-weight:700;margin-top:16px}.muted{color:#6b7280;font-size:.9rem}.flash{max-width:700px;margin:12px auto;padding:12px;border-radius:10px}.flash.error{background:#fee2e2}.flash.ok{background:#dcfce7}.login{max-width:440px;margin:100px auto;padding:20px}.admin{max-width:1400px;margin:auto;padding:24px}.admin header{display:flex;justify-content:space-between;align-items:center}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.filters{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:18px}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.inline{display:inline-block;margin-right:5px}.inline button,td form button{padding:7px 10px;margin:2px;width:auto}.admin form input,.admin form select,.admin form button{margin-top:7px}@media(max-width:850px){.grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.admin{padding:12px}}

.biometric-ok{
  color:#15803d;
  font-weight:800;
  margin:0 0 15px;
}

.install-card{
  text-align:center;
  border:2px solid #111827;
}

.install-logo{
  display:block;
  width:110px;
  height:110px;
  object-fit:contain;
  margin:0 auto 12px;
  border-radius:22px;
}

.ios-help{
  margin-top:15px;
  padding:14px;
  text-align:left;
  background:#f3f4f6;
  border-radius:12px;
}

.ios-help p{
  margin:7px 0;
}

.secondary-install{
  margin-top:10px;
  background:#e5e7eb;
  color:#111827;
}

.forgotten-warning{
  margin:15px 0;
  padding:16px;
  text-align:left;
  background:#fff7ed;
  border:2px solid #f97316;
  border-radius:14px;
}

.forgotten-warning h3{
  color:#c2410c;
  margin-top:0;
}

.regularization-alert{
  padding:12px;
  color:#9a3412;
  font-weight:800;
  background:#ffedd5;
  border-radius:10px;
}

.pending-row{
  background:#fff7ed;
}

.reject-button{
  background:#b91c1c;
}
