@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&family=Open+Sans:wght@400;600;700&display=swap');
/* APP_FILE_VER: 0.16.0
   Programs — public form & landing styling. Matches the NC Pre-K Manager family:
   Nunito display + Open Sans body, blue/teal palette, gradient title band, rounded
   card fieldsets and inputs. Honors brand overrides set inline by the landing
   shortcode (--ssp/--sss/--ssa) and otherwise falls back to the family palette. */

.hcpc-ss-public{
  --blue:var(--ssp,#1b6ca8); --teal:var(--sss,#2a9d8f); --accent:var(--ssa,#f0883e);
  --green:#5a9e3f; --ink:#21323d; --muted:#54616a; --line:#d5dde2; --card:#fff;
  --err:#b3261e; --err-bg:#fdecea; --ok:#2e7d32;
  max-width:820px; margin:0 auto; padding:4px 2px 24px;
  font-family:"Open Sans",system-ui,-apple-system,sans-serif; color:var(--ink); line-height:1.6;
}
.hcpc-ss-public h1,.hcpc-ss-public h2,.hcpc-ss-public h3,.hcpc-ss-public legend{font-family:"Nunito",sans-serif;}
.hcpc-ss-public h2{color:var(--blue);margin-top:0;font-weight:800;}
.hcpc-ss-public a{color:var(--blue);}
.hcpc-ss-public a:focus-visible,.hcpc-ss-public button:focus-visible,
.hcpc-ss-public input:focus-visible,.hcpc-ss-public select:focus-visible,
.hcpc-ss-public textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px;}

/* Gradient title band (landing + form headers) */
.hcpc-ss-landing .hcpc-ss-band,.hcpc-ss-public .hcpc-ss-band{
  background:linear-gradient(120deg,var(--blue),var(--teal));color:#fff;
  padding:26px 22px;border-radius:14px;margin:0 0 22px;
}
.hcpc-ss-public .hcpc-ss-band h1,.hcpc-ss-public .hcpc-ss-band h2{color:#fff;margin:0 0 4px;font-weight:900;}
.hcpc-ss-public .hcpc-ss-band p{margin:0;opacity:.95;}

/* Brand mark (rounded gradient square, like the Pre-K header) */
.hcpc-ss-public .hcpc-ss-mark{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:11px;
  background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-family:"Nunito";
  font-weight:900;font-size:16px;
}

.hcpc-ss-langtoggle{text-align:right;margin:0 0 8px;font-size:13px;}
.hcpc-ss-langtoggle a{font-weight:700;}

/* Card fieldsets */
.hcpc-ss-form fieldset{border:1px solid var(--line);border-radius:14px;padding:18px 18px 8px;margin:0 0 20px;background:var(--card);}
.hcpc-ss-form legend{padding:0 8px;font-weight:800;color:var(--ink);font-size:17px;}
.hcpc-ss-field{margin:0 0 16px;}
.hcpc-ss-field label{display:block;font-weight:700;margin-bottom:5px;font-size:14.5px;}
.hcpc-ss-field input[type="text"],.hcpc-ss-field input[type="email"],
.hcpc-ss-field input[type="tel"],.hcpc-ss-field input[type="date"],
.hcpc-ss-field input[type="number"],.hcpc-ss-field select,.hcpc-ss-field textarea{
  width:100%;max-width:460px;padding:11px 12px;border:1.5px solid var(--line);border-radius:9px;
  font:inherit;color:var(--ink);background:#fff;min-height:44px;
}
.hcpc-ss-field textarea{min-height:84px;resize:vertical;max-width:100%;}
.hcpc-ss-req{color:var(--err);font-weight:700;}

/* Choice groups */
.hcpc-ss-checks{display:flex;flex-wrap:wrap;gap:8px 14px;}
.hcpc-ss-checks label{display:flex;align-items:flex-start;gap:8px;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;min-height:44px;cursor:pointer;background:#fff;font-weight:400;font-size:14.5px;}
.hcpc-ss-checks label:hover{border-color:var(--blue);background:#f3f8fb;}
.hcpc-ss-checks input{margin-top:3px;width:18px;height:18px;accent-color:var(--blue);}

/* Child / repeater panels (dashed card, Pre-K parity) */
.hcpc-ss-child{border:1px dashed #c4d3dc;border-radius:12px;padding:16px;margin:0 0 14px;background:#fbfdfe;position:relative;}

/* Buttons */
.hcpc-ss-public .button,.hcpc-ss-public button[type="submit"],.hcpc-ss-submit{
  font-family:"Nunito";font-weight:800;background:var(--blue);color:#fff;border:1.5px solid var(--blue);
  border-radius:10px;padding:11px 20px;min-height:46px;cursor:pointer;font-size:15px;
}
.hcpc-ss-public .button:hover,.hcpc-ss-public button[type="submit"]:hover{background:#155a8a;border-color:#155a8a;}
.hcpc-ss-addbtn{font-family:"Nunito";font-weight:700;background:#eef6f2;border:1.5px solid var(--green);color:#33691e;border-radius:10px;padding:10px 16px;min-height:44px;cursor:pointer;}
.hcpc-ss-addbtn:hover{background:#e2f0ea;}

/* Result states */
.hcpc-ss-thanks{padding:18px;border:1px solid #bfe3c6;background:#eef6f2;border-radius:12px;}
.hcpc-ss-thanks::before{content:"✓ ";color:var(--ok);font-weight:900;}
.hcpc-ss-error{padding:14px 16px;border:2px solid var(--err);background:var(--err-bg);border-radius:12px;margin-bottom:14px;color:var(--err);font-weight:600;}

/* Tables (schedule, etc.) */
.hcpc-ss-public table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.hcpc-ss-public table th{text-align:left;background:#f3f8fb;color:var(--blue);font-family:"Nunito";font-weight:800;padding:10px 12px;}
.hcpc-ss-public table td{padding:9px 12px;border-top:1px solid var(--line);}

/* Landing list of programs */
.hcpc-ss-landing .hcpc-ss-progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.hcpc-ss-landing .hcpc-ss-prog{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;padding:16px;background:#fff;}
.hcpc-ss-landing .hcpc-ss-prog h3{margin:0 0 6px;color:var(--blue);}
