

.calc-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2147483647 !important;
}

.calc-save-modal {
  position: fixed;
  inset: 0;
  background: rgba(5, 10, 20, 0.72);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2147483647 !important;
  padding: 18px;
}

.calc-save-dialog {
  width: min(520px, calc(100vw - 28px));
  background: #111b33;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(8, 17, 31, 0.45);
  padding: 20px;
  color: #eef4ff;
}

.calc-save-dialog h3 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.calc-save-copy {
  margin: 0 0 10px;
  color: #c7d4f3;
}

.calc-save-input {
  width: 100%;
  box-sizing: border-box;
  height: 46px;
  border-radius: 12px;
  border: 1px solid rgba(139,166,255,0.45);
  background: #0b1426;
  color: #eef4ff;
  padding: 0 12px;
  font: inherit;
}

.calc-save-input:focus {
  outline: 2px solid rgba(139,166,255,0.45);
  outline-offset: 1px;
}

.calc-save-actions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.calc-save-actions .btn {
  min-width: 96px;
  height: 40px;
  border-radius: 10px;
}

.calc-save-actions .btn.secondary {
  background: transparent;
  color: #eef4ff;
  border: 1px solid rgba(255,255,255,0.28);
}

html[data-theme="light"] .calc-save-modal {
  background: rgba(30, 17, 55, 0.22);
}

html[data-theme="light"] .calc-save-dialog {
  background: #f2ecff;
  border-color: #d8c8f7;
  color: #17181c;
  box-shadow: 0 18px 44px rgba(79, 47, 130, 0.2);
}

html[data-theme="light"] .calc-save-copy {
  color: #4f5561;
}

html[data-theme="light"] .calc-save-input {
  background: #ffffff;
  border-color: #d8c8f7;
  color: #17181c;
}

html[data-theme="light"] .calc-save-actions .btn.secondary {
  color: #2f2152;
  border-color: #c6b5ec;
}

.calc-box {
  width:min(94vw,900px);
  max-height:88vh;
  overflow-y:auto;
  background:#061226;
  padding:22px 28px;
  display: block;
  margin: 0 auto 22px auto;
  border-radius:22px;
  position: relative;
}

.calc-box h3{
  text-align:center;
  font-size:25px;
  font-weight:800;
  clear: both;
  margin:0 0 28px;
}

.calc-subtitle {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    margin: 0 0 14px;
    font-size: 16px;
    color: #aab6d1;
    margin-bottom: 18px;
}

.calc-row{
  display:grid;
  align-items:center;
  justify-content:center;
  grid-template-columns: 150px 1fr 95px;
  width:100%;
  max-width:650px;
  gap:12px;
  margin-bottom:0;
  margin:10px auto;
}

.result-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  display: flex;
  gap: 8px;
}

.result-actions .result-print-btn,
.result-actions .result-save-btn {
  position: static;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(120,160,255,.18);
  transition: .2s ease;
}

.result-actions .result-print-btn:hover,
.result-actions .result-save-btn:hover {
  background: rgba(120,160,255,.12);
  border-color: #6f8fff;
}

.calc-row input{
  flex:1;
  height:48px;
  padding:0 14px;
  font-size:17px;
  border-radius:14px;
  background:#061226;
  border:1px solid #2d467d;
  color:white;
}

.calc-row select{
  width:95px;
  height:48px;
  padding:0 10px;
  font-size:16px;
  font-weight:700;
  text-align:center;
  border-radius:14px;
  background:#102248;
  border:1px solid #395ca8;
  color:white;
  flex-shrink:0;
}

.calc-tabs{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin:20px 0;
}

.calc-tab.active {
  background: linear-gradient(135deg, #536dff, #8aa2ff);
  color: #071124;
  border-color: #8aa2ff;
  box-shadow: 0 0 18px rgba(139,166,255,0.35);
}

.calc-tabs button{
background:#16233d;
border:1px solid #2d467d;
color:white;
padding:12px;
border-radius:12px;
cursor:pointer;
font-weight:700;
}

.calc-tabs button:hover{
background:#253860;
}

.calc-panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}

.calc-panel .btn{
  width:260px;
  height:52px;
  margin-top: 8px;
  margin-bottom:8px;
  border-radius:16px;
  font-size:18px;
  font-weight:500;
}

#dilutionResult:empty {
  display: none;
}

#dilutionResult{
  width: 100%;
  max-width: 820px;
  box-sizing: border-box;
  margin: 14px auto 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
}

.reference-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin-top:15px;
}

.reference-card{
  padding:18px;
  border-radius:14px;
  background:#13213b;
}

.reference-card h4{
  margin-bottom:12px;
  font-size:16px;
  color:white;
}

.reference-card p{
  margin:8px 0;
  font-size:14px;
  color:#cdd8f5;
}

.quick-reference{
  margin-top: 8px;
  text-align: center;
}

.reference-btn{
  background: rgba(139,166,255,0.12);
  border: 1px solid rgba(139,166,255,0.25);
  color: #cfe0ff;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  cursor: pointer;
}

#quickReferenceBox{
  margin-top: 8px;
}

.reference-btn:hover {
  background: rgba(139,166,255,0.2);
}

.result-card{
  width: 100%;
  max-width: 900px;
  padding:10px;
  border-radius:10px;
  margin:8px auto;
  background:none;
  border:none;
  position:relative;
  box-sizing:border-box;
  margin-top: 1px;
}

#copyPrintArea{
    width:100%;
    max-width:900px;
    margin:20px auto;
    position:relative;
}

.result-title{
  font-size:15px;
  font-weight:400;
  text-align:center;
  margin-bottom:12px;
  color:white;
}

.result-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.result-item:last-child{
  border-bottom:none;
}

.result-item span{
  color:#b9c7ea;
}

.result-item strong{
  color:#74ffbf;
  font-size:15px;
}

.result-header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 26px 0 18px;
}

.result-header h4 {
  margin: 0;
  font-size: 1.9rem;
}

.result-header .result-actions {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-left: auto;
}

.result-header .result-actions .result-print-btn,
.result-header .result-actions .result-save-btn {
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

.dilution-equation{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.dilution-equation .calc-title {
  margin-bottom: 4px;
}

.dilution-equation .calc-subtitle {
  margin-bottom: 10px;
}

.dilution-result-compact {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 16px 20px;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.12);
  color: #eef4ff;
  font-size: 16px;
  font-weight: 700;
  margin-top: 10px;
}

.dilution-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
    gap:12px;
}

.dilution-header .print-btn{
    position:static;
    flex:0 0 56px;
}

.equation-title {
  font-size: 17px;
  font-weight: 300;
  text-align: center;
  margin-bottom: 8px;
  color: #eef4ff;
}

.equation-subtitle {
  text-align: center;
  color: #9fb3df;
  font-size: 16px;
  margin-bottom: 17px;
}

.equation-grid{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:10px;
  flex-wrap:nowrap;
  width:min(100%, 880px);
  padding:0 4px;
  box-sizing:border-box;
  margin:0 auto;
}

.equation-item{
  flex:1 1 0;
  min-width:0;
  max-width:210px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.equation-item label{
  text-align:center;
  font-weight:600;
  line-height:1.15;
  min-height:40px;
  color:#cfe0ff;
}

.equation-item input{
  width:100%;
  box-sizing:border-box;
  height:44px;
  padding:0 12px;
  border-radius:12px;
  background:#061226;
  border:1px solid #355799;
  color:white;
  font-size:15px;
}

.equation-item select{
  width:100%;
  box-sizing:border-box;
  height:38px;
  border-radius:16px;
  background:#132448;
  border:1px solid #355799;
  color:white;
  font-size:15px;
  font-weight:700;
  padding:0 8px;
}

.equation-symbol{
  flex:0 0 26px;
  font-size:28px;
  font-weight:700;
  color:#74ffbf;
  text-align:center;
  padding-bottom:16px;
}

.calculate-btn{
  width:260px;
}

.calc-fab {
  position: fixed;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2147483647;
  opacity: 1 !important;
  visibility: visible;
  pointer-events: auto;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 1px solid rgba(139,166,255,.3);
  background: #1a2744;
  color: white;
  font-size: 24px;
  cursor: pointer;
  z-index: 99999;
}

.pcr-inputs {
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:10px;
  margin:18 px auto 14px;
  max-width:780px;
}

.pcr-inputs input {
  width:140px;
  height:42px;
  padding:0 14px;
  border-radius:14px;
  background:#061226;
  border:1px solid #355799;
  color:white;
  font-size:14px;
  text-align:center;
}

.pcr-inputs label{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  width:170px;
  font-weight:500;
  color:#cfe0ff;
}

.pcr-summary {
 margin: 0 auto 20px;
  text-align: center;
  background: none;
  border: none;
  padding: 0;
}

.pcr-results-wrapper{
  width: 100%;
  max-width: 800px;
  margin: 18px auto 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: relative;
}

.pcr-summary strong {
  display: block;
  color: #74ffbf;
  font-size: 1.2rem;
  font-weight: 500;
}

.pcr-summary span {
  display: block;
  color: #74ffbf;
  font-size: 1.2rem;
  font-weight: 500;
}

.pcr-content{
    max-width:700px;
    margin:0 auto;
}

.pcr-table{
  width:100%;
  max-width:none;
  margin:0;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:18px;
}

.pcr-table th,
.pcr-table td {
  padding: 10px;
  border: 1px solid rgba(139,166,255,.18);
  text-align: left;
  background: none;
  color: white;
  white-space: normal;
}

.pcr-calculator h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

.pcr-inputs {
  max-width: 780px;
  margin: 0 auto 14px;
  gap: 10px;
}

.pcr-inputs input {
  height: 42px;
  font-size: 16px;
}

.pcr-calculator{
  width:100%;
  display:flex;
  flex-direction:column;
  gap: 12px;
  align-items:center;
  text-align: center;
}

.pcr-recipe {
  width: 78%;
  max-width: 680px;
  margin: 12px auto;
  padding: 12px;
  border: 1px solid rgba(139,166,255,.22);
  border-radius: 14px;
  background: rgba(139,166,255,.06);
}

.pcr-recipe h4 {
  margin: 0 0 8px;
  color: #ffffff;
  text-align: center;
}

.pcr-recipe-table {
  width: auto;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0 8px;
  table-layout: auto;
}

.pcr-recipe-table th {
  text-align: center;
  font-size: 15px;
  color: #eef4ff;
  padding-bottom: 8px;
}

.pcr-recipe-table input {
    background: #08152d;
    color: #eef4ff;
    border: 1px solid #3b66c9;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 15px;
    outline: none;
}

.pcr-recipe-table input:focus {
    border-color: #6d8fff;
    box-shadow: 0 0 0 3px rgba(109,143,255,.18);
}

.pcr-recipe-table input::placeholder {
    color: #7d8eb4;
}

.pcr-recipe-table td {
  vertical-align: middle;
}

.pcr-recipe-table td:first-child {
  width: 180px;
  font-size: 17px;
  font-weight: 400;
  color: #eef4ff;
  text-align: left;
}

.unit-input {
  display: flex;
  align-items: center;
  gap: 6px;
}

.unit-input input {
  width:90px;
  height:34px;
  font-size:15px;
  padding:6px 10px;
}

.unit-input small {
    min-width:28px;
    font-size:17px;
  color: #b9c7e9;
  font-weight: 600;
}

.formula-actions{
    margin-top:30px;
    gap:14px;
}

.pcr-recipe-table td:last-child {
  font-size: 16px;
  color: #8da3d7;
  text-align: center;
}

.error-card{
  width:420px;
  margin:18px auto;
  padding:16px;
  border-radius:16px;
  background:rgba(255,120,120,.12);
  border:1px solid rgba(255,120,120,.35);
  color:#ffb5b5;
  text-align:center;
  font-weight:700;
}

.reset-btn{
  width:150px;
  background:#16233d;
}

.pcr-button-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin: 20px 0 16px;
}

.pcr-reset-btn {
  width: 140px;
  height: 50px;
  background: #16233d;
  color: #cfe0ff;
}

.pcr-button-row .pcr-reset-btn {
  width: 110px;
  height: 46px;
  padding: 0;
  background: #8f7ae6;
  color: #ffffff;
}

.dna-calculator {
  text-align: center;
}

.dna-card {
  width: 82%;
  max-width: 760px;
  margin: 18px auto;
  padding: 18px;
  border-radius: 18px;
  background: rgba(139,166,255,.06);
  border: 1px solid rgba(139,166,255,.22);
  text-align: center;
}

.dna-card h4 {
  margin: 0 0 14px;
  font-size: 24px;
}

.dna-inputs {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin: 22px auto;
  flex-wrap: wrap;
}

.dna-inputs label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 180px;
  color: #cfe0ff;
  font-weight: 700;
  text-align: center;
}

.dna-inputs input, 
.dna-inputs select {
  width: 100%;
  box-sizing: border-box;
  height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  background: #061226;
  border: 1px solid #355799;
  color: white;
  font-size: 17px;
  text-align: center;
}

.dna-inputs small {
  color: #9fb3df;
}

.quality-card {
  margin: 16px auto 0;
  max-width: 430px;
  padding: 16px;
  border-radius: 16px;
  font-weight: 700;
  text-align: center;
}

.quality-card span,
.quality-card p {
  display: block;
  margin-top: 6px;
  font-weight: 500;
}

.quality-card.good {
  background: rgba(68,255,180,.12);
  border: 1px solid rgba(68,255,180,.35);
  color: #74ffbf;
}
.quality-card.warn {
  background: rgba(255,205,80,.12);
  border: 1px solid rgba(255,205,80,.35);
  color: #ffd86b;
}

.quality-card.bad {
  background: rgba(255,120,120,.12);
  border: 1px solid rgba(255,120,120,.35);
  color: #ffaaaa;
}

.purity-breakdown {
  max-width: 560px;
  margin: 14px auto 0;
  display: grid;
  gap: 12px;
}

.dna-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 18px auto 0;
  flex-wrap: wrap;
}

.calc-box #dnaResult,
.calc-box #copyResult {
  text-align: center;
}

.calc-box #dnaResult .combined-result-card,
.calc-box #copyResult .copy-number-result,
.calc-box #dnaResult .quant-result-card,
.calc-box #dnaResult .combined-purity-card {
  margin-left: auto;
  margin-right: auto;
}

.purity-overall,
.purity-metric {
  padding: 14px 16px;
  border-radius: 16px;
  text-align: center;
}

.purity-overall strong {
  font-size: 16px;
}

.purity-metric strong,
.purity-metric span,
.purity-metric p {
  display: block;
}

.purity-metric span {
  margin-top: 4px;
  font-weight: 800;
}

.purity-metric p {
  margin: 6px 0 0;
  color: #dbe5ff;
}

.purity-overall.good,
.purity-metric.good {
  background: rgba(68,255,180,.12);
  border: 1px solid rgba(68,255,180,.35);
  color: #74ffbf;
}

.purity-overall.warn,
.purity-metric.warn {
  background: rgba(255,205,80,.12);
  border: 1px solid rgba(255,205,80,.35);
  color: #ffd86b;
}

.purity-overall.bad,
.purity-metric.bad {
  background: rgba(255,120,120,.12);
  border: 1px solid rgba(255,120,120,.35);
  color: #ffaaaa;
}

.purity-overall p {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 500;
  color: #dbe5ff;
}

.purity-print-area {
  position: relative;
}

.purity-print-area .result-print-btn .result-card {
  top: 24px;
  right: 20px;
}

.cell-calculator {
  text-align: center;
}

.cell-subtitle {
  color: #aab6d1;
  margin: 0 0 22px;
  font-size: 18px;
}

.cell-methods {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.cell-method-card {
  width: 260px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(139,166,255,.08);
  border: 1px solid rgba(139,166,255,.24);
  color: #eef4ff;
  cursor: pointer;
}

.cell-method-card strong,
.cell-method-card span {
  display: block;
}

.cell-method-card span {
  margin-top: 8px;
  color: #aab6d1;
}

.cell-method-card:hover {
  background: rgba(139,166,255,.15);
}

.cell-card .pcr-calc-btn {
  width: 200px;
  height: 56px;
  margin: 18px auto 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  font-size: 17px;
  font-weight: 500;
}

.cell-card h4 {
  margin: 0 0 16px;
  font-size: 24px;
}

.cell-inputs {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 20px;
  align-items: start;
  margin-bottom: 20px;
}

.cell-inputs small {
  display: block;
  margin-top: 6px;
  margin-bottom: 0;
  min-height: 0;
  text-align: left;
  color: #9fb0d6;
}

.cell-inputs label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  color: #cfe0ff;
  font-weight: 700;
   text-align: left;
  align-items: stretch;
}

.cell-inputs input,
.cell-inputs select {
  height: 46px;
  border-radius: 14px;
  background: #061226;
  border: 1px solid #355799;
  color: white;
  text-align: left;
  font-size: 16px;
    justify-content: flex-start;
  min-height: 20px;
}

.cell-inline {
  display: flex;
  gap: 8px;
}

.cell-inline input {
  width: 90px;
}

.cell-inline select {
  width: 80px;
}

.cell-result-card .pcr-calc-btn {
  width: 260px;
  min-height: 54px;
  padding: 0 22px;
  border: none;
  border-radius: 16px;
  background: #86a0ff;
  color: #061226;
  font-size: 17px;
  font-weight: 800;
  font-family: inherit;
  line-height: 1.25;
  cursor: pointer;
  overflow-x: visible;
}

.cell-form-actions {
  margin: 12px 0 22px;
  display: flex;
  justify-content: center;
}

.pcr-calc-btn:hover {
  background: #9aadff;
  transform: translateY(-1px);
}

.cell-result-card .pcr-calc-btn {
  margin-top: 18px;
}

.cell-result-card.error-card {
  background: rgba(255,120,120,.12);
  border: 1px solid rgba(255,120,120,.35);
  color: #ffb5b5;
}

.cell-result-card h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.cell-result-card strong,
.cell-result-card span {
  display: block;
  margin: 5px 0;
}

.cell-next-actions {
  margin-top: 18px;
}

.cell-next-actions button {
  margin: 4px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(139,166,255,.25);
  background: #16233d;
  color: #dbe5ff;
  cursor: pointer;
}

.cell-next-actions .reset-action-btn {
  padding: 6px 10px;
  min-height: 34px;
  font-size: 0.9rem;
}

.cell-mini-summary {
  max-width: 460px;
  margin: 0 auto 16px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(139,166,255,.08);
  border: 1px solid rgba(139,166,255,.22);
  color: #dbe5ff;
}

.cell-mini-summary strong,
.cell-mini-summary span {
  display: block;
  margin: 4px 0;
}

.cell-action-btn.active {
  background: #6f8cff;
  color: #061226;
  font-weight: 500;
  box-shadow: 0 0 18px rgba(111,140,255,.35);
}

.cell-inputs.counter-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 36px;
  align-items: start;
  max-width: 780px;
  margin: 0 auto 18px;
}

.counter-inputs label {
  text-align: left;
  color: #cfe0ff;
  font-weight: 800;
  font-size: 1rem;
}

.counter-inputs input,
.counter-inputs select {
  width: 100%;
  height: 56px;
  border-radius: 14px;
  background: #061226;
  border: 1px solid #355799;
  color: #fff;
  padding: 0 18px;
  font-size: 1rem;
  box-sizing: border-box;
}

.counter-inline {
  display: grid;
  grid-template-columns: 1fr 110px;
  gap: 12px;
}

.counter-unit {
  display: block;
  margin-top: 8px;
  color: #9fb0d6;
  font-size: 0.9rem;
  font-weight: 600;
}

.cell-form-actions {
  display: flex;
  justify-content: center;
  margin: 18px 0 24px;
}

.protocol-step{
    display:flex;
    align-items:center;
    gap:16px;
    margin:18px 0;
    text-align:left;
}

.protocol-title{
    text-align:center;
    color:#ffffff;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.95rem;
    font-weight:600;
    margin:0 0 15px;
}

.cryo-error-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 18px 0;
}

.cryo-error-grid div,
.cryo-suggestion {
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}

.cryo-error-grid strong,
.cryo-error-grid span {
  display: block;
  margin: 5px 0;
}

.cryo-suggestion p {
  margin: 8px 0 0;
}

.step-number{
    width:30px;
    height:30px;
    border-radius:50%;
    background:#6f8cff;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:400;
    flex-shrink:0;
  font-size: .95rem;
}

.protocol-step strong{
    display:block;
    font-size:1rem;
}

.protocol-step p{
    margin:4px 0 0;
    font-size:1.1rem;
    font-weight:400;
    color:#6fffc0;
}

.protocol-summary{
    margin-top:18px;
    padding-top: 18px;
    display:grid;
    gap:14px;
    border-top: 1px solid rgba(255,255,255,.45);
    font-size:.95rem;
}

.protocol-summary div {
  margin-bottom: 6px;
}

.cell-mini-summary {
  margin: 22px auto 18px;
}


.protocol-summary strong{
    color:#fff;
}

.serial-choice {
  position: relative;
}

.choice-dot {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(139,166,255,.45);
}

.serial-choice.active,
.cell-count-choice.active {
  border-color: #6f8cff;
  box-shadow: 0 0 14px rgba(111,140,255,.35);
}

.serial-choice.active .choice-dot,
.cell-count-choice.active .choice-dot {
  color: #d9cfff;
  border-color: #6f8cff;
  box-shadow: 0 0 10px rgba(111,140,255,.5);
}

.cell-count-choice {
  position: relative;
}

.cell-count-choice.active {
  border-color: #6f8cff;
  box-shadow: 0 0 14px rgba(111,140,255,.35);
}

.cell-count-choice.active .choice-dot {
  background: #6f8cff;
  border-color: #6f8cff;
  box-shadow: 0 0 10px rgba(111,140,255,.5);
}

.close-btn {
  position: sticky;
  top: 10px;
  float: right;
  margin-left: auto;
  margin-bottom: 8px;
  z-index: 24;

  width: 36px;
  height: 36px;

  border: 1px solid rgba(139,166,255,.28);
  border-radius: 12px;

  background: rgba(120,140,255,0.12);
  color: #dbe5ff;

    font-size: 0;
    font-weight: 600;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: all 0.2s ease;
}

.close-btn:hover {
  background: rgba(139,166,255,.18);
  color: #eef4ff;
  border-color: rgba(139,166,255,.35);
  box-shadow: 0 0 12px rgba(139, 166, 255, 0.18);
}

.close-btn svg {
    width: 18px;
    height: 18px;
    display: block;
}

.pcr-button-row .pcr-reset-btn {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(139,166,255,.22);
  border-radius: 12px;
  background: rgba(120,140,255,0.12) !important;
  color: #dbe5ff !important;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.pcr-button-row .pcr-reset-btn svg {
  width: 16px;
  height: 16px;
  display: block;
  margin: 0;
}

.pcr-button-row .pcr-reset-btn:hover {
  background: rgba(139,166,255,.18) !important;
  border-color: rgba(139,166,255,.35);
  color: #eef4ff !important;
}

.cell-next-actions .reset-action-btn {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cell-next-actions .reset-action-btn svg {
  width: 18px;
  height: 18px;
  display: block;
}

.print-actions{
    margin-top:24px;
    text-align:center;
}

.print-btn{
  width: 54px;
  height: 34px;
  padding: 0;
  margin: 0;
  border-radius: 14px;
  background: #eadfff;
  background: rgba(139,166,255,.10);
  color: #cfe0ff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.print-btn svg {
  width: 18px;
  height: 18px;
}

.print-btn:hover{
    background:#86a0ff;
    transform:translateY(-1px);
  color: #f7f2ff;
}

.print-only {
  display: none !important;
}

@media print {
    .print-only {
        display: block;
    }
}

.result-print-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(120,160,255,.18);
    transition: .2s ease;
}

.result-print-btn:hover {
    background: rgba(120,160,255,.12);
    border-color: #6f8fff;
}

.workflow-result-card,
.result-card,
.dilution-result-compact,
.cell-result-card {
    position: relative;
}

.workflow-header{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:24px;
}

.workflow-header .print-btn{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
}

.workflow-header .result-actions .print-btn,
.dilution-header .result-actions .print-btn,
.quant-header .result-actions .print-btn,
.copy-header .result-actions .print-btn,
.result-header .result-actions .print-btn {
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}

.dilution-header .result-actions,
.copy-header .result-actions {
  position: static;
  margin-left: auto;
  top: auto;
  right: auto;
}

.calc-box #dilutionPrintArea {
  width: 100%;
  max-width: 820px;
  box-sizing: border-box;
  margin: 18px auto 0;
  padding: 18px;
  border-radius: 24px;
}
.workflow-result-card {
  width: 100%;
  max-width: 820px;
  margin: 18px auto 0;
  padding: 18px;
  border-radius: 24px;
  background: transparent;
  border: none;
}

.workflow-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 22px;
  justify-content: center;
}

.workflow-stat small{
    display:block;
    margin-top:6px;
    color:#9fb0d6;
    font-size:.9rem;
    font-weight:400;
}

.workflow-stat {
 min-width: 0;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(139,166,255,.08);
  border: 1px solid rgba(139,166,255,.18);
  text-align: left;
}

.workflow-stat span {
  display: block;
  color: #8d9abb;
  font-size: .92rem;
}

.workflow-protocol h4 {
    font-size:.80rem;
    font-weight:500;
    color:#ffffff;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.workflow-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 9px 0;
  font-size:.95rem;
}

.workflow-line b {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #164c96;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

.workflow-actions .btn {
  width: 100%;
  height: 56px;
  margin: 0;
  border-radius: 14px;
}

.workflow-actions .secondary-action {
  width: 56px;
  height: 56px;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 0px  rgba(255,255,255,.12);
  background: rgba(139,166,255,.10);
  color: #cfe0ff;
  cursor: pointer;
}

.workflow-result-card .workflow-actions {
  position: static;
  width: 100%;
  height: auto;
  flex: initial;
}

.workflow-actions .secondary-action:hover,
.print-btn:hover {
  background: rgba(139,166,255,.18);
  color: #ffffff;
}

.action-btn {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}


.combined-yield-card,
.combined-purity-card {
  padding: 22px;
  width: 46px;
  background: rgba(68,255,180,.10);
  border: 1px solid rgba(68,255,180,.28);
  width: 100%;
  color: #f4ecff;
}

.combined-yield-card span,
.combined-purity-card strong {
  display: block;
  color: #74ffbf;
  text-transform: uppercase;
  font-size: .85rem;
  letter-spacing: .05em;
}

.combined-yield-card strong {
  display: block;
  margin-top: 8px;
  color: #74ffbf;
  font-size: 1.25rem;
}

.combined-yield-card p {
  margin: 6px 0 0;
  color: #dbe5ff;
}

.combined-purity-card {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.10);
}

.combined-results.stacked {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.purity-row {
 display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
}

.purity-row:last-child {
  border-bottom: none;
}

.purity-row span {
  color: #cfe0ff;
}

.purity-row b {
  color: #74ffbf;
}

.purity-row.good b,
.purity-row.good p {
  color: #74ffbf;
}

.purity-row.warn b,
.purity-row.warn p {
  color: #ffd86b;
}

.purity-row.bad b,
.purity-row.bad p {
  color: #ffaaaa;
}

.purity-row p {
  margin: 2px 0 0;
  font-size: 0.9rem;
  color: #cfe0ff;
}

.yield-header h5{
    margin:0;
    font-size:.75rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#9fb0d6;
}


.yield-strip strong{
    font-size: 1em;
  color:#a58aea;
    font-weight:400;
}

.yield-strip span{
    font-size:1rem;
    color:#d7e2ff;
}

.quant-header h5,
.quant-header span {
    margin: 0;
}

.combined-result-card {
  position: relative;
  max-width: 850px;
  margin: 18px auto 0;
}

.quant-result-card {
  width: 100%;
  box-sizing: border-box;
  margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(139,166,255,.06);
  border: 1px solid rgba(139,166,255,.16);
  overflow: visible;
  position: relative;
}

.quant-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 8px;
  gap: 0;
  flex-wrap: nowrap;
  position: relative;
  width: 100%;
}

.quant-header > span:first-child {
  flex: 1;
  text-align: center;
  white-space: nowrap;
}

.quant-header .result-actions {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
}

.quant-header .result-actions .print-btn,
.quant-header .result-actions .result-print-btn,
.quant-header .result-actions .result-save-btn {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: rgba(139,166,255,0.15) !important;
  border: 1px solid rgba(120,160,255,0.25) !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  z-index: auto !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.quant-header .result-actions .print-btn svg,
.quant-header .result-actions .result-print-btn svg,
.quant-header .result-actions .result-save-btn svg {
  width: 16px !important;
  height: 16px !important;
}

.quant-header span,
.purity-header span {
  margin: 0;
  color: #9fb0d6;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .85rem;
  font-weight: 600;
}

.quant-yield-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.quant-yield-secondary {
  font-size: 0.9rem;
  color: #9fb0d6;
}

.quant-yield-line strong {
  color: #a58aea;
  font-size: 1.35rem;
  font-weight: 700;
}

.quant-yield-line span {
  color: #dbe5ff;
  font-size: 1rem;
}

.combined-purity-card {
  width: 100%;
  box-sizing: border-box;
  margin-top: 16px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
}

.purity-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.purity-badge {
  padding: 5px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
}

.purity-badge.good {
  color: #74ffbf;
  background: rgba(116,255,191,.10);
  border: 1px solid rgba(116,255,191,.25);
}

.purity-badge.warn {
  color: #ffd86b;
  background: rgba(255,216,107,.10);
  border: 1px solid rgba(255,216,107,.25);
}

.purity-badge.bad {
  color: #ffaaaa;
  background: rgba(255,120,120,.10);
  border: 1px solid rgba(255,120,120,.25);
}

.purity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  text-align: left;
}

.purity-row:last-child {
  border-bottom: none;
}

.purity-row span {
  color: #eef4ff;
  font-weight: 700;
}

.purity-row p {
  margin: 4px 0 0;
  font-size: .9rem;
  color: #9fb0d6;
}

.purity-row b {
  font-weight: 800;
  white-space: nowrap;
}

.purity-row.good b,
.purity-row.good p {
  color: #74ffbf;
}

.purity-row.warn b,
.purity-row.warn p {
  color: #ffd86b;
}

.purity-row.bad b,
.purity-row.bad p {
  color: #ffaaaa;
}

.copy-number-result {
  position: relative;
  width: 100%;
  max-width: 560px;
  box-sizing: border-box;
  margin: 10px auto 0;
  padding: 16px;
  border-radius: 16px;
  background: rgba(139,166,255,.06);
  border: 1px solid rgba(139,166,255,.16);
}

.copy-main {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: none;
  background: none;
  text-align: center;
}

.copy-main span {
  display: block;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .8rem;
}

.copy-main strong {
  color: #a58aea;
  font-size: 1.25rem;
}

.copy-extra-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
  width: 100%;
  box-sizing: border-box;
}

.copy-extra-grid div {
  padding: 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  text-align: center;
}

.copy-extra-grid span {
  display: block;
  color: #9fb0d6;
  font-size: .85rem;
  margin-bottom: 6px;
}

.copy-extra-grid strong {
  color: #eef4ff;
  font-size: 1rem;
}

.copy-based-on {
  margin: 14px 0 0;
  text-align: center;
  color: #9fb0d6;
  font-size: .9rem;
}

.copy-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:8px;
}

.copy-header span{
    color:#9fb0d6;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.82rem;
    font-weight:600;
}

.copy-header {
    position:static;
    width:42px;
    height:42px;
    border-radius:12px;
}

.calc-box :is(
  h3,
  h4,
  h5,
  strong,
  b,
  label,
  th,
  td,
  span,
  p,
  li,
  .btn,
  .calc-tab,
  .result-card,
  .workflow-result-card,
  .cell-result-card,
  .pcr-summary,
  .purity-badge
) {
  font-weight: 400 !important;
}

.workflow-actions {
    display:grid;
  grid-template-columns:minmax(260px, 1fr) auto;
    gap:12px;
    justify-content:center;
    align-items:center;
    margin-top:20px;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
}

.workflow-actions .primary-action {
  width: 100%;
  height: 54px;
  border-radius: 14px;
  background: #86a0ff;
  color: #061226;
  font-weight: 700;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.workflow-actions .result-actions {
  position: static;
  margin-left: 0;
  display: flex;
  gap: 10px;
}

.workflow-actions .result-actions .result-print-btn,
.workflow-actions .result-actions .result-save-btn {
  position: static !important;
  width: 56px;
  height: 54px;
  flex: 0 0 56px;
  border-radius: 14px;
}

.stock-result-card{
    margin-top:20px;
    padding:18px 22px;
    border-radius:18px;
    background:rgba(139,166,255,.06);
    border:1px solid rgba(139,166,255,.16);
}

.stock-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}

.stock-header span{
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#9fb0d6;
    font-size:.85rem;
}

.stock-value{
    color:#74ffbf;
    font-size:2rem;
    font-weight:700;
}

/* Calculator typography tuning */
.calc-box h3,
.calc-title,
.reference-card h4,
.pcr-calculator h3,
.pcr-recipe h4,
.dna-card h4,
.cell-card h4,
.cell-result-card h3,
.workflow-protocol h4,
.result-title {
  font-weight: 600 !important;
}

.calc-box label,
.equation-item label,
.pcr-inputs label,
.dna-inputs label,
.cell-inputs label,
.counter-inputs label {
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

.calc-subtitle,
.equation-subtitle,
.pcr-inputs small,
.dna-inputs small,
.cell-inputs small,
.counter-unit,
.pcr-recipe-table th,
.pcr-recipe-table td:first-child,
.workflow-stat span,
.workflow-stat small,
.workflow-line,
.quality-card span,
.quality-card p,
.cell-method-card span,
.cell-mini-summary strong,
.cell-mini-summary span,
.pcr-summary span {
  font-weight: 500 !important;
}

.calc-tabs button,
.calc-panel .btn,
.calc-box .calculate-btn,
.reference-btn,
.calc-fab,
.pcr-reset-btn,
.cell-card .pcr-calc-btn,
.cell-result-card .pcr-calc-btn,
.workflow-actions .btn,
.workflow-actions .secondary-action,
.action-btn {
  font-weight: 600 !important;
}

.equation-item select,
.calc-row select,
.pcr-recipe-table td:last-child,
.workflow-stat strong,
.pcr-summary strong,
.workflow-line b,
.stock-header span,
.stock-value {
  font-weight: 600 !important;
}

@media (max-width: 640px) {
  .calc-box {
    width: min(96vw, 900px);
    max-height: 90vh;
    padding: 14px 12px;
    border-radius: 16px;
  }

  .calc-box h3 {
    font-size: 20px;
    margin-bottom: 14px;
  }

  .calc-box,
  .calc-box p,
  .calc-box label,
  .calc-box th,
  .calc-box td,
  .calc-box span,
  .result-item,
  .result-item span,
  .result-item strong,
  .workflow-line,
  .pcr-summary span,
  .pcr-summary strong,
  .timer-display {
    font-size: 12px !important;
  }

  .calc-subtitle,
  .equation-subtitle,
  .result-title,
  .workflow-protocol h4,
  .pcr-recipe h4,
  .dna-card h4,
  .cell-card h4,
  .cell-result-card h3 {
    font-size: 14px !important;
  }

  .calc-row {
    grid-template-columns: 120px 1fr 74px;
    gap: 8px;
    max-width: 100%;
  }

  .pcr-inputs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    max-width: 100%;
    align-items: end;
  }

  .pcr-inputs label {
    width: 100%;
    min-width: 0;
  }

  .pcr-inputs input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .calc-row input,
  .calc-row select,
  .equation-item input,
  .equation-item select,
  .dna-inputs input,
  .dna-inputs select,
  .cell-inputs input,
  .cell-inputs select,
  .counter-inputs input,
  .counter-inputs select {
    height: 40px;
    font-size: 13px;
    border-radius: 10px;
  }

  .dna-inputs,
  .cell-inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
  }

  .dna-inputs label,
  .cell-inputs label {
    width: 100%;
    min-width: 0;
  }

  .counter-inputs {
    gap: 10px !important;
  }

  .counter-inputs label:nth-child(2) {
    grid-column: 1 / -1;
  }

  .counter-inline {
    grid-template-columns: minmax(0, 2fr) 88px;
    gap: 8px;
  }

  .counter-inline input,
  .counter-inline select {
    width: 100%;
    min-width: 0;
  }

  .counter-inline #autoMultiplier {
    width: 88px;
    max-width: 88px;
    justify-self: end;
  }

  .pcr-inputs input,
  .pcr-recipe-table input {
    height: 36px;
    font-size: 13px;
    padding: 6px 8px;
  }

  .pcr-recipe {
    width: 94%;
    max-width: 94%;
    padding: 10px 8px;
    border-radius: 12px;
  }

  .pcr-recipe-table {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0 6px;
  }

  .pcr-recipe-table th,
  .pcr-recipe-table td,
  .pcr-recipe-table td:first-child,
  .pcr-recipe-table td:last-child {
    font-size: 12px;
  }

  .pcr-recipe-table td:first-child {
    width: 42%;
    padding-right: 6px;
  }

  .pcr-recipe-table td:nth-child(2) {
    width: 40%;
  }

  .pcr-recipe-table td:last-child {
    width: 18%;
    white-space: nowrap;
  }

  .unit-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px;
    align-items: center;
    width: 100%;
  }

  .unit-input input {
    width: 100%;
    min-width: 0;
    font-size: 12px;
    padding: 5px 6px;
    box-sizing: border-box;
  }

  .unit-input small {
    min-width: 20px;
    font-size: 12px;
  }

  .dna-card,
  .cell-card,
  .copy-number-result,
  .combined-result-card,
  .quant-result-card,
  .workflow-result-card,
  .result-card,
  .stock-result-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }

  .workflow-stats {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .workflow-actions {
    display: flex;
    grid-template-columns: none;
    max-width: 100%;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
  }

  .workflow-actions .primary-action {
    min-width: 0;
    width: 100%;
    flex: 1 1 auto;
    height: 44px;
    font-size: 12px;
    padding: 0 10px;
  }

  .workflow-actions .result-actions {
    position: static;
    flex: 0 0 auto;
    margin-left: 0;
    display: flex;
    gap: 8px;
  }

  .workflow-actions .result-actions .result-print-btn,
  .workflow-actions .result-actions .result-save-btn {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
  }

  .result-header,
  .workflow-header,
  .quant-header,
  .copy-header {
    padding-right: 78px;
    box-sizing: border-box;
    min-height: 34px;
  }

  .result-header h4,
  .workflow-header h4,
  .quant-header > span:first-child,
  .copy-header span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .result-header .result-actions,
  .quant-header .result-actions {
    right: 0;
    top: 0;
    transform: none;
  }

  .workflow-header {
    position: relative;
    padding-right: 78px;
    justify-content: center;
  }

  .workflow-header .result-actions {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0;
  }

  .result-header .result-actions .result-print-btn,
  .result-header .result-actions .result-save-btn,
  .quant-header .result-actions .result-print-btn,
  .quant-header .result-actions .result-save-btn,
  .workflow-header .result-actions .result-print-btn,
  .workflow-header .result-actions .result-save-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
  }

  .pcr-table {
    width: 100%;
    table-layout: fixed;
  }

  .pcr-table th,
  .pcr-table td {
    font-size: 11px;
    padding: 7px 5px;
    word-break: break-word;
  }

  .quant-header {
    position: relative;
    display: block !important;
    text-align: center;
    min-height: 34px;
  }

  .quant-header > span:first-child {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: max-content !important;
    max-width: calc(100% - 84px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
  }

  .quant-header .result-actions {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .calc-panel .btn,
  .calculate-btn,
  .pcr-calc-btn,
  .pcr-reset-btn,
  .reference-btn,
  .result-print-btn,
  .result-save-btn,
  .workflow-actions .btn,
  .workflow-actions .secondary-action,
  .cell-card .pcr-calc-btn,
  .cell-result-card .pcr-calc-btn {
    font-size: 12px !important;
  }

  .result-actions .result-print-btn,
  .result-actions .result-save-btn,
  .quant-header .result-print-btn,
  .quant-header .result-save-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .workflow-stat,
  .result-card,
  .workflow-result-card,
  .cell-result-card,
  .dilution-result-compact,
  .quant-result-card,
  .copy-number-result,
  .combined-result-card,
  .stock-result-card {
    padding: 12px !important;
    border-radius: 12px !important;
  }
}