/* GSMC disability forms. Uses the site palette from gsmc-v2.css (navy #003767, gold #ffcf62, teal #09a5be). */
.df{max-width:880px}
.df-note{background:#eef7f9;border:1px solid #bfe3ea;border-left:5px solid var(--teal);border-radius:var(--r);padding:.9rem 1.1rem;margin:0 0 1.5rem}
.df-note p:last-child{margin:0}
.df-patient{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem;margin:0 0 1.75rem}
.df-patient legend{font-weight:700;color:var(--navy);padding:0 .3rem}
.df-patient label{display:block;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.df-patient input{width:100%;min-height:48px;font:inherit;padding:.55rem .7rem;border:1px solid #b9c5d1;border-radius:8px;background:#fff;color:var(--ink)}
.df-patient small{grid-column:1/-1;color:var(--muted);font-size:.95rem}
@media (max-width:700px){.df-patient{grid-template-columns:1fr}}
.df-q{border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem 1.1rem;margin:0 0 1.1rem;background:#fff;box-shadow:var(--shadow)}
.df-q legend{font-weight:700;color:var(--navy);font-size:1.1rem;padding:0 .35rem;line-height:1.35}
.df-num{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;padding:.05rem .65rem;font-size:.9rem;margin-right:.25rem}
.df-opts{display:grid;gap:.45rem;margin-top:.6rem}
.df-opts-scale{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:760px){.df-opts-scale{grid-template-columns:1fr}}
.df-opt{position:relative;display:flex;align-items:center;gap:.7rem;min-height:52px;padding:.6rem .8rem;border:2px solid var(--line);border-radius:10px;cursor:pointer;background:#fff;line-height:1.35}
.df-opts-scale .df-opt{flex-direction:column;justify-content:center;text-align:center;gap:.35rem;padding:.6rem .4rem}
@media (max-width:760px){.df-opts-scale .df-opt{flex-direction:row;text-align:left;justify-content:flex-start;padding:.6rem .8rem}}
.df-opt:hover{border-color:var(--teal);background:#f5fbfc}
.df-opt input{width:24px;height:24px;flex:0 0 24px;margin:0;accent-color:var(--navy)}
.df-opt-txt{flex:1}
.df-pts{display:none}
.df-opt:has(input:checked){border-color:var(--navy);background:#fff6dc;box-shadow:inset 0 0 0 1px var(--navy)}
.df-opt:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.df-clear{margin-top:.6rem;min-height:44px;background:none;border:0;color:var(--navy);text-decoration:underline;font:inherit;font-size:.95rem;cursor:pointer;padding:.3rem 0}
.df-part{margin:2rem 0 1rem}
.df-part h2{margin-bottom:.3rem}
.df-part p{color:var(--muted)}
/* score panel */
.df-score{position:sticky;top:84px;z-index:5;background:#fff;border:2px solid var(--navy);border-radius:var(--r);padding:1rem 1.1rem;margin:0 0 1.5rem;box-shadow:0 6px 18px rgba(0,30,60,.12)}
@media (min-width:1280px){.df-score{top:150px}}
@media (max-width:1279px){.df-score{top:80px}}
.df-score h2{font-size:1.15rem;margin:0 0 .4rem}
.df-big{font-size:2.2rem;font-weight:800;color:var(--navy);line-height:1}
.df-band{font-weight:700;color:var(--navy);font-size:1.15rem}
.df-sub{color:var(--muted);font-size:.95rem;margin:.25rem 0 0}
.df-row{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap}
.df-meter{height:12px;background:var(--bg);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:.6rem 0}
.df-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--navy));transition:width .2s}
.df-results{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}
@media (max-width:760px){.df-results{grid-template-columns:1fr}}
.df-results .df-score{position:static;margin:0}
.df-bands{list-style:none;padding:0;margin:.4rem 0 0;display:grid;gap:.35rem}
.df-bands li{display:flex;gap:.7rem;padding:.45rem .7rem;border-radius:8px;background:var(--bg);border:1px solid var(--line)}
.df-bands li b{min-width:5.2rem;color:var(--navy)}
.df-bands li.on{background:#fff6dc;border-color:var(--navy);font-weight:600}
.df-scale{position:relative;height:28px;margin:1.2rem 0 .3rem;border-radius:6px;background:linear-gradient(90deg,#e7eef5,#e7eef5)}
.df-scale .mid{position:absolute;left:57.14%;top:-6px;bottom:-6px;width:2px;background:var(--navy)}
.df-scale .mk{position:absolute;top:-8px;width:16px;height:44px;margin-left:-8px;border-radius:6px;background:var(--gold);border:2px solid var(--navy)}
.df-scale-l{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}
.df-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}
.df-actions .btn{min-height:52px}
.df-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:1.25rem 0 2rem}
@media (max-width:760px){.df-cards{grid-template-columns:1fr}}
.df-card{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow)}
.df-card:hover{border-color:var(--navy);color:var(--ink)}
.df-card h2{font-size:1.3rem}
.df-card .more{font-weight:700;color:var(--navy)}
.df-legal{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}
.df-printonly{display:none}
/* ---------- print ---------- */
@media print{
  @page{margin:12mm}
  html,body{background:#fff!important;color:#000;font-size:10.5pt;padding:0!important}
  .util,.hdr,.crumbs,.phero .acts,.band,.ftr,.mbar,.skip,.df-actions,.df-clear,.df-noprint,.df-note{display:none!important}
  .phero{background:none!important;color:#000}
  .phero .wrap{padding:0 0 4mm!important}
  .phero h1{color:#000!important;font-size:16pt;margin:0}
  .phero .lede,.phero .kick{display:none}
  .wrap.layout{padding:0!important;display:block}
  .df-printonly{display:block}
  .df-printhead{display:flex!important;justify-content:space-between;border-bottom:2px solid #000;padding-bottom:2mm;margin-bottom:3mm;font-size:10pt}
  .df-patient{display:none!important}
  .df-patient-print{display:grid!important;grid-template-columns:2fr 1fr 1fr;gap:4mm;margin-bottom:4mm;font-size:10.5pt}
  .df-patient-print span{display:block;border-bottom:1px solid #000;min-height:5mm}
  .df-score{position:static!important;box-shadow:none;border:1.5px solid #000;padding:3mm;margin:0 0 4mm;break-inside:avoid}
  .df-big{font-size:18pt;color:#000}
  .df-meter,.df-scale,.df-scale-l{display:none}
  .df-q{box-shadow:none;border:1px solid #888;padding:2mm 3mm;margin:0 0 2.5mm;break-inside:avoid}
  .df-q legend{font-size:10.5pt;color:#000}
  .df-num{background:none;color:#000;padding:0;border:0}
  .df-opts{gap:0;margin-top:1mm}
  .df-opts-scale{grid-template-columns:repeat(5,1fr)}
  .df-opt,.df-opts-scale .df-opt{min-height:0;border:0;padding:.4mm 1mm;flex-direction:row;text-align:left;gap:2mm;box-shadow:none;background:none}
  .df-opt input{width:12px;height:12px;flex-basis:12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .df-opt:has(input:checked){background:none;box-shadow:none;font-weight:700;text-decoration:underline}
  .df-bands li{padding:.5mm 2mm;border:0;background:none}
  .df-bands li.on{background:none;text-decoration:underline}
  .df-results{grid-template-columns:1fr 1fr;gap:3mm;margin:0 0 4mm}
  .df-legal{font-size:8pt;margin-top:3mm;padding-top:2mm}
  .df-part{margin:3mm 0 2mm;break-after:avoid}
  .df-part h2{font-size:12pt;color:#000}
  .df-part p{font-size:9.5pt;margin:0}
  a{color:#000;text-decoration:none}
}
/* only the live panel is sticky; result sections scroll normally */
.df-score.df-result-full{position:static;box-shadow:var(--shadow);border-width:1px;border-color:var(--line);margin-top:1.5rem}
.df-live{position:sticky;top:80px;z-index:5;display:flex;gap:1rem;flex-wrap:wrap;align-items:center;background:#fff;border:2px solid var(--navy);border-radius:var(--r);padding:.6rem .9rem;margin:0 0 1.25rem;box-shadow:0 6px 18px rgba(0,30,60,.12);font-weight:600;color:var(--navy)}
.df-live b{font-size:1.25rem}
@media (min-width:1280px){.df-live{top:150px}}
@media (max-width:760px){
  .df-score.df-sticky{padding:.55rem .8rem;top:76px}
  .df-score.df-sticky h2{font-size:1rem;margin:0}
  .df-score.df-sticky .df-big{font-size:1.6rem}
  .df-score.df-sticky .df-band{font-size:1rem}
  .df-score.df-sticky .df-meter{margin:.35rem 0 .2rem;height:8px}
  .df-score.df-sticky .df-sub{font-size:.9rem;margin:0}
  .df-live{top:76px;font-size:.95rem;padding:.5rem .7rem;gap:.6rem}
  .df-live b{font-size:1.1rem}
}
@media print{.df-live{display:none!important}.df-score.df-result-full{border:1.5px solid #000;box-shadow:none;margin-top:3mm}}
/* legend sits inside the card instead of on the border */
.df-q legend{float:left;width:100%;padding:0;margin:0 0 .5rem}
.df-q legend+*{clear:both}
