
:root{
  --se-blue:#073B8C;
  --se-blue-2:#0B5FC6;
  --ink:#13243A;
  --muted:#66758A;
  --bg:#F4F7FB;
  --card:#FFFFFF;
  --line:#DCE4EF;
  --soft:#EAF2FF;
  --success:#137A5B;
  --warn:#A36A00;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
button,input{font:inherit}
.topbar{
  background:linear-gradient(135deg,#062E70,#0B56B2);
  color:#fff;padding:18px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;
  box-shadow:0 8px 28px rgba(7,59,140,.18)
}
.brand-wrap{display:flex;align-items:center;gap:16px;min-width:0}
.brand-logo{width:104px;height:58px;object-fit:contain;border-radius:10px}
.brand-name{font-size:20px;font-weight:800}
.org-path{font-size:12px;opacity:.87;margin-top:4px;white-space:normal}
.lang-switch{display:flex;gap:6px;background:rgba(255,255,255,.1);padding:5px;border-radius:12px}
.lang{background:transparent;border:0;color:#fff;padding:8px 10px;border-radius:8px;cursor:pointer}
.lang.active{background:#fff;color:var(--se-blue);font-weight:700}
main{min-height:calc(100vh - 190px)}
.page{display:none;max-width:1180px;margin:0 auto;padding:64px 28px 72px}
.page.active{display:block}
.hero{text-align:center}
.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--se-blue-2);font-weight:800;margin-bottom:12px}
h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:0 0 18px;letter-spacing:-.03em}
.hero-sub,.section-head p{font-size:18px;color:var(--muted);max-width:780px;margin:0 auto}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:48px auto 26px;max-width:1020px}
.choice-card{
  text-align:left;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;align-items:center;gap:20px;
  min-height:190px;cursor:pointer;box-shadow:0 12px 30px rgba(27,55,95,.07);transition:.2s ease
}
.choice-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(27,55,95,.13);border-color:#B8CCE9}
.icon{width:64px;height:64px;border-radius:18px;background:var(--soft);color:var(--se-blue);display:grid;place-items:center;font-size:34px;font-weight:700;flex:none}
.choice-copy h2{margin:0 0 8px;font-size:24px}
.choice-copy p{margin:0;color:var(--muted);font-size:16px}
.arrow{margin-left:auto;font-size:28px;color:var(--se-blue)}
.trust-strip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:32px}
.trust-strip span,.blank-pills span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:#42516A;font-size:13px}
.back{border:0;background:transparent;color:var(--se-blue);font-weight:700;cursor:pointer;margin-bottom:34px}
.section-head{text-align:center;margin-bottom:36px}
.section-head h1{font-size:42px}
.search-box{max-width:850px;margin:0 auto 28px;display:flex;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(27,55,95,.05)}
.search-box input{flex:1;border:0;padding:20px;font-size:17px;outline:none}
.search-box button{border:0;background:var(--se-blue);color:#fff;padding:0 28px;font-weight:700;cursor:pointer}
.result-card,.inventory-result{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 12px 32px rgba(27,55,95,.07)}
.result-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.tag{display:inline-block;background:var(--soft);color:var(--se-blue);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}
.result-top h2{font-size:28px;margin:10px 0 6px}
.result-top p{margin:0;color:var(--muted)}
.status{padding:9px 13px;border-radius:999px;font-size:13px;font-weight:800}
.status.yellow{background:#FFF5D8;color:var(--warn)}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}
.info-grid>div{background:#F8FAFD;border:1px solid #E7EDF5;border-radius:15px;padding:16px}
.info-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}
.info-grid strong{font-size:14px}
.callout{border-left:4px solid var(--se-blue);background:#F4F8FF;padding:16px 18px;border-radius:10px;margin:12px 0 24px}
.callout p{margin:7px 0 0;color:#4C5D73;line-height:1.55}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.primary-btn,.secondary-btn,.generate-btn{border-radius:12px;padding:13px 18px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.primary-btn,.generate-btn{background:var(--se-blue);color:#fff;border:1px solid var(--se-blue)}
.secondary-btn{background:#fff;color:var(--se-blue);border:1px solid #BFCDE0}
.upload-zone{background:#fff;border:2px dashed #B8CAE2;border-radius:24px;padding:48px 24px;text-align:center;max-width:850px;margin:0 auto}
.upload-zone.drag{background:#EEF5FF;border-color:var(--se-blue)}
.upload-icon{font-size:46px;color:var(--se-blue)}
.upload-zone h3{font-size:24px;margin:8px 0}
.upload-zone p{color:var(--muted);margin:0 0 18px}
.upload-zone input{display:none}
.file-list{max-width:850px;margin:18px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.file-row{display:flex;align-items:center;justify-content:space-between;padding:11px 8px;border-bottom:1px solid #EEF2F6}
.file-row:last-child{border-bottom:0}
.file-meta{color:var(--muted);font-size:12px}
.blank-note{max-width:850px;margin:20px auto;background:#FFFDF6;border:1px solid #F0DFAC;border-radius:18px;padding:18px}
.blank-note strong{display:block;margin-bottom:12px}
.blank-pills{display:flex;gap:8px;flex-wrap:wrap}
.blank-pills span{background:#fff}
.blank-note p{color:#6F654C;margin:12px 0 0;font-size:13px}
.generate-btn{display:flex;margin:24px auto 0;gap:8px;font-size:16px;padding:15px 24px}
.generate-btn:disabled{opacity:.45;cursor:not-allowed}
.processing{max-width:850px;margin:22px auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;align-items:center;gap:16px}
.processing p{margin:5px 0 0;color:var(--muted)}
.spinner{width:28px;height:28px;border-radius:50%;border:3px solid #D7E1EE;border-top-color:var(--se-blue);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.inventory-result{max-width:1080px;margin:24px auto 0}
.success-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.success-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#E5F7F0;color:var(--success);font-weight:900}
.success-head h2{margin:0 0 4px}
.success-head p{margin:0;color:var(--muted)}
.preview-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}
table{border-collapse:collapse;min-width:1450px;width:100%;font-size:12px}
th,td{padding:12px;border-right:1px solid #E5EAF1;border-bottom:1px solid #E5EAF1;text-align:left;vertical-align:top}
th{background:#F4F7FB;font-size:11px}
td.blank{color:#8B96A5;font-style:italic;background:#FBFCFD}
.prototype-note{margin:18px 0 0;color:#6E7C90;font-size:12px;line-height:1.5}
.hidden{display:none!important}
footer{background:#0B1F3A;color:#D8E2EF;text-align:center;padding:24px 18px;font-size:12px;line-height:1.7}
footer strong{color:#fff}
@media(max-width:800px){
  .topbar{align-items:flex-start;flex-direction:column}
  .choice-grid{grid-template-columns:1fr}
  .page{padding:42px 18px 56px}
  .section-head h1{font-size:34px}
  .info-grid{grid-template-columns:1fr 1fr}
  .result-top{flex-direction:column}
  .brand-logo{width:86px}
}
@media(max-width:520px){
  .info-grid{grid-template-columns:1fr}
  .choice-card{padding:20px;min-height:150px}
  .icon{width:54px;height:54px}
  .search-box{flex-direction:column}
  .search-box button{padding:14px}
}

/* v2 branding adjustments */
.brand-logo{
  width:150px;
  height:74px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
}
.brand-wrap{gap:18px}
.org-path{max-width:720px;font-size:13px;line-height:1.45}
@media(max-width:800px){
  .brand-logo{width:118px;height:62px}
  .topbar{padding-top:16px;padding-bottom:16px}
}

/* v3 requested refinements */
.brand-logo{
  width:145px;
  height:78px;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
}
.org-path{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:14px;
  line-height:1.25;
}
footer{padding:26px 18px}
footer div:last-child{margin-top:6px}
.blank-note p{font-weight:600;color:#6F654C}
@media(max-width:800px){
  .brand-wrap{align-items:center}
  .brand-logo{width:118px;height:70px}
  .org-path{font-size:12px;gap:3px}
}

/* v4 requested branding refinements */
.brand-logo{
  width:165px;
  height:95px;
  object-fit:contain;
  object-position:center;
  background:transparent !important;
  flex:0 0 auto;
}
.brand-wrap{
  width:100%;
  display:grid;
  grid-template-columns:190px minmax(0, 1fr);
  align-items:center;
  gap:28px;
}
.org-path{
  align-items:flex-start;
  text-align:left;
  justify-self:start;
  padding-left:6%;
  font-size:15px;
  line-height:1.35;
}
footer{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:150px;
}
.footer-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
}
.footer-logo{
  width:115px;
  height:82px;
  object-fit:contain;
}
.footer-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:10px;
  font-size:16px;
}
.footer-copy strong{font-size:20px;color:#fff}
.footer-copy span{color:#D8E2EF}
@media(max-width:800px){
  .brand-wrap{
    grid-template-columns:145px minmax(0,1fr);
    gap:18px;
  }
  .brand-logo{width:138px;height:84px}
  .org-path{
    padding-left:8%;
    font-size:12px;
    line-height:1.35;
  }
  .footer-brand{gap:20px}
  .footer-logo{width:95px;height:70px}
  .footer-copy{font-size:13px;gap:7px}
  .footer-copy strong{font-size:17px}
}

/* v5: center each organizational/footer line */
.org-path{
  padding-left:0 !important;
  width:100%;
  align-items:center !important;
  text-align:center !important;
  justify-self:center !important;
}
.org-path > div{
  width:100%;
  text-align:center;
}
.footer-copy{
  align-items:center !important;
  text-align:center !important;
}
.footer-copy strong,
.footer-copy span{
  width:100%;
  text-align:center;
}

/* v6 refinements */
/* Give the organization text more horizontal room while keeping every line centered. */
.brand-wrap{
  grid-template-columns:165px minmax(0, 1fr) !important;
  gap:18px !important;
}
.org-path{
  transform:translateX(-22px);
  font-size:14px !important;
  white-space:nowrap;
}
.org-path > div{
  white-space:nowrap;
}
@media(max-width:800px){
  .brand-wrap{
    grid-template-columns:125px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .brand-logo{
    width:118px !important;
    height:78px !important;
  }
  .org-path{
    transform:translateX(-10px);
    font-size:11px !important;
    white-space:nowrap;
  }
  .org-path > div{
    white-space:nowrap;
  }
}
@media(max-width:520px){
  .org-path{
    font-size:10.5px !important;
    letter-spacing:-0.15px;
  }
}

/* v10 final icons from user's PPT reference */
.choice-card .icon{
  width:82px !important;
  height:82px !important;
  border-radius:50% !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:82px 82px !important;
  font-size:0 !important;
  flex:0 0 82px !important;
  display:block !important;
  overflow:visible !important;
}
.choice-card .icon::before,
.choice-card .icon::after{
  content:none !important;
}
.choice-card:first-child .icon{
  background-image:url("assets/icon-search-ppt.svg") !important;
}
.choice-card:nth-child(2) .icon{
  background-image:url("assets/icon-folder-ppt.svg") !important;
}
@media(max-width:800px){
  .choice-card .icon{
    width:76px !important;
    height:76px !important;
    flex-basis:76px !important;
    background-size:76px 76px !important;
  }
}
@media(max-width:520px){
  .choice-card .icon{
    width:70px !important;
    height:70px !important;
    flex-basis:70px !important;
    background-size:70px 70px !important;
  }
}

/* v11 — approved card styling */
.choice-card .icon{
  width:104px !important;
  height:104px !important;
  flex:0 0 104px !important;
  border-radius:50% !important;
  background-size:104px 104px !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.choice-copy h2{
  font-size:25px !important;
  line-height:1.16 !important;
  letter-spacing:-0.2px !important;
  margin-bottom:16px !important;
}
.choice-copy p{
  font-size:17px !important;
  line-height:1.35 !important;
}

/* Keep the inventory title as a clean two-line heading */
.choice-card:nth-child(2) .choice-copy h2{
  max-width:520px !important;
}

/* Mobile refinement */
@media(max-width:800px){
  .choice-card .icon{
    width:94px !important;
    height:94px !important;
    flex-basis:94px !important;
    background-size:94px 94px !important;
  }
  .choice-copy h2{
    font-size:21px !important;
    line-height:1.15 !important;
  }
  .choice-copy p{
    font-size:15px !important;
    line-height:1.35 !important;
  }
}
@media(max-width:520px){
  .choice-card .icon{
    width:88px !important;
    height:88px !important;
    flex-basis:88px !important;
    background-size:88px 88px !important;
  }
  .choice-copy h2{
    font-size:18px !important;
  }
  .choice-copy p{
    font-size:13.5px !important;
  }
}

/* v15 — final alignment refinement */
.choice-card{
  position:relative;
}

/* Slightly smaller icon circles for better balance with headings */
.choice-card .icon{
  width:92px !important;
  height:92px !important;
  flex:0 0 92px !important;
  background-size:92px 92px !important;
}

/* Vertical separator between icon and text */
.choice-card .choice-copy{
  position:relative !important;
  padding-left:28px !important;
}
.choice-card .choice-copy::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:1px !important;
  height:112px !important;
  background:#C8D8EF !important;
  border-radius:2px !important;
}

@media(max-width:800px){
  .choice-card .icon{
    width:84px !important;
    height:84px !important;
    flex-basis:84px !important;
    background-size:84px 84px !important;
  }
  .choice-card .choice-copy{
    padding-left:22px !important;
  }
  .choice-card .choice-copy::before{
    height:100px !important;
  }
}
@media(max-width:520px){
  .choice-card .icon{
    width:78px !important;
    height:78px !important;
    flex-basis:78px !important;
    background-size:78px 78px !important;
  }
  .choice-card .choice-copy{
    padding-left:18px !important;
  }
  .choice-card .choice-copy::before{
    height:88px !important;
  }
}

/* v17 dynamic SDS Finder */
.finder-results{
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:900px;
  margin:0 auto;
}
.finder-message{
  max-width:850px;
  margin:0 auto;
}
.empty-search-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  box-shadow:0 10px 24px rgba(27,55,95,.05);
}
.empty-search-card strong{
  display:block;
  font-size:18px;
  margin-bottom:8px;
}
.empty-search-card p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

/* v18 search controls */
.search-box-two{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  gap:10px;
}
.search-box-two input{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(27,55,95,.05);
}
.search-box-two button{
  border-radius:14px;
  min-height:58px;
}
.web-search-btn{
  background:#fff !important;
  color:var(--se-blue) !important;
  border:1px solid #BFCDE0 !important;
  padding:0 22px !important;
  font-weight:800 !important;
}
@media(max-width:800px){
  .search-box-two{
    grid-template-columns:1fr;
  }
  .search-box-two button{
    padding:15px 18px !important;
  }
}

/* v20 functional finder */
.finder-results{
  display:flex;
  flex-direction:column;
  gap:16px;
  max-width:900px;
  margin:0 auto;
}
.results-heading{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:6px 0 2px;
}
.results-heading strong{font-size:18px;color:var(--ink)}
.results-heading span{color:var(--muted);font-size:14px}

.sds-options{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sds-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  text-align:left;
  padding:20px;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(27,55,95,.05);
  cursor:pointer;
}
.sds-option-main{min-width:0}
.sds-option h3{margin:8px 0 12px;font-size:20px;line-height:1.25}
.sds-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.sds-meta span{
  display:flex;
  flex-direction:column;
  color:var(--muted);
  font-size:13px;
}
.sds-meta b{
  color:var(--ink);
  font-size:11px;
  margin-bottom:3px;
}
.choose-arrow{
  flex:none;
  font-size:28px;
  color:var(--se-blue);
}
.text-back{
  border:0;
  background:transparent;
  color:var(--se-blue);
  font-weight:800;
  padding:0 0 14px;
  cursor:pointer;
}
.small-note{color:var(--muted);font-size:13px}

/* v21 SDS Finder direct upload */
.finder-upload-card{
  max-width:850px;
  margin:16px auto 24px;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-shadow:0 8px 20px rgba(27,55,95,.04);
}
.finder-upload-card > div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.finder-upload-card strong{color:var(--ink)}
.finder-upload-card span{color:var(--muted);font-size:13px;line-height:1.4}
.finder-upload-card input{display:none}
@media(max-width:700px){
  .finder-upload-card{
    flex-direction:column;
    align-items:stretch;
  }
  .finder-upload-card .secondary-btn{width:100%}
}

/* V25 clean rebuild */
.upload-label{cursor:pointer}
#finderFileInput,#fileInput{display:none!important}

/* V26 — SDS analysis readability & mobile layout only */

.rich-sds-card{
  max-width: 980px;
  margin: 0 auto;
}

.selected-sds-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.back-link{
  border:0;
  background:#eef3f9;
  color:#173b72;
  font-weight:700;
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
}

.review-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eef5ff;
  color:#1d5fae;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}

.selected-meta{
  color:var(--muted);
  margin-top:8px;
  margin-bottom:20px;
}

.ihoh-quick-summary{
  margin:22px 0;
  padding:22px;
  border:1px solid #d9e4f3;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
}

.quick-summary-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}

.quick-summary-heading h3{
  margin:4px 0 0;
  font-size:22px;
  color:var(--ink);
}

.eyebrow{
  font-size:11px;
  letter-spacing:.16em;
  font-weight:800;
  color:#1d62b7;
}

.source-badge{
  font-size:11px;
  font-weight:700;
  color:#235e50;
  background:#e8f6f1;
  padding:7px 10px;
  border-radius:999px;
}

/* Every label/value is now a proper card */
.sds-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.sds-info-row{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:15px 16px;
  border-radius:14px;
  background:#f7f9fc;
  border:1px solid #e3eaf3;
  min-width:0;
}

.sds-info-row span{
  display:block;
  font-size:12px;
  color:#708095;
  font-weight:700;
  line-height:1.25;
}

.sds-info-row strong{
  display:block;
  font-size:15px;
  line-height:1.5;
  color:var(--ink);
  font-weight:700;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Long values (especially OEL, first aid, handling) get more breathing room */
.sds-info-row strong:has(br){
  line-height:1.6;
}

.no-guess-note{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid #e3eaf4;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.sds-analysis-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}

.sds-analysis-section{
  border:1px solid #dce5f1;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(27,55,95,.035);
}

.sds-analysis-section summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  font-weight:800;
  color:var(--ink);
  font-size:16px;
  line-height:1.3;
}

.sds-analysis-section summary::-webkit-details-marker{
  display:none;
}

.section-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  background:#eaf3ff;
  color:#124b96;
  font-size:11px;
  font-weight:900;
}

.section-chevron{
  margin-left:auto;
  color:#46627f;
  font-size:18px;
  transition:transform .2s ease;
}

.sds-analysis-section[open] .section-chevron{
  transform:rotate(180deg);
}

.sds-analysis-body{
  padding:0 18px 18px;
}

.selected-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

.selected-actions .primary-btn,
.selected-actions .secondary-btn{
  flex:1 1 220px;
  min-height:50px;
}

/* Mobile-first cleanup */
@media(max-width:700px){

  .rich-sds-card{
    padding-left:0;
    padding-right:0;
  }

  .selected-sds-top{
    align-items:flex-start;
    margin-bottom:16px;
  }

  .back-link{
    padding:8px 12px;
    font-size:13px;
  }

  .review-badge{
    font-size:11px;
    padding:7px 10px;
  }

  .rich-sds-card > h2{
    font-size:27px;
    line-height:1.15;
    margin-bottom:8px;
  }

  .selected-meta{
    font-size:14px;
    line-height:1.4;
  }

  .ihoh-quick-summary{
    padding:16px;
    margin:18px 0;
  }

  .quick-summary-heading{
    flex-direction:column;
    gap:10px;
    margin-bottom:14px;
  }

  .quick-summary-heading h3{
    font-size:20px;
  }

  .source-badge{
    white-space:normal;
    align-self:flex-start;
  }

  .sds-info-grid{
    grid-template-columns:1fr;
    gap:9px;
  }

  .sds-info-row{
    padding:13px 14px;
    border-radius:12px;
  }

  .sds-info-row span{
    font-size:11px;
    margin-bottom:2px;
  }

  .sds-info-row strong{
    font-size:14px;
    line-height:1.5;
  }

  .sds-analysis-stack{
    gap:10px;
  }

  .sds-analysis-section{
    border-radius:14px;
  }

  .sds-analysis-section summary{
    padding:14px 15px;
    font-size:14px;
    gap:10px;
  }

  .section-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
    border-radius:9px;
    font-size:10px;
  }

  .sds-analysis-body{
    padding:0 14px 14px;
  }

  .selected-actions{
    flex-direction:column;
    gap:10px;
  }

  .selected-actions .primary-btn,
  .selected-actions .secondary-btn{
    width:100%;
    flex:none;
  }
}

/* Extra narrow phones */
@media(max-width:420px){
  .rich-sds-card > h2{
    font-size:24px;
  }
  .sds-analysis-section summary{
    font-size:13.5px;
  }
  .sds-info-row strong{
    font-size:13.5px;
  }
}

/* V32 — concise ChemRisk-inspired SDS analysis */
.compact-sds-card{max-width:900px;margin:0 auto}
.compact-summary{
  margin:18px 0 22px;
  padding:18px 20px;
  border:1px solid #dce7f3;
  border-radius:18px;
  background:#fff;
}
.summary-label{
  color:#1d62b7;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  margin-bottom:8px;
}
.compact-summary p{margin:0;color:#43526a;font-size:15px;line-height:1.65}
.compact-analysis-stack{display:flex;flex-direction:column;gap:12px}
.compact-analysis-section{
  background:#fff;
  border:1px solid #dce5f1;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(27,55,95,.03)
}
.compact-analysis-section summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
}
.compact-analysis-section summary::-webkit-details-marker{display:none}
.compact-icon{
  width:38px;height:38px;flex:0 0 38px;
  border-radius:12px;
  background:#eaf5ff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px
}
.compact-title{font-weight:800;color:#13233d;font-size:16px;display:flex;gap:8px;align-items:center}
.compact-title small{font-size:10px;color:#1d62b7;background:#edf5ff;padding:4px 6px;border-radius:7px}
.compact-chevron{margin-left:auto;color:#46627f;font-size:18px}
.compact-analysis-section[open] .compact-chevron{transform:rotate(180deg)}
.compact-body{padding:0 18px 18px}
.compact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.compact-field{
  background:#f8fafc;
  border:1px solid #e3eaf3;
  border-radius:13px;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.compact-field span{color:#708095;font-size:11px;font-weight:700}
.compact-field strong{color:#13233d;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.compact-bullets{
  margin:0;
  padding-left:22px;
  color:#18a5e3;
}
.compact-bullets li{
  margin:0 0 12px 0;
  padding-left:2px;
  line-height:1.55;
}
.compact-bullets li:last-child{margin-bottom:0}
.compact-bullets strong{color:#18243a;font-size:14px}
.compact-bullets span{color:#66758b;font-size:14px}
.compact-empty{margin:0;color:#7a8799;font-size:14px}
.compact-source-note{
  color:#7b8798;
  font-size:11.5px;
  line-height:1.5;
  margin:15px 3px 0;
}
@media(max-width:700px){
  .compact-grid{grid-template-columns:1fr}
  .compact-analysis-section summary{padding:14px 15px}
  .compact-body{padding:0 15px 15px}
  .compact-title{font-size:15px}
  .compact-icon{width:34px;height:34px;flex-basis:34px;font-size:16px}
  .compact-bullets{padding-left:20px}
  .compact-bullets li{margin-bottom:10px}
  .compact-bullets strong,.compact-bullets span{font-size:13.5px}
}

/* V33 — complete emergency / first-aid text */
.compact-analysis-section .compact-bullets li{
  line-height:1.65;
}
.compact-analysis-section .compact-bullets span{
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .compact-analysis-section .compact-bullets li{
    margin-bottom:14px;
    line-height:1.65;
  }
}
