:root{
    --bg:#f6f7fb; --card:#ffffff; --accent:#0b7cff; --accent-2:#0a66d1;
    --muted:#6b7280; --danger:#e11d48; --success:#059669;
    --radius:12px;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
    color: #111827;
}
*{box-sizing:border-box}
body{background:linear-gradient(180deg,#f3f6ff 0%,var(--bg) 100%);margin:0;padding:18px;min-height:100vh;display:flex;align-items:flex-start;justify-content:center}
.container{width:100%;max-width:880px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:0 6px 18px rgba(15,23,42,0.08);padding:18px;overflow:hidden}
.header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.logo{width:52px;height:52px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}
.h1{font-size:18px;margin:0}
.note{color:var(--muted);font-size:13px;margin-top:6px}
.small{font-size:13px;color:var(--muted)}
.btn{
    display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:none;padding:8px 12px;border-radius:8px;font-weight:700;
    cursor:pointer;font-size:14px;text-decoration:none
}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid rgba(11,124,255,0.12)}
.btn.secondary{background:#f3f4f6;color:#111;border:1px solid #e6e9ef}
.notice{padding:10px;border-radius:8px;background:#fff6ea;color:#92400e;border:1px solid #ffedd5}
.qr-list thead th{padding:8px 6px}
.qr-list tbody td{padding:8px 6px;border-top:1px solid #f3f4ff}
.footer{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.helper{font-size:13px;color:var(--muted);flex:1}
input,textarea,select{padding:8px;border-radius:8px;border:1px solid #e6e9ef}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:680px){.form-grid{grid-template-columns:1fr 340px}}
.field{display:flex;flex-direction:column;gap:6px}
label{font-weight:600;font-size:13px}
textarea{min-height:96px;resize:vertical;padding-top:12px}
.row{display:flex;gap:8px;align-items:center}
.small-btn{padding:8px 10px;border-radius:8px;font-size:14px}
.cam-area{display:flex;flex-direction:column;gap:8px}
video{width:100%;border-radius:10px;border:1px solid #e6e9ef;display:none}
.meta{font-size:13px;color:var(--muted)}
.success{padding:10px;border-radius:8px;background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}
hr{border:none;border-top:1px dashed #eef2ff;margin:8px 0}