/* Drug-law AI professional interface layer.
   One visual language, with dense task-specific layouts for expert users. */
:root{
  --faa-navy:#173f66;
  --faa-blue:#256a97;
  --faa-link:#075f9a;
  --faa-ink:#243746;
  --faa-muted:#586b78;
  --faa-line:#c7d2dc;
  --faa-soft:#edf3f6;
  --faa-bg:#f4f5f6;
  --faa-focus:#fdb81e;
  --faa-success:#287a54;
  --faa-warning:#9c5d08;
  --faa-danger:#b3261e;
  --faa-radius:3px;
  --faa-content:1200px;
}
*,*::before,*::after{box-sizing:border-box}
.skip-link{position:fixed;left:16px;top:-80px;z-index:10000;padding:10px 14px;border:2px solid #fff;color:#fff;background:var(--faa-navy);font-weight:800;text-decoration:none}
.skip-link:focus{top:12px;outline:3px solid var(--faa-focus)}
:focus-visible{outline:3px solid var(--faa-focus)!important;outline-offset:2px!important}
.architecture-nav a,.site-head a,.institution-footer a{text-underline-offset:3px}

/* Shared professional search: compact primary row + optional faceted row. */
.professional-search{display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,minmax(145px,auto)) auto;gap:8px;align-items:stretch;padding:12px;border:1px solid var(--faa-line);border-top:4px solid #8ca9bd;background:#f6f8f9}
.professional-search .search-box{min-width:0;background:#fff}
.professional-search select,.professional-search input{min-height:40px;border:1px solid #9fb0bd;border-radius:2px;background:#fff;color:var(--faa-ink)}
.professional-search>button{min-width:82px;border:0;border-radius:2px;color:#fff;background:var(--faa-blue);font-weight:800}
.professional-search>button:hover{background:var(--faa-navy)}
.search-utility-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;padding-top:3px}
.search-utility-row label{display:flex;align-items:center;gap:7px;color:var(--faa-muted);font-size:12px}
.search-utility-row select{min-height:32px;padding:4px 26px 4px 8px;font-size:12px}
.clear-all-filters{padding:5px 9px;border:1px solid #9fb0bd;border-radius:2px;color:var(--faa-link);background:#fff;font-size:12px;cursor:pointer}
.active-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:0}
.active-filters:empty{display:none}
.active-filters>span{margin-right:2px;color:var(--faa-muted);font-size:11px;font-weight:700}
.active-filters button{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 8px;border:1px solid #9db8ca;border-radius:14px;color:var(--faa-link);background:#fff;font-size:11px;cursor:pointer}
.active-filters button:hover{background:#e7f0f5}
.active-filters button b{font-size:14px;line-height:1}

/* Dense result collection: PubMed-like hierarchy, not card-heavy. */
.qa-item{position:relative}
.qa-item h3{max-width:920px}
.qa-item p{max-width:980px}
.qa-meta{align-items:center}
.qa-meta time{margin-left:auto;white-space:nowrap}
.answer-action{flex:0 0 auto;white-space:nowrap}
.results>header{position:sticky;top:0;z-index:2}
.results-count-note{display:block;margin-top:2px;color:var(--faa-muted);font-size:11px;font-weight:400}
.empty{border:1px dashed var(--faa-line);background:#fafbfc!important}
.qa-library-page dialog h1{font-size:23px;line-height:1.45;letter-spacing:0}
.qa-library-page dialog section{font-size:15px;line-height:1.85}
.qa-library-page dialog section p{margin:.45em 0}

/* Standard reader: authority, version and page navigation remain visible. */
.viewer-authority{display:flex;align-items:flex-start;gap:9px;padding:9px 14px;border-bottom:1px solid #b9c8d3;color:#354f61;background:#eef4f7;font-size:12px;line-height:1.5}
.viewer-authority::before{content:'i';display:grid;flex:0 0 20px;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;background:var(--faa-blue);font-size:12px;font-weight:900}
.viewer-page-jump{display:inline-flex;align-items:center;gap:5px}
.viewer-page-jump input{width:56px;min-height:30px;padding:3px 5px;border:1px solid #9fb0bd;text-align:center}
.viewer-page-jump button{min-height:30px;padding:3px 8px;border:1px solid #8fa9ba;color:var(--faa-link);background:#fff}
.viewer-record-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0 14px;border-bottom:1px solid #b9c8d3;background:#fff}
.viewer-record-meta>div{min-width:0;padding:8px 10px;border-right:1px solid #d9e1e7}.viewer-record-meta>div:last-child{border-right:0}.viewer-record-meta dt{color:var(--faa-muted);font-size:10px;font-weight:800}.viewer-record-meta dd{margin:2px 0 0;overflow:hidden;color:var(--faa-ink);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.viewer-shell{grid-template-rows:auto auto auto minmax(0,1fr) auto!important}.viewer-reading-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:0;overflow:hidden}.viewer-reading-layout .viewer-body{min-width:0}
.viewer-toc{overflow:auto;border-right:1px solid #b9c8d3;background:#f6f8f9}.viewer-toc>header{display:grid;gap:2px;padding:12px;border-bottom:1px solid var(--faa-line)}.viewer-toc>header b{font-size:13px}.viewer-toc>header small{color:var(--faa-muted);font-size:10px}.viewer-toc nav{display:grid;padding:6px}
.viewer-toc nav button{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;width:100%;padding:7px 8px;border:0;border-left:3px solid transparent;color:var(--faa-link);background:transparent;text-align:left;font-size:11px;cursor:pointer}.viewer-toc nav button:hover,.viewer-toc nav button.active{border-left-color:var(--faa-blue);background:#e4eef4}.viewer-toc nav button.level-2{padding-left:18px}.viewer-toc nav button.level-3,.viewer-toc nav button.level-4{padding-left:28px}.viewer-toc nav small{color:var(--faa-muted)}
.viewer-relations{margin:8px;padding:10px;border-top:3px solid #8ca9bd;background:#fff}.viewer-relations>b{font-size:12px}.viewer-relations>p{margin:4px 0;color:var(--faa-muted);font-size:10px}.viewer-relations>div{display:grid;gap:5px}.viewer-relations button{display:grid;gap:1px;padding:6px;border:1px solid var(--faa-line);color:var(--faa-link);background:#fff;text-align:left;font-size:10px;cursor:pointer}.viewer-relations button b{font-size:10px}.viewer-external-reference{padding:5px;color:var(--faa-muted);font-size:10px}

/* Accessible state vocabulary shared across portal and WebView. */
.status-note{padding:10px 12px;border-left:4px solid var(--faa-blue);background:var(--faa-soft);color:var(--faa-ink);font-size:13px}
.status-note.warning{border-left-color:var(--faa-warning);background:#fff5e5}
.status-note.error{border-left-color:var(--faa-danger);background:#fff0ef}
.status-note.success{border-left-color:var(--faa-success);background:#edf8f2}

/* Information and regulation facets: FDA-style metadata controls, backed by stored fields. */
.information-professional-search{display:block!important;padding:12px!important;border-top:4px solid #8ca9bd!important;background:#f6f8f9!important}
.information-search-primary{display:grid;grid-template-columns:minmax(280px,1fr) 210px 145px 84px;gap:8px}
.information-search-primary input,.information-search-primary select{min-height:42px;border:1px solid #9fb0bd;background:#fff}
.information-search-primary button{border:0;color:#fff;background:var(--faa-blue);font-weight:800}
.information-facets{margin-top:9px;border-top:1px solid var(--faa-line);padding-top:8px}
.information-facets summary{width:max-content;color:var(--faa-link);font-size:12px;font-weight:800;cursor:pointer}
.information-facets>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.information-facets label{display:grid;gap:4px;color:var(--faa-muted);font-size:11px;font-weight:700}
.information-facets select{min-width:0;min-height:38px;border:1px solid #9fb0bd;background:#fff}
.information-facets footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}
.information-facets .active-filters{flex:1}

@media(max-width:980px){
  .professional-search{grid-template-columns:minmax(0,1fr) repeat(2,minmax(150px,auto))}
  .professional-search>button{grid-column:auto}
  .results>header{position:static}
  .information-search-primary{grid-template-columns:minmax(0,1fr) 180px 130px 80px}
  .information-facets>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viewer-reading-layout{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:700px){
  .professional-search{grid-template-columns:1fr;padding:10px}
  .professional-search .search-box,.professional-search>select,.professional-search>button,.search-utility-row,.active-filters{grid-column:1}
  .professional-search>button{min-height:42px}
  .search-utility-row{align-items:stretch;flex-direction:column}
  .search-utility-row label{justify-content:space-between}
  .search-utility-row select{flex:1;max-width:180px}
  .qa-meta time{margin-left:0}
  .viewer-authority{font-size:11px}
  .viewer-record-meta{grid-template-columns:1fr 1fr;padding:0}.viewer-record-meta>div{border-bottom:1px solid #d9e1e7}.viewer-record-meta>div:last-child{grid-column:1/-1}.viewer-reading-layout{display:block;overflow:auto}.viewer-toc{max-height:190px;border-right:0;border-bottom:1px solid #b9c8d3}.viewer-toc>header{position:sticky;top:0;z-index:1;background:#f6f8f9}.viewer-toc nav{grid-template-columns:1fr 1fr}.viewer-toc nav button.level-2,.viewer-toc nav button.level-3,.viewer-toc nav button.level-4{padding-left:8px}
  .qa-library-page dialog h1{font-size:18px;line-height:1.45}
  .qa-library-page dialog section{font-size:15px;line-height:1.8}
  .information-search-primary,.information-facets>div{grid-template-columns:1fr}
  .information-search-primary button{min-height:42px}
  .information-facets footer{align-items:stretch;flex-direction:column}
}
