/* 前台共用：點燈登錄 / 查詢 / 成功頁 */
body { font-family:"微軟正黑體"; color:#fff; margin:0; }
.container {
  width:390px; height:844px; margin:0 auto;
  background:url(../../images/bg2026.jpg) no-repeat center/cover;
}
.input { width:150%; max-width:360px; margin:360px auto 0; text-align:left; }
label { display:block; margin-bottom:1px; font-size:18px; }
input, select {
  width:100%; padding:5px; border:1px solid #fff; border-radius:6px;
  color:#000; background-color:#fff; font-size:15px; box-sizing:border-box;
}
.field{margin-bottom:14px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.type-light{display:grid;grid-template-columns:3fr 7fr;gap:10px;}
.info-box{padding:6px 8px;border-radius:6px;font-size:16px;text-align:left;background:rgba(0,0,0,0.25);}
.info-box p{margin:4px 0;line-height:1.45;}
button{
  border:0;border-radius:6px;padding:6px 28px;margin:5px 0 20px;
  cursor:pointer;font-size:19px;
}
button.submit-btn,.btn-search{background:#1e88e5;color:#fff;}
button.view-btn,.btn-update,.confirm-btn{background:#43a047;color:#fff;}
button.back-btn,.btn-return,.close-btn{background:#fb8c00;color:#fff;}
h2{color:#f5ec00;text-align:center;margin-bottom:5px;}
.hidden{display:none;}
.error-msg,.ok-msg{color:#fff76b;font-size:16px;margin-top:2px;display:block;}
input.error,select.error{border-color:yellow;background-color:#ffecec;}
.error{color:#ffeb3b;text-align:center;margin:20px;font-size:18px;font-weight:bold;line-height:1.6;}
.modal{
  position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;
  background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;
}
.modal-content{
  background:#fff;color:#000;padding:20px;width:320px;
  border-radius:10px;font-size:15px;max-width:340px;text-align:left;
}
.modal-content h3{text-align:center;margin-top:0;color:#1e88e5;}
.modal-buttons{text-align:center;margin-top:15px;}
.modal-buttons button{margin:6px;padding:8px 20px;border:none;border-radius:6px;font-size:16px;cursor:pointer;}
.card{
  width:86%;max-width:360px;margin:360px auto 0;
  background:rgba(255,255,255,0.7);border-radius:14px;padding:18px;
  text-align:center;color:#222;
}
.card h2{color:#1e88e5;}
.card p{font-size:17px;margin:8px 0;color:#222;}
.btn-home{background:#1e88e5;color:#fff;}
.btn-again{background:#43a047;color:#fff;}
.note{color:#444;font-size:14px;margin-top:10px;}

/* QR 掃碼頁 */
.scan-page .scan-box { margin-top:280px; width:92%; max-width:360px; }
.scan-hint { color:#ffe082; text-align:center; font-size:15px; margin:8px 0 14px; line-height:1.5; }
.scan-status { color:#fff; text-align:center; font-size:14px; margin:10px 0; }
.qr-reader {
  width:100%; max-width:300px; margin:0 auto;
  overflow:hidden; border-radius:10px; background:rgba(0,0,0,.35);
}
.qr-reader video { width:100% !important; border-radius:10px; }
.scan-manual {
  margin-top:18px; padding-top:12px; border-top:1px solid rgba(255,255,255,.25);
  text-align:center; color:#fff;
}
.scan-manual p { font-size:14px; margin:0 0 8px; color:#ffe082; }
.manual-no-form { display:flex; gap:8px; align-items:center; justify-content:center; }
.manual-no-form input { flex:1; max-width:180px; }
.manual-no-form button { margin:0; padding:8px 14px; font-size:15px; }
.info-box label, .field > label { display:block; margin-bottom:4px; font-size:16px; color:#fff76b; }
