.license-enroll{margin:20px 0 28px;padding:24px;border:1px solid var(--rule);background:var(--teal-pale)}
.license-enroll h2{margin-top:0}.license-enroll .feature-note{margin-bottom:0}.license-result{margin:16px 0 0;white-space:pre-line;line-height:1.6;font-family:var(--sans)}
.tjc-scanner{width:min(620px,calc(100vw - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--rule);border-radius:12px;background:var(--paper,#fcf8f2);color:var(--ink,#173330);padding:26px;box-shadow:0 20px 70px #0004}
.tjc-scanner::backdrop{background:#102d2aa8}.scanner-heading{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.scanner-heading h2{font-size:28px;margin:0}.scanner-heading button{background:none;border:0;font-size:30px;min-width:44px;min-height:44px;cursor:pointer}
.tjc-scanner p{font-family:var(--sans);line-height:1.6}.scanner-camera{position:relative;background:#163b35;border-radius:8px;overflow:hidden;min-height:160px}.scanner-camera video{display:block;width:100%;max-height:280px;object-fit:contain}.scanner-camera #camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:white;font:14px/1.6 var(--sans)}
.tjc-scanner [hidden]{display:none!important}.scanner-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.scanner-actions .button{min-height:44px}.scanner-cancel{background:none;border:0;text-decoration:underline;min-height:44px;padding:10px 0;color:inherit;cursor:pointer}.tjc-scanner dl{display:grid;grid-template-columns:130px 1fr;gap:12px;font:14px/1.5 var(--sans)}.tjc-scanner dt{font-weight:700}.tjc-scanner dd{margin:0;overflow-wrap:anywhere}.tjc-scanner button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:600px){.license-enroll{padding:20px 16px}.tjc-scanner{padding:20px 16px}.scanner-heading h2{font-size:25px}.scanner-actions .button{flex:1;min-width:130px}.tjc-scanner dl{grid-template-columns:100px 1fr}}
#insurance-options{border-top:3px solid var(--teal);margin-top:42px;padding-top:26px}#insurance-options:empty{display:none}#insurance-options h2{margin-top:10px;font-size:29px}#insurance-options h3{font-size:23px}#insurance-options p{line-height:1.6}#insurance-options .check-label{align-items:flex-start;gap:12px}#insurance-options .check-label input{flex:0 0 19px;width:19px;height:19px;margin-top:4px}#insurance-options .check-label small{display:block;margin-top:8px;line-height:1.5}#insurance-options .insurance-review{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}#insurance-options fieldset{margin:0 0 18px;padding:0;border:0;min-width:0}#insurance-options legend{font:600 14px var(--sans);padding:12px 0}#insurance-options input,#insurance-options select{max-width:100%;min-width:0}#insurance-options fieldset[disabled]{opacity:.72}.insurance-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.insurance-fields label{min-width:0}.insurance-consent{background:var(--teal-pale);padding:18px;border:1px solid var(--rule);font-size:15px;line-height:1.6}.insurance-clear{display:block;background:none;border:0;text-decoration:underline;min-height:44px;margin-top:12px;cursor:pointer}.quote-history{margin-top:28px}.quote-history-item,.consent-receipt{padding:20px;border:1px solid var(--rule);margin:16px 0;overflow-wrap:anywhere}.quote-history-item h4{margin:0;font-size:19px}.quote-history-item button,.consent-receipt button{min-height:44px;color:var(--teal);cursor:pointer}.quote-withdraw-confirm{margin-top:16px;padding:16px;background:var(--teal-pale)}.consent-receipt .feature-note{overflow-wrap:anywhere}#insurance-options button:disabled{opacity:.6;cursor:wait}
.membership-invite{position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:38px;border:1px solid var(--ink);border-top:5px solid var(--teal);background:var(--paper,#f6f0e7);color:var(--ink);box-shadow:0 20px 70px #0005}.membership-invite::backdrop{background:rgba(6,20,22,.66)}.membership-invite .invite-close{position:absolute;right:12px;top:10px;width:44px;height:44px;background:none;border:0;font:36px var(--sans);color:var(--ink);cursor:pointer}.invite-wordmark{font-family:var(--serif,Georgia,serif);font-size:38px;line-height:.94;letter-spacing:-1.4px;margin:8px 30px 30px 0}.invite-wordmark span{font-size:23px;letter-spacing:-.8px}.membership-invite h2{font-family:var(--serif,Georgia,serif);font-size:43px;line-height:1.08;margin:16px 0}.membership-invite p{font:16px/1.6 var(--sans)}.membership-invite .invite-join{display:block;text-align:center;margin:24px 0 0;padding:16px}.invite-dismiss{display:block;min-height:44px;margin:8px auto 14px;border:0;background:none;text-decoration:underline;font:14px var(--sans);color:var(--ink);cursor:pointer}.membership-invite .invite-note,.membership-invite .invite-partner{font-size:12px;line-height:1.6}.membership-invite .invite-partner{border-top:1px solid var(--rule);padding-top:14px;margin-bottom:0}.membership-invite a:focus-visible,.membership-invite button:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media(max-width:600px){.insurance-fields{grid-template-columns:1fr}.insurance-consent{padding:14px}.membership-invite{padding:28px 24px}.membership-invite h2{font-size:36px}.invite-wordmark{font-size:33px}.invite-wordmark span{font-size:20px}}
