/* WebView Patient Portal archive - knowledge-base-index build */
:root{
  --canvas:#ffffff; --band:#f2f4f6; --panel:#f7f7f7;
  --ink:#1a1d21; --meta:#5b6670; --rule:#d7dde2;
  --accent:#006699; --link:#0066cc; --warn:#c00000;
  --sans:Verdana,Geneva,"DejaVu Sans",sans-serif;
  --doc:Tahoma,Verdana,Geneva,sans-serif;
  --mono:"DejaVu Sans Mono",Consolas,"Courier New",monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--doc);
  font-size:16px;line-height:1.62}
.shell{width:min(1200px,100% - 48px);margin-inline:auto}
a{color:var(--link)}
a:focus-visible,.skip:focus{outline:2px solid var(--accent);outline-offset:2px}
code{font-family:var(--mono);font-size:.88em;background:var(--panel);padding:1px 4px;border:1px solid var(--rule)}
code.big{font-size:1.05em;letter-spacing:.06em}
.skip{position:absolute;left:-9999px}
.skip:focus{position:static;display:inline-block;margin:8px 24px;padding:8px 12px;background:var(--panel);
  border:1px solid var(--accent);font-family:var(--sans);font-size:13px}

/* archive disclosure */
.archive-note{border-top:3px solid var(--accent);border-bottom:1px solid var(--rule);
  background:var(--band);padding:12px 16px;margin:0 0 4px}
.archive-note p{margin:0 0 6px;font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--ink)}
.archive-note p:last-child{margin-bottom:0}
.archive-note a{color:var(--accent);font-weight:bold}
.archive-colophon p{font-family:var(--sans);font-size:14px;line-height:1.6;margin:0 0 12px}
.archive-colophon p:last-child{margin-bottom:0}

/* masthead */
.masthead{border-bottom:1px solid var(--rule);padding:24px 0 0}
.ident-name{font-family:var(--sans);font-size:30px;font-weight:bold;color:var(--accent);margin:0}
.ident-sub{font-family:var(--sans);font-size:13px;color:var(--meta);margin:6px 0 16px}
.routebar{display:flex;flex-wrap:wrap;gap:0 24px;border-top:1px solid var(--rule)}
.routebar a{font-family:var(--sans);font-size:13.5px;text-decoration:none;color:var(--accent);
  padding:12px 0;display:inline-block;border-bottom:3px solid transparent}
.routebar a:hover{text-decoration:underline}
.routebar a.is-current{border-bottom-color:var(--accent);color:var(--ink)}

/* homepage modules */
main{padding:32px 0 8px}
.mod{margin:0 0 40px}
.mod-head{font-family:var(--sans);font-size:22px;margin:0 0 16px;padding-bottom:8px;
  border-bottom:1px solid var(--rule)}
.ident-block h1{font-family:var(--sans);font-size:32px;line-height:1.25;margin:0 0 12px;color:var(--ink)}
.lede{max-width:68ch;margin:0}
.browse-band{background:var(--band);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:20px 24px}
.browse-band h2{font-family:var(--sans);font-size:24px;margin:0 0 12px}
.browse-index{list-style:none;display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 12px;padding:0}
.browse-index a{font-family:var(--sans);font-size:15px}
.warning{margin:0;font-family:var(--sans);font-size:14px;color:var(--warn);border-left:4px solid var(--warn);
  padding:8px 0 8px 12px;background:#fff}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}
.topic-group h3{font-family:var(--sans);font-size:19px;margin:0 0 10px;padding-bottom:6px;
  border-bottom:2px solid var(--accent)}
.topic-group ul{list-style:none;margin:0;padding:0}
.topic-group li{border-bottom:1px solid var(--rule)}
.topic-group a,.foot-col a{display:block;padding:9px 0;font-size:15px;text-decoration:none}
.topic-group a:hover,.foot-col a:hover{text-decoration:underline}
.question-list{margin:0;padding:0 0 0 28px}
.question-list li{border-bottom:1px solid var(--rule);padding:12px 0}
.question-list .q{font-family:var(--sans);font-weight:bold;font-size:16px;margin:0 0 4px}
.question-list .a{margin:0;max-width:70ch}
.path-list{list-style:none;margin:0;padding:0}
.path-list li{padding:10px 0;border-bottom:1px solid var(--rule)}
.path-when{font-family:var(--sans);font-size:15px}
.path-when::after{content:" \2192 "}
.doc-list{list-style:none;margin:0;padding:0}
.doc-list li{display:grid;grid-template-columns:minmax(0,1fr) 200px 210px;gap:16px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--rule)}
.doc-list a{font-family:var(--sans);font-size:16px}
.doc-date,.doc-topic{font-family:var(--sans);font-size:12.5px;color:var(--meta)}
.note{font-size:14px;color:var(--meta);max-width:70ch;margin:16px 0 0}
.table-wrap{overflow-x:auto}
.route-table{border-collapse:collapse;width:100%;min-width:640px;font-size:14.5px}
.route-table caption{text-align:left;font-family:var(--sans);font-size:12.5px;color:var(--meta);
  padding:0 0 8px}
.route-table th{text-align:left;font-family:var(--sans);font-size:13px;background:var(--band);
  border:1px solid var(--rule);padding:8px 10px}
.route-table td{border:1px solid var(--rule);padding:8px 10px;vertical-align:top}

/* detail pages */
.doc-shell{display:grid;grid-template-columns:minmax(0,760px) 250px;gap:48px;padding:8px 0 0;
  align-items:start}
.breadcrumb{grid-column:1 / -1;font-family:var(--sans);font-size:12.5px;color:var(--meta);
  padding-bottom:16px;border-bottom:1px solid var(--rule);margin-bottom:24px}
.breadcrumb span{color:var(--meta)}
.doc h1{font-family:var(--sans);font-size:30px;line-height:1.25;margin:0 0 10px}
.doc h2{font-family:var(--sans);font-size:22px;margin:32px 0 12px}
.doc h3{font-family:var(--sans);font-size:17px;margin:22px 0 8px}
.doc p{max-width:68ch}
.doc-meta{font-family:var(--sans);font-size:12.5px;color:var(--meta);margin:0 0 24px;
  padding-bottom:16px;border-bottom:1px solid var(--rule)}
.doc-intro{font-size:17px}
.policy-panel{border:8px ridge var(--accent);background:var(--panel);padding:20px 22px;margin:20px 0 28px}
.policy-panel h2{margin-top:0}
.policy-panel h2:first-child{font-size:19px}
.red{color:var(--warn)}
.spec-list,.plain-list{padding-left:22px;margin:0 0 16px;max-width:68ch}
.spec-list li,.plain-list li{margin:0 0 10px}
.prevnext{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:36px 0 0;
  padding-top:16px;border-top:1px solid var(--rule)}
.prevnext a{font-family:var(--sans);font-size:15px;text-decoration:none;max-width:46%}
.prevnext a:hover{text-decoration:underline}
.prevnext span{display:block;font-size:11.5px;color:var(--meta);text-transform:uppercase;
  letter-spacing:.06em}
.pn-next{text-align:right;margin-left:auto}
.return{margin:24px 0 0;font-family:var(--sans);font-size:15px}
.topic-rail{border-top:3px solid var(--accent);padding-top:14px}
.rail-head,.topic-rail h2{font-family:var(--sans);font-size:14px;margin:0 0 8px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--meta)}
.topic-rail h2{margin-top:18px}
.topic-rail .rail-head{margin-top:0;color:var(--ink)}
.topic-rail ul{list-style:none;margin:0;padding:0}
.topic-rail li{border-bottom:1px solid var(--rule)}
.topic-rail a{display:block;padding:8px 0;font-size:14px;text-decoration:none}
.topic-rail a:hover{text-decoration:underline}
.topic-rail a.is-current{font-weight:bold;color:var(--ink)}

/* footer */
.site-foot{margin-top:48px;border-top:3px solid var(--accent);background:var(--band);padding:32px 0 40px}
.foot-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;margin:0 0 32px}
.foot-col h2{font-family:var(--sans);font-size:14px;margin:0 0 6px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--meta)}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{border-bottom:1px solid var(--rule)}
.foot-col a{font-size:14px}
.foot-meta{font-family:var(--sans);font-size:12.5px;color:var(--meta);margin:16px 0 0;line-height:1.7}

@media (max-width:1080px){
  .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doc-list li{grid-template-columns:minmax(0,1fr) 170px}
  .doc-list .doc-topic{grid-column:1 / -1}
}
@media (max-width:860px){
  .doc-shell{grid-template-columns:minmax(0,1fr);gap:32px}
  .topic-rail{border-top:1px solid var(--rule)}
}
@media (max-width:760px){
  .shell{width:min(1200px,100% - 32px)}
  .topic-grid,.foot-index{grid-template-columns:minmax(0,1fr)}
  .doc-list li{grid-template-columns:minmax(0,1fr);gap:2px}
  .routebar{gap:0 18px}
  .routebar a{padding:11px 0;font-size:13px}
  .policy-panel{border-width:4px;padding:16px}
  .browse-band{padding:16px}
  .prevnext a{max-width:100%}
  .pn-next{text-align:left;margin-left:0}
}
@media (max-width:380px){
  .ident-name{font-size:23px}
  .ident-block h1{font-size:25px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}
