.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root{font-family:Arial,Helvetica,sans-serif;color:#243d39;background:#f4f6f2;font-synthesis:none;line-height:1.55;font-size:16px;--green:#17594e;--line:#dce4dd;--muted:#63736c}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{ -webkit-tap-highlight-color:transparent}button{border:0;border-radius:8px;background:var(--green);color:white;padding:13px 22px;cursor:pointer;font-weight:600}button:hover{background:#10483f}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#edf2ee;color:var(--green);border:1px solid var(--line);padding:9px 14px}button.link-button{background:none;color:var(--green);padding:0;text-align:left;text-decoration:underline}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #afbeb4;border-radius:7px;color:#243d39;background:white;min-height:48px}input:disabled,select:disabled{background:#f2f4f1;color:#748277}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--green)}input[type=file]{padding:12px;font-size:14px}input::file-selector-button{border:0;border-radius:5px;background:#edf2ee;color:var(--green);padding:7px 12px;margin-right:10px}textarea{resize:vertical}label,legend{font-weight:600}fieldset{border:0;padding:0;margin:0;min-width:0}legend{margin-bottom:10px;padding:0;width:100%}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(34px,5vw,49px);font-weight:400;line-height:1.12;letter-spacing:-1.2px;margin:12px 0 14px}h2{font-size:25px;line-height:1.25}h3{font-size:20px;line-height:1.35}p{margin-bottom:14px}ul,ol{padding-left:24px}li{margin:6px 0}.masthead{display:flex;align-items:center;justify-content:space-between;max-width:1032px;margin:auto;padding:26px 32px;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#234c43;font-size:12px;letter-spacing:1.5px;font-weight:bold;line-height:1.4}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:2.3px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #61867b;border-radius:50%;font:32px Georgia,serif;letter-spacing:0}.local-badge{font-size:10px;letter-spacing:1.2px;background:#e6ece5;border:1px solid #d4dfd3;border-radius:30px;padding:6px 10px;white-space:nowrap}.shell{max-width:824px;margin:0 auto;padding:42px 32px 64px}.intro{margin-bottom:26px}.intro>p{color:var(--muted);font-size:18px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:bold;color:#567264}.local-note{background:#eaf0e8;border-left:3px solid #789776;padding:13px 17px;color:#4b654e;font-size:14px;margin-bottom:26px;border-radius:0 6px 6px 0}#questionnaire,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 5px 20px #25432d04}.field{margin-bottom:26px;scroll-margin-top:24px}.field>label{display:block;margin-bottom:9px}.field .choice{display:flex;gap:12px;align-items:flex-start;font-weight:400;cursor:pointer;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#fcfdfb;margin:0}.choice:has(input:checked){border-color:#76a28e;background:#eef5ef}.choices{display:grid;gap:9px}.required{color:#a04031}.hint,.muted{color:var(--muted);font-size:14px}.hint{margin:6px 0 10px}.field-html{color:#42594e;font-size:15px}.field-html p:last-child{margin-bottom:0}.field-section{padding-top:14px;margin-top:36px;border-top:1px solid var(--line)}.field-section h2,.field-section h3{font-family:Georgia,serif;font-weight:400;margin:16px 0}.field-34{border-top:2px solid #9bb4a3;padding-top:25px}.consent-copy{font-size:14px;line-height:1.7;background:#f8faf6;padding:20px;border-radius:7px;margin:16px 0}.consent-copy h1,.consent-copy h2,.consent-copy h3{font:600 17px Arial,sans-serif;letter-spacing:0}.consent-copy p:last-child{margin:0}#signature{display:block;width:100%;height:145px;background:#fbfcfa;border:1px dashed #86a395;border-radius:8px;touch-action:none}.signature-tools{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-top:12px}.signature-tools details{flex:1;min-width:180px;font-size:14px}.signature-tools summary{cursor:pointer;color:var(--green);padding:8px 0}.signature-tools label{display:block;margin-top:12px}.signature-tools button{margin-top:8px}.submit-row{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.submit-row p{font-size:13px;color:var(--muted);margin:0}.submit-row button span{margin-left:18px}footer{border-top:1px solid var(--line);max-width:1032px;margin:auto;padding:24px 32px 35px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.error-summary{background:#fff1ed;border:1px solid #d29380;border-radius:8px;padding:20px;margin-bottom:20px}.error-summary a,.field-error{color:#973b28}.field-error{font-size:14px;margin:6px 0 0}.field-error:empty{display:none}[aria-invalid=true]{border-color:#b35039}.success{background:#fff;padding:38px;border:1px solid var(--line);border-radius:14px;text-align:center}.success-mark{width:54px;height:54px;border-radius:50%;background:#e5efe4;color:var(--green);display:grid;place-items:center;font-size:28px;margin:0 auto 22px}.success a{display:block;margin:20px auto 0}#receipt{font-size:12px;overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #d4ad58;outline-offset:3px}[hidden]{display:none!important}.staff-shell{max-width:1080px}.staff-nav{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.panel{margin:24px 0}.panel-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.panel-header h2{margin-bottom:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.prefill-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.prefill-grid label{display:block;font-size:14px}.prefill-grid input,.prefill-grid select{margin-top:6px}.prefill-result{margin-top:20px;overflow-wrap:anywhere}.audit-list li{margin-bottom:12px}.record dl{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:0 24px;font-size:14px}.record dt,.record dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}.record dt{font-weight:600}.signature-image{max-width:100%;width:380px;border:1px solid var(--line)}pre{background:#f2f5ef;padding:16px;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}details>summary{cursor:pointer;font-weight:600}.record-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.status{min-height:24px;font-size:14px;color:var(--muted)}
@media(max-width:600px){.masthead{padding:20px}.shell{padding:30px 16px 45px}#questionnaire,.panel{padding:22px 18px;border-radius:10px}.intro{padding:0 6px}.intro>p{font-size:16px}.submit-row{flex-direction:column-reverse;align-items:stretch;text-align:center}.submit-row button{width:100%}.field{margin-bottom:25px}.consent-copy{padding:14px}.local-badge{font-size:9px}.prefill-grid{grid-template-columns:1fr}.record dl{grid-template-columns:1fr}.record dt{padding-bottom:3px;border:0}.record dd{padding-top:0}.panel-header{align-items:flex-start}.panel-header h2{font-size:22px}footer{padding:22px 20px;flex-direction:column}.brand{font-size:10px;gap:8px}.brand small{font-size:9px}.brand-mark{width:35px;height:35px;font-size:28px}}
@media print{body{background:#fff}.masthead,.local-note,footer,button,.staff-nav,#prefill,.audit-panel,#submissions-panel{display:none!important}.shell{max-width:none;padding:0}.panel,.success{border:0;box-shadow:none;padding:0}a{color:inherit}.record dl{font-size:11px}.record dt,.record dd{break-inside:avoid}.consent-copy{background:white}details{break-inside:avoid}}

/* Purple questionnaire refresh */
:root{
  --green:#6540a5;
  --line:#e5ddef;
  --muted:#6f657d;
  font-family:"Segoe UI",Aptos,Arial,sans-serif;
  color:#30243f;
  background:#f8f6fc;
}
body{
  background:radial-gradient(circle at 8% 0%,#eee7fb 0,transparent 360px),#f8f6fc;
}
a{color:#6540a5}
button{
  background:#6540a5;
  border-radius:12px;
  box-shadow:0 4px 12px #40206b1a;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
button:hover{background:#512f8a;box-shadow:0 7px 18px #40206b25;transform:translateY(-1px)}
button:disabled{transform:none;box-shadow:none}
button.secondary{background:#f3eefa;color:#57358e;border-color:#ded3ee;box-shadow:none}
button.secondary:hover{background:#ebe2f7}
input,select,textarea{
  border:1px solid #cfc3df;
  border-radius:11px;
  color:#30243f;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
input:hover,select:hover,textarea:hover{border-color:#a78dc7}
input:focus,select:focus,textarea:focus{border-color:#8057ba;box-shadow:0 0 0 4px #7650aa1e;outline:none}
input:disabled,select:disabled{background:#f4f0f8;color:#766d81}
input[type=file]{border:1px dashed #bca8d7;background:#faf8fe;padding:16px}
input::file-selector-button{background:#eae0f7;color:#57358e}
label,legend{color:#3d3050}
h1,h2,h3{color:#322342}
.required{color:#a43d69}
.hint,.muted{color:var(--muted)}
.masthead{
  max-width:1100px;
  padding:24px 32px;
  border-bottom:none;
}
.brand{color:#39244f}
.brand-mark{
  color:#6540a5;
  border:2px solid #cbb8e6;
  background:#f1eaf9;
  box-shadow:0 2px 8px #56348113;
}
.local-badge{
  color:#61438a;
  background:#efe8f8;
  border-color:#e2d6f1;
  font-weight:700;
}
.shell{max-width:980px;padding:18px 32px 72px}
.intro{
  position:relative;
  overflow:hidden;
  padding:52px 54px 42px;
  margin:0 0 18px;
  border-radius:25px;
  color:white;
  background:linear-gradient(125deg,#382152 0%,#5b378e 55%,#8055bb 100%);
  box-shadow:0 16px 34px #3e225228;
}
.intro:before,.intro:after{
  content:"";
  position:absolute;
  border:1px solid #ffffff24;
  border-radius:50%;
  pointer-events:none;
}
.intro:before{width:370px;height:370px;right:-110px;top:-170px;box-shadow:0 0 0 60px #ffffff08}
.intro:after{width:230px;height:230px;right:90px;bottom:-190px;box-shadow:0 0 0 45px #ffffff0b}
.intro>*{position:relative;z-index:1}
.intro h1{
  color:white;
  font-size:clamp(38px,5vw,56px);
  max-width:650px;
  margin:12px 0 16px;
}
.intro>p{color:#f0e8fa;font-size:18px;max-width:600px;line-height:1.6;margin-bottom:26px}
.eyebrow{color:#67469b;font-size:11px;letter-spacing:2px;font-weight:800}
.intro .eyebrow{color:#ddc7fb}
.intro-meta{display:flex;gap:10px;flex-wrap:wrap}
.intro-meta span{
  padding:7px 12px;
  border:1px solid #ffffff38;
  border-radius:999px;
  background:#ffffff15;
  color:#f7f1ff;
  font-size:12px;
  font-weight:600;
}
.intro-meta b{color:#f8a8c8}
.local-note{
  margin:0 0 28px;
  padding:15px 18px;
  border:1px solid #e4d7f1;
  border-left:4px solid #a77bd4;
  border-radius:11px;
  background:#f1eafa;
  color:#584276;
}
#questionnaire{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.section-nav{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  padding:0 0 16px;
  margin:0 0 10px;
  scrollbar-width:thin;
}
.section-nav a{
  flex:none;
  display:inline-block;
  padding:9px 13px;
  border:1px solid #e2d9ed;
  border-radius:999px;
  background:white;
  color:#5c4972;
  font-size:13px;
  font-weight:650;
  text-decoration:none;
}
.section-nav a:hover,.section-nav a:focus-visible{background:#eee5f8;border-color:#bda6dc;color:#4f307d}
#fields{display:grid;gap:22px}
.form-stage,.office-details,.submit-row{
  background:#fff;
  border:1px solid #e8e0f0;
  border-radius:21px;
  box-shadow:0 7px 25px #3923520b;
}
.form-stage{padding:30px 34px 32px;scroll-margin-top:22px}
.stage-heading{
  display:flex;
  align-items:flex-start;
  gap:17px;
  border-bottom:1px solid #eee8f4;
  padding-bottom:21px;
  margin-bottom:26px;
}
.stage-number{
  flex:none;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  color:#633c9e;
  background:#f0e9f9;
  font-size:13px;
  font-weight:800;
  letter-spacing:.6px;
}
.stage-heading h2{
  margin:0 0 4px;
  font:normal 29px/1.2 Georgia,serif;
  letter-spacing:-.5px;
}
.stage-heading p{color:#796e86;font-size:14px;margin:0}
.stage-fields .field{margin:0 0 25px;min-width:0}
.stage-fields .field:last-child{margin-bottom:0}
.field>label{margin-bottom:9px}
.field-html{color:#574b64}
#field-HtmlText{
  padding:13px 15px;
  border:1px solid #e8ddf3;
  border-radius:11px;
  background:#f7f2fd;
  color:#594678;
  font-size:14px;
}
#field-HtmlText p{margin:0}
#section-contact .stage-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 16px}
#section-contact .field{grid-column:1/-1}
#section-contact #field-FirstName,#section-contact #field-LastName{grid-column:span 3}
#section-contact #field-City{grid-column:span 3}
#section-contact #field-State{grid-column:span 2}
#section-contact #field-ZipCode{grid-column:span 1}
#section-visit .stage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
#section-visit .field{grid-column:1/-1}
#section-visit #field-DateTime,#section-visit #field-Dropdown{grid-column:span 1}
#section-visit #field-SingleLine3{grid-column:span 1}
#field-Dropdown3 .choices,#field-Radio1 .choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.field .choice{
  background:#fdfbff;
  border:1px solid #e4dced;
  border-radius:11px;
  padding:13px 15px;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.field .choice:hover{border-color:#bca4dd;background:#faf6ff}
.choice:has(input:checked){border-color:#8e67c1;background:#f2eafb;box-shadow:inset 0 0 0 1px #8e67c1}
.field-34{border-top:1px solid #e5daef;padding-top:25px}
.field-34 h3{font-family:Georgia,serif;font-weight:400}
.consent-copy{background:#faf8fd;border:1px solid #eee8f4;border-radius:12px;color:#4e425b}
.vaccine-records-notice{padding:18px 20px;border:1px solid #d9c7e9;border-radius:12px;background:#f8f3fd;color:#49385f;line-height:1.6}
.vaccine-records-notice h3{margin:0 0 8px;font-size:17px}
.vaccine-records-notice p{margin:8px 0 0}
#field-HtmlText2{
  padding:19px 20px;
  background:#f8f4fd;
  border:1px solid #e9ddf6;
  border-radius:12px;
}
#field-FileUpload .hint{margin-top:8px}
#signature{background:#fdfbff;border:1px dashed #a992c7;border-radius:12px}
.signature-tools summary{color:#6540a5}
.office-details{padding:0 26px;background:#faf8fd}
.office-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:19px 0;
  color:#574471;
  font-weight:700;
  list-style:none;
}
.office-details summary::-webkit-details-marker{display:none}
.office-details summary:after{content:"⌄";color:#795ba1;font-size:21px;line-height:1}
.office-details[open] summary:after{transform:rotate(180deg)}
.office-details summary span{margin-left:auto;color:#81758f;font-size:12px;font-weight:400}
.office-body{border-top:1px solid #e6dff0;padding:22px 0 0}
.office-body .field{margin-bottom:20px}
.submit-row{
  display:flex;
  align-items:center;
  border:1px solid #e8e0f0;
  padding:28px 34px;
  margin-top:22px;
  text-align:left;
}
.submit-kicker{color:#7959a5;font-size:11px;letter-spacing:1.8px;font-weight:800;margin-bottom:6px}
.submit-row h2{font:normal 27px Georgia,serif;margin:0 0 5px}
.submit-row p{font-size:14px;margin:0;color:#756b80}
.submit-row button{flex:none;min-height:51px}
.error-summary{background:#fff2f7;border-color:#d7a3b9;color:#6d2849;border-radius:13px}
.error-summary a,.field-error{color:#9c315d}
[aria-invalid=true]{border-color:#b54873}
.success,.panel{border-color:#e8e0f0;border-radius:18px;box-shadow:0 7px 25px #3923520b}
.success-mark{background:#f0e8f9;color:#6540a5}
.deposit-alert{background:#fff1dc;border:3px solid #ae4b15;border-radius:15px;box-shadow:0 8px 24px #7a300026;color:#5c2810;margin:0 0 28px;padding:26px 28px;text-align:left}
.deposit-alert-label{color:#8d2e0e;font-size:15px;font-weight:800;letter-spacing:1.5px}
.deposit-alert h2{color:#5c2810;font-family:Arial,Helvetica,sans-serif;font-size:clamp(27px,5vw,35px);font-weight:800;line-height:1.15;margin:10px 0 15px}
.deposit-alert p{font-size:19px;font-weight:600;line-height:1.5;margin:0}
pre{background:#f5f0fa}
footer{max-width:1100px;border-color:#e7dff0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #bb96e1;outline-offset:3px}
@media(max-width:700px){
  .masthead{padding:18px 20px}
  .shell{padding:8px 16px 46px}
  .intro{padding:34px 27px 30px;border-radius:20px}
  .intro h1{font-size:38px}
  .intro>p{font-size:16px}
  .intro .eyebrow{font-size:10px}
  .form-stage{padding:24px 21px 26px;border-radius:17px}
  .stage-heading{gap:12px;padding-bottom:17px;margin-bottom:21px}
  .stage-heading h2{font-size:25px}
  .stage-number{width:38px;height:38px}
  #section-contact .stage-fields,#section-visit .stage-fields{grid-template-columns:1fr;gap:0}
  #section-contact .field,#section-visit .field{grid-column:1/-1!important}
  .submit-row{padding:24px 21px;flex-direction:column;align-items:stretch;gap:19px}
  .submit-row button{width:100%}
  .deposit-alert{padding:22px 19px}
  .deposit-alert p{font-size:18px}
  .office-details{padding:0 20px}
  .office-details summary span{display:none}
  .section-nav{flex-wrap:wrap;overflow:visible;padding:0;margin:0 0 10px}
  .section-nav a{font-size:12px;padding:8px 11px}
}
@media(max-width:440px){
  .intro{padding:30px 22px 27px}
  .intro h1{font-size:34px}
  .intro-meta span{font-size:11px}
  #field-Dropdown3 .choices,#field-Radio1 .choices{grid-template-columns:1fr}

}
@media print{
  body{background:white}
  .deposit-alert{box-shadow:none;break-inside:avoid}
  .intro{background:none;color:#30243f;box-shadow:none;padding:0}
  .intro h1{color:#30243f}
  .intro>p,.intro .eyebrow{color:#30243f}
  .section-nav,.office-details{display:none!important}
  .form-stage,.submit-row{break-inside:avoid;border:0;box-shadow:none;padding:0}
}
#procedure-confirmation,#date-confirmation{
  width:min(440px,calc(100% - 32px));
  max-height:calc(100vh - 32px);
  overflow:auto;
  border:1px solid #e2d4f1;
  border-radius:19px;
  padding:31px;
  color:#342443;
  background:#fff;
  box-shadow:0 26px 80px #2d174c40;
}
#procedure-confirmation::backdrop,#date-confirmation::backdrop{background:#251534a6}
.confirmation-eyebrow{color:#7650a3;font-size:11px;font-weight:800;letter-spacing:1.7px;margin-bottom:10px}
#procedure-confirmation h2,#date-confirmation h2{font:normal 29px Georgia,serif;margin:0 0 13px}
#procedure-confirmation p,#date-confirmation p{color:#675973;margin:0 0 23px}
#procedure-confirmation strong,#date-confirmation strong{color:#452a63}
.confirmation-actions{display:flex;flex-direction:column;gap:10px}
.confirmation-actions button{width:100%}
#field-DecisionBox .field-heading{font:normal 24px Georgia,serif;color:#4a306b;margin:0 0 15px}

/* Staff check-in queue */
#checkins{scroll-margin-top:20px}
#checkins .panel-header{align-items:flex-start}
.queue-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:24px 0 12px}
.queue-summary{display:flex;gap:11px;flex-wrap:wrap}
.queue-summary span{display:inline-flex;align-items:center;gap:6px;background:#f3eefa;border:1px solid #e4d8f2;border-radius:999px;padding:8px 12px;color:#584276;font-size:13px}
.queue-summary strong{font-size:17px;color:#42256e}
.queue-toolbar label{display:flex;align-items:center;gap:10px;font-size:13px}
.queue-toolbar select{width:auto;min-width:160px;min-height:40px;padding:7px 10px}
.queue-card{border:1px solid #e7ddf0;border-radius:15px;padding:21px;margin-top:14px;background:#fff}
.queue-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.queue-kicker{color:#735494;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.queue-card h3{font-size:19px;margin:4px 0 6px}
.queue-card h3 span{color:#746784;font-weight:400}
.queue-card-heading p{color:#6f657d;font-size:13px;margin:0}
.queue-pill{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#f2edfa;color:#634396}
.queue-pill.checked_in{background:#e6f4ec;color:#27634b}
.queue-pill.in_care{background:#e9effb;color:#305a9d}
.queue-pill.complete{background:#edf0ed;color:#65716a}
.queue-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;margin-top:18px}
.queue-fields label,.queue-note{display:block;font-size:12px;color:#584a69}
.queue-fields input,.queue-fields select,.queue-note input{margin-top:5px;min-height:41px;padding:8px 10px;font-size:14px}
.queue-note{margin-top:12px}
.queue-card .record-actions{align-items:center;margin:16px 0 6px}
.queue-card .record-actions button{min-height:41px;padding:8px 13px}
.queue-action-link{font-size:14px;font-weight:600}
.queue-card .hint{margin-bottom:0}
@media(max-width:780px){.queue-fields{grid-template-columns:1fr 1fr}.queue-fields label:last-child{grid-column:1/-1}}
@media(max-width:560px){.queue-card-heading{display:block}.queue-pill{display:inline-block;margin-top:10px}.queue-fields{grid-template-columns:1fr}.queue-fields label:last-child{grid-column:auto}#checkins .panel-header{flex-direction:column}}
@media print{#checkins{display:none!important}}

/* Shared screen presentation. Printed documents keep their qualified layout. */
@media screen {
  :root {
    --ink:#272238; --purple:#7044b6; --green:#7044b6; --line:#e5dfed;
    --muted:#70677e; --bg:#f6f4f8; --plum:#2c1c43; --lavender:#f0e8fa;
    --surface-shadow:0 4px 8px #33204703,0 16px 40px #33204706;
    font-family:"Segoe UI",Aptos,Arial,sans-serif; color:var(--ink); background:var(--bg);
  }
  body {background:radial-gradient(ellipse at 0 0,#ede3fa 0,transparent 620px),radial-gradient(ellipse at 100% 70%,#f0eaf9 0,transparent 600px),var(--bg);font-family:"Segoe UI",Aptos,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
  ::selection {background:#dac5f5;color:#2c1c43}
  a {text-underline-offset:4px}
  button,.button {border-radius:11px;font-family:inherit;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;min-height:44px}
  button:not(.stat):not(.text-action):not(.print-documents-button):not(.undo-print-button):not(.secondary):not(.link-button),.button:not(.secondary) {background:#7044b6;box-shadow:0 3px 0 #42286a12,0 5px 12px #7044b612}
  button:not(:disabled):hover,.button:hover {filter:brightness(.97)}
  button:disabled {cursor:not-allowed;transform:none;filter:none}
  button.secondary,.button.secondary {background:#fff;color:#63418e;border-color:#ddd3e9;box-shadow:none}
  button.secondary:hover,.button.secondary:hover {background:#f2ecf8}
  input,select,textarea {font-family:inherit;border-color:#d7ccdf;border-radius:10px;color:var(--ink);background:#fff;min-height:46px;transition:border-color .18s ease,box-shadow .18s ease}
  input:hover,select:hover,textarea:hover {border-color:#aa8bc8}
  input:focus,select:focus,textarea:focus {border-color:#8c61c2;box-shadow:0 0 0 4px #7044b613}
  input[type=checkbox],input[type=radio] {accent-color:#7044b6;min-height:20px}
  input[readonly] {background:#f3eff8;color:#675779}
  :where(a,button,input,select,textarea,summary,canvas):focus-visible {outline:3px solid #a27ace;outline-offset:3px}
  .topbar,.masthead {position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:auto;min-height:90px;width:100%;max-width:none;margin:0;padding:20px max(32px,calc((100vw - 1340px)/2));background:#2c1c43;border:0;border-bottom:1px solid #ffffff12;color:#fff}
  .brand {display:flex;flex:none;min-width:0;line-height:1}
  .brand-logo {display:block;width:184px;height:auto;border-radius:7px;background:#fff;box-shadow:0 8px 24px #15091f38}
  .eyebrow {font-size:10px;font-weight:800;letter-spacing:2px;color:#735396}
  .muted {color:var(--muted);line-height:1.55}
  .notice {border:1px solid #e1d4ef;border-radius:12px;background:#f0e9f8;color:#584174}
  .notice.error {border-color:#eac2ce;background:#fff0f4;color:#8b2c4d}
  footer {border-color:#e1d9e9;color:#70587e;letter-spacing:.2px;align-items:center;gap:24px}
  .footer-tagline {display:block;margin:0;max-width:480px;font-size:10px;font-weight:600;line-height:1.7;letter-spacing:.7px;text-align:right;text-wrap:balance}
  .ui-icon {width:20px;height:20px;flex:none;vertical-align:middle}
  @media(max-width:700px) {
    .topbar,.masthead {min-height:78px;padding:17px 20px;gap:12px}
    .brand-logo {width:132px;box-shadow:none}
    footer {flex-direction:column;gap:8px;text-align:center}
    .footer-tagline {font-size:9px;max-width:320px;text-align:center}
  }
  @media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}

/* Matches the app skin without changing fields, answers or print styling. */
@media screen {
  .local-badge {background:#ffffff0c;border-color:#ffffff1d;color:#c7b1dc;font-size:9px;letter-spacing:1.4px;padding:7px 11px}
  .shell {max-width:1010px;padding:30px 32px 72px}
  .intro {padding:42px 44px 36px;border-radius:23px;background:linear-gradient(115deg,#2c1c43,#563477);box-shadow:0 14px 36px #40235215;border:1px solid #4e3365}
  .intro h1 {font-size:clamp(35px,4.5vw,49px);letter-spacing:-1.4px;margin:14px 0 15px}
  .intro .eyebrow {color:#c7a8e6;font-size:9px}
  .intro>p {font-size:15px;line-height:1.7;color:#cebcdf;margin-bottom:22px}
  .intro-meta span {border-color:#ffffff21;background:#ffffff08;font-size:11px;color:#cbb8dd;padding:6px 10px}
  .intro:before {border-color:#ffffff13;box-shadow:0 0 0 45px #ffffff04}
  .intro:after {border-color:#ffffff13;box-shadow:0 0 0 35px #ffffff03}
  .local-note {font-size:12px;line-height:1.65;background:#f0e9f8;color:#79608d;border-color:#e1d4ef;border-left-color:#b693d5;padding:15px 18px;margin-bottom:22px}
  #draft-notice {background:#ffffff80;border:1px solid #e5daee;border-radius:13px;padding:17px 20px}
  #draft-status {font-size:13px;font-weight:650;color:#71568b;margin-bottom:6px}
  #draft-notice .hint {font-size:11px;color:#70587e;margin-bottom:0}
  .section-nav {gap:7px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:8px}
  .section-nav a {background:#fff;border-color:#e0d5eb;border-radius:9px;font-size:11px;color:#80638f;padding:9px 13px;min-height:36px}
  .section-nav a:hover {background:#efe7f8;border-color:#bc9dd5}
  #fields {gap:20px}
  .form-stage {padding:29px 34px 33px;border-color:#e4daed;border-radius:18px;box-shadow:var(--surface-shadow)}
  .stage-heading {gap:15px;padding-bottom:20px;margin-bottom:24px;border-color:#ede5f4}
  .stage-number {width:39px;height:39px;border-radius:11px;background:#eee5f8;color:#8157ac;border:1px solid #e3d4f0;font-size:12px;box-shadow:inset 0 1px 0 #fff}
  .stage-heading h2 {font:600 25px/1.2 "Segoe UI",Aptos,Arial,sans-serif;letter-spacing:-.65px;color:#503663;margin-bottom:5px}
  .stage-heading p {font-size:12px;color:#70587e}
  .field>label,.field>legend {font-size:13px;color:#695078;font-weight:600}
  .stage-fields .field {margin-bottom:24px}
  input,select,textarea {font-size:15px;padding:12px 14px;min-height:48px;background:#fcfaff}
  input[type=checkbox],input[type=radio] {width:19px;height:19px;min-height:19px}
  input:disabled,select:disabled {background:#f0ebf5;color:#786685;opacity:1}
  .hint {font-size:12px;color:#70587e;line-height:1.6}
  .field .choice {border-color:#e4d9ec;background:#fcfaff;border-radius:11px;padding:13px 15px;font-size:14px;color:#765f88;line-height:1.5}
  .choice:has(input:checked) {background:#f1e8fa;border-color:#a782c9;box-shadow:inset 3px 0 #9570ba;color:#68418e}
  .choice:has(input:focus-visible) {outline:3px solid #a27ace;outline-offset:3px}
  .field-html {color:#78638a;font-size:14px}
  .consent-copy {color:#78638a;font-size:13px;background:#faf7fd;border-color:#e8def1}
  .consent-copy h1,.consent-copy h2,.consent-copy h3 {color:#624775;font-size:16px}
  .vaccine-records-notice {background:#f5effb;border-color:#e0d0ee;color:#735886;font-size:13px}
  #signature {background:repeating-linear-gradient(0deg,#fcfaff,#fcfaff 34px,#e9dff1 35px,#fcfaff 36px);border-color:#c4add7;border-radius:12px}
  .submit-row {padding:27px 32px;border-radius:18px;border-color:#dfd0ed;background:#f0e8f9;box-shadow:none}
  .submit-row h2 {font:600 24px "Segoe UI",Aptos,Arial,sans-serif;letter-spacing:-.5px;color:#67438b}
  .submit-row p {font-size:12px;color:#70587e}
  .submit-kicker {font-size:9px;letter-spacing:1.8px;color:#70587e}
  .submit-row button {font-size:13px;min-height:49px}
  #procedure-confirmation,#date-confirmation,#upgrade-confirmation {width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #e0d2ec;border-radius:21px;padding:30px;background:#fff;color:#4a345d;box-shadow:0 26px 100px #29153d38}
  #procedure-confirmation::backdrop,#date-confirmation::backdrop,#upgrade-confirmation::backdrop {background:#21122c90;backdrop-filter:blur(4px)}
  #procedure-confirmation h2,#date-confirmation h2,#upgrade-confirmation h2 {font:600 25px/1.25 "Segoe UI",Aptos,Arial,sans-serif;letter-spacing:-.6px;color:#5b397c;margin:0 0 16px}
  #procedure-confirmation p,#date-confirmation p,#upgrade-confirmation p {font-size:14px;line-height:1.7;color:#70587e;margin:0 0 24px}
  .confirmation-eyebrow {font-size:9px;color:#70587e;letter-spacing:1.8px}
  .confirmation-actions button {font-size:13px}
  .success {border-radius:21px;box-shadow:var(--surface-shadow);border-color:#e3d7ed;padding:35px}
  .success-mark {width:64px;height:64px;background:#efe5f9;border:1px solid #decaec;color:#9063b7;font-size:30px}
  .success h2 {font-size:28px;letter-spacing:-.8px;color:#63417f}
  @media(max-width:700px) {
    .shell {padding:22px 16px 50px}.intro {padding:30px 25px;border-radius:20px}.intro h1 {font-size:36px}.intro>p {font-size:13px}.intro-meta span {font-size:10px}.intro .eyebrow {font-size:8px;line-height:1.7;letter-spacing:1.4px}
    .local-badge {font-size:8px;letter-spacing:.8px;padding:6px 8px}.local-note {font-size:12px;padding:14px 16px}.form-stage {padding:23px 20px;border-radius:17px}.stage-heading h2 {font-size:23px}.stage-heading {gap:12px}.stage-heading p {font-size:11px}.stage-number {width:35px;height:35px;font-size:11px}.section-nav a {font-size:10px;padding:8px 10px}.section-nav {gap:6px}.submit-row {padding:25px 22px;flex-direction:column;align-items:stretch}.submit-row button {width:100%}input,select,textarea {font-size:16px}.field .choice {font-size:13px}
    #draft-notice {padding:15px 17px}.consent-copy {padding:16px}#procedure-confirmation,#date-confirmation,#upgrade-confirmation {padding:25px}
  }
}
