.jsrt-lq-wrap { max-width: 980px; margin: 0 auto; }
.jsrt-lq-card { background: #fff; border: 1px solid #dcdcde; border-radius: 12px; padding: 20px; margin: 18px 0; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.jsrt-lq-form label { display: block; margin: 14px 0; font-weight: 600; }
.jsrt-lq-form input[type="text"], .jsrt-lq-form input[type="email"], .jsrt-lq-form input[type="password"] { width: 100%; max-width: 540px; padding: 10px; border: 1px solid #bbb; border-radius: 6px; }
.jsrt-lq-check { font-weight: 400 !important; }
.jsrt-lq-button, .jsrt-lq-link-button, .jsrt-lq-button-secondary { display: inline-block; border: 0; border-radius: 8px; padding: 12px 18px; text-decoration: none; cursor: pointer; line-height: 1.2; margin: 6px 8px 6px 0; }
.jsrt-lq-button { background: #1d4ed8; color: #fff !important; }
.jsrt-lq-link-button { background: #eef2ff; color: #1d4ed8 !important; }
.jsrt-lq-button-secondary { background: #f3f4f6; color: #111827; }
.jsrt-lq-big-button { font-size: 1.25rem; padding: 16px 28px; width: 100%; max-width: 360px; }
.jsrt-lq-help, .jsrt-lq-muted { color: #666; font-size: .95em; }
.jsrt-lq-notice { padding: 12px 14px; border-radius: 8px; margin: 12px 0; }
.jsrt-lq-success { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.jsrt-lq-error { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.jsrt-lq-day-block { border-top: 1px solid #eee; padding-top: 12px; margin-top: 18px; }
.jsrt-lq-radio { display: block; padding: 12px; margin: 8px 0; border: 1px solid #e5e7eb; border-radius: 8px; font-weight: 400 !important; }
.jsrt-lq-radio.is-disabled { opacity: .55; background: #f9fafb; }
.jsrt-lq-session-code { display: inline-block; min-width: 58px; font-weight: 700; }
.jsrt-lq-badge { float: right; display: inline-block; padding: 3px 8px; border-radius: 999px; background: #ecfdf5; color: #065f46; font-size: .88em; }
.jsrt-lq-badge.is-low { background: #fffbeb; color: #92400e; }
.jsrt-lq-badge.is-full { background: #fef2f2; color: #991b1b; }
.jsrt-lq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.jsrt-lq-dl { display: grid; grid-template-columns: 120px 1fr; gap: 8px 12px; }
.jsrt-lq-dl dt { font-weight: 700; color: #374151; }
.jsrt-lq-dl dd { margin: 0; }
.jsrt-lq-qr { text-align: center; margin: 18px 0; }
.jsrt-lq-qr-svg { max-width: 260px; width: 100%; height: auto; border: 1px solid #e5e7eb; padding: 10px; background: #fff; }
.jsrt-lq-invalid { border-color: #fecaca; }
.required { color: #b91c1c; }
.jsrt-lq-admin .jsrt-lq-admin-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 18px 0; }
.jsrt-lq-admin .jsrt-lq-card strong { font-size: 2rem; }
.jsrt-lq-session-admin-table input.regular-text { width: 260px; }
@media (max-width: 640px) { .jsrt-lq-dl { grid-template-columns: 1fr; } .jsrt-lq-badge { float: none; margin-left: 8px; } }
