/* ========= Aquastream Stocking Calculator v3.9 final ========= */
#ascApp.asc-wrap {
  --as-primary: #027440;
  --as-primary-dark: #1c7436;
  --as-secondary: #449BD5;
  --as-bg: #F7FBFE;
  --as-card: #FFFFFF;
  --as-text: #0F172A;
  --as-muted: #4B5563;
  --as-border: #DCEAF5;
  --as-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  --as-radius: 16px;
  --as-good: #16A34A;
  --as-warn: #F59E0B;
  --as-bad: #EF4444;
  --as-focus: rgba(2, 116, 64, 0.2);

  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  color: var(--as-text);
  font-size: 15.5px;
}

#ascApp * { box-sizing: border-box; }
#ascApp a { color: var(--as-secondary); text-decoration: none; font-weight: 700; }
#ascApp a:hover { text-decoration: underline; }

/* Cards */
#ascApp .as-card,
#ascApp details.as-acc {
  background: var(--as-card);
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius);
  box-shadow: var(--as-shadow);
  padding: 18px;
  margin: 0 0 20px 0;
}

/* Headers */
#ascApp .as-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
#ascApp .as-title {
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.2px;
  color: var(--as-primary);
}
#ascApp .as-sub {
  color: var(--as-muted);
  font-weight: 600;
  font-size: 13px;
  margin-top: 4px;
}

/* Grid */
#ascApp .as-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
  margin-top: 12px;
}
#ascApp .as-col-2 { grid-column: span 2; }
#ascApp .as-col-3 { grid-column: span 3; }
#ascApp .as-col-4 { grid-column: span 4; }
#ascApp .as-col-6 { grid-column: span 6; }
#ascApp .as-col-8 { grid-column: span 8; }
#ascApp .as-col-12 { grid-column: span 12; }
@media (max-width: 920px) {
  #ascApp .as-col-2,
  #ascApp .as-col-3,
  #ascApp .as-col-4,
  #ascApp .as-col-6,
  #ascApp .as-col-8 { grid-column: span 12; }
}

/* Labels */
#ascApp .as-label {
  display: block;
  font-family: 'Jost', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 23px;
  font-weight: 600;
  color: var(--as-secondary);
  margin-bottom: 6px;
  text-transform: none;
}

/* Inputs */
#ascApp .as-input {
  width: 100%;
  border: 1px solid var(--as-border);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  color: var(--as-text);
  outline: none;
  font-size: 16px;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
#ascApp .as-input:focus {
  border-color: var(--as-primary);
  box-shadow: 0 0 0 4px var(--as-focus);
}

/* Stocking Rule (engine selector) */
#ascApp .as-rule-select{
  border: 2px solid rgba(2, 116, 64, 0.45);
  background: rgba(2, 116, 64, 0.05);
  font-weight: 800;
}
#ascApp .as-rule-select:focus{
  border-color: var(--as-primary);
  box-shadow: 0 0 0 4px var(--as-focus);
}

/* Buttons */
#ascApp .as-btn {
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 900;
  cursor: pointer;
  background: #027440;
  color: #fff;
  box-shadow: 0 8px 16px rgba(2, 116, 64, 0.2);
  transition: transform 0.1s ease, filter 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
#ascApp .as-btn:hover {
  background: #228D42;
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(34, 141, 66, 0.3);
}
#ascApp .as-btn:active { transform: translateY(0); }
#ascApp .as-btn.block { width: 100%; }
#ascApp .as-btn.ghost {
  background: #fff;
  color: var(--as-text);
  border: 1px solid var(--as-border);
  box-shadow: none;
}
#ascApp .as-btn.ghost:hover {
  background: #f8fafc;
  box-shadow: var(--as-shadow);
}

/* Quantity control */
#ascApp .as-qty {
  flex-wrap: nowrap;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
}
#ascApp .as-qty button {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--as-border);
  background: #F3F4F6;
  cursor: pointer;
  font-weight: 900;
  color: #1F2937;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#ascApp .as-qty button:hover { background: #E5E7EB; }
#ascApp .as-qty input {
  text-align: center;
  font-weight: 900;
  width: 60px;
  padding: 0;
  height: 40px;
  font-size: 16px;
}

/* Pills / Badges */
#ascApp .as-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--as-border);
  background: #fff;
  font-weight: 700;
  font-size: 12px;
  color: var(--as-muted);
  white-space: nowrap;
}
#ascApp .as-pill.good {
  border-color: rgba(34, 141, 66, 0.35);
  background: rgba(34, 141, 66, 0.08);
  color: var(--as-primary-dark);
}
#ascApp .as-pill.warn {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.1);
  color: #854d0e;
}
#ascApp .as-pill.bad {
  border-color: rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.08);
  color: #991b1b;
}

/* Banner */
#ascApp .as-banner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid var(--as-border);
  background: #fff;
  font-weight: 700;
  line-height: 1.4;
}
#ascApp .as-banner .as-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  background: #fff;
  border: 1px solid var(--as-border);
  flex-shrink: 0;
}
#ascApp .as-banner.good {
  border-color: rgba(34, 141, 66, 0.35);
  background: rgba(34, 141, 66, 0.06);
}
#ascApp .as-banner.good .as-ico {
  background: rgba(34, 141, 66, 0.12);
  border-color: rgba(34, 141, 66, 0.3);
}
#ascApp .as-banner.warn {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.06);
}
#ascApp .as-banner.warn .as-ico {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.3);
}
#ascApp .as-banner.bad {
  border-color: rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.06);
}
#ascApp .as-banner.bad .as-ico {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.3);
}
#ascApp .as-banner .t {
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 4px;
}
#ascApp .as-banner .s {
  font-size: 13px;
  color: var(--as-muted);
}
#ascApp .as-disclaimer {
  margin-top: 6px;
  font-size: 12px;
  color: var(--as-muted);
  font-weight: 600;
}

/* Progress bar */
#ascApp .as-progress {
  width: 100%;
  height: 16px;
  border-radius: 999px;
  border: 1px solid var(--as-border);
  background: #fff;
  overflow: hidden;
  margin: 10px 0 12px;
}
#ascApp .as-progress > div {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  transition: width 0.4s ease;
}

/* Metrics with icons */
#ascApp .as-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 1100px) {
  #ascApp .as-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  #ascApp .as-metrics { grid-template-columns: 1fr; }
}
#ascApp .as-metric {
  border: 1px solid var(--as-border);
  border-radius: 14px;
  padding: 12px;
  background: #fff;
  text-align: center;
}
#ascApp .as-metric.primary {
  border-color: rgba(68, 155, 213, 0.35);
  background: rgba(68, 155, 213, 0.06);
}
#ascApp .as-metric.good {
  border-color: rgba(34, 141, 66, 0.35);
  background: rgba(34, 141, 66, 0.06);
}
#ascApp .as-metric.warn {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.06);
}
#ascApp .as-metric.bad {
  border-color: rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.06);
}
#ascApp .as-metric .as-metric-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 900;
  color: var(--as-primary);
  text-transform: uppercase;
  margin-bottom: 6px;
}
#ascApp .as-metric .as-metric-header svg { fill: currentColor; }
#ascApp .as-metric .v {
  font-size: 28px;
  font-weight: 900;
  margin-top: 4px;
  line-height: 1.2;
}
#ascApp .as-metric .s {
  font-size: 12px;
  color: var(--as-muted);
  margin-top: 2px;
}

/* Fish cards (matching u2) */
#ascApp .as-fish-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 1100px) {
  #ascApp .as-fish-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  #ascApp .as-fish-list { grid-template-columns: 1fr; }
}
#ascApp .as-fish-card {
  border: 1px solid var(--as-border);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
#ascApp .as-fish-card .as-fish-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
#ascApp .as-fish-card .name {
  font-weight: 900;
  font-size: 18px;
  color: var(--as-primary);
}
#ascApp .as-fish-card .sci {
  color: var(--as-muted);
  font-style: italic;
  font-size: 12px;
  margin-top: 2px;
}
#ascApp .as-fish-card .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}
#ascApp .as-fish-card .tag {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid #E5E7EB;
  background: #F9FAFB;
  color: #111827;
  line-height: 1;
}
#ascApp .as-fish-card .tag.temperament-low { background: rgba(34,141,66,0.1); border-color: rgba(34,141,66,0.25); color: #166534; }
#ascApp .as-fish-card .tag.temperament-med { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.28); color: #854d0e; }
#ascApp .as-fish-card .tag.temperament-high { background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.25); color: #991b1b; }
#ascApp .as-fish-card .tag.waste-low { background: rgba(34,141,66,0.1); border-color: rgba(34,141,66,0.25); color: #166534; }
#ascApp .as-fish-card .tag.waste-med { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.28); color: #854d0e; }
#ascApp .as-fish-card .tag.waste-high { background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.25); color: #991b1b; }
#ascApp .as-fish-card .tag.temp-low { background: rgba(34,141,66,0.1); border-color: rgba(34,141,66,0.25); color: #166534; }
#ascApp .as-fish-card .tag.temp-med { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.28); color: #854d0e; }
#ascApp .as-fish-card .tag.temp-high { background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.25); color: #991b1b; }

#ascApp .as-fish-card .meta {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 800;
  color: var(--as-muted);
  line-height: 1.35;
}
#ascApp .as-fish-card .meta b { color: #000; font-weight: 900; }
#ascApp .as-fish-card .qty {
  font-size: 14px;
  font-weight: 700;
  margin-top: 10px;
}
#ascApp .as-fish-card .controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
#ascApp .as-fish-card .mini-btn {
  padding: 6px 12px;
  border-radius: 12px;
  border: 1px solid var(--as-border);
  background: #fff;
  font-weight: 900;
  cursor: pointer;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#ascApp .as-fish-card .mini-btn.inc { background: rgba(34,141,66,0.08); color: var(--as-primary-dark); }
#ascApp .as-fish-card .mini-btn.dec { background: rgba(239,68,68,0.08); color: #991b1b; }
#ascApp .as-fish-card .mini-btn.rm { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
#ascApp .as-fish-card .mini-btn:hover { filter: brightness(0.95); }

/* Search suggestions */
#ascApp .as-suggest-wrap { position: relative; }
#ascApp .as-suggest {
  position: absolute;
  z-index: 100;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--as-border);
  border-radius: 14px;
  box-shadow: var(--as-shadow);
  max-height: 250px;
  overflow-y: auto;
  padding: 6px;
}
#ascApp .as-suggest-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: none;
  background: none;
  cursor: pointer;
  font-weight: 600;
  text-align: left;
  border-radius: 10px;
  color: var(--as-text);
}
#ascApp .as-suggest-item:hover { background: rgba(68, 155, 213, 0.08); }
#ascApp .as-suggest-item .t { font-weight: 800; }
#ascApp .as-suggest-item .s {
  font-size: 12px;
  color: var(--as-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 50%;
}

/* Warnings */
#ascApp .as-warnings-title {
  font-weight: 900;
  font-size: 24px;
  color: var(--as-primary);
  margin-bottom: 10px;
  text-align: center !important;
  margin-bottom: 20px !important;
}
#ascApp .as-warn-item {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--as-border);
  background: #fff;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14px;
}
#ascWarnings { margin-top: 0 !important; padding-top: 0 !important; }
#ascApp .as-warn-item.crit {
  border-color: rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.06);
}
#ascApp .as-warn-item.warn {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.06);
}
#ascApp .as-warn-item.note {
  border-color: rgba(34, 141, 66, 0.35);
  background: rgba(34, 141, 66, 0.06);
}

/* Accordion */
#ascApp .as-acc-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 8px 2px;
  text-align: left;
  font-weight: 800;
  font-size: 20px;
  color: var(--as-primary);
}
#ascApp .as-acc-head .as-chev {
  font-size: 20px;
  color: var(--as-muted);
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}
#ascApp details[open] .as-acc-head .as-chev { transform: rotate(180deg); }
#ascApp .as-acc-body { margin-top: 10px; }

/* Notes (italic) */
#ascApp .volume-note,
#ascApp .filter-note {
  font-style: italic;
  margin-top: 8px;
}
#ascApp .volume-note strong a { font-weight: 900; }

/* Footer & support */
#ascApp .as-footer {
  margin-top: 20px;
  font-size: 12px;
  color: var(--as-muted);
  text-align: center;
  border-top: 1px solid var(--as-border);
  padding-top: 16px;
}
#ascApp .as-support {
  margin-top: 16px;
  text-align: center;
}
#ascApp .as-support .as-small {
  font-size: 13px;
  color: var(--as-muted);
}

/* Hidden */
#ascApp .as-hidden { display: none !important; }

/* Selected fish qty pill */
#ascApp .as-qty-pill{
  background: rgba(2, 116, 64, 0.10);
  border: 1px solid rgba(2, 116, 64, 0.25);
  color: var(--as-primary);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 900;
  font-size: 13px;
  white-space: nowrap;
}
#ascApp .as-fish-card .meta-line{
  color: var(--as-muted);
  font-size: 13px;
  margin-top: 6px;
}

/* Tank/Filter summary formatting */
#ascApp .as-sum-pill{
  display:inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(97,93,252,0.14);
  border: 1px solid rgba(97,93,252,0.35);
  color: #615DFC;
  font-weight: 900;
  font-size: 12.5px;
  letter-spacing: 0.2px;
}

#ascApp .as-sum-sep{ color: rgba(15, 23, 42, 0.25); padding: 0 6px; height: 8px;}
#ascApp .as-sum-muted{ color: var(--as-muted); font-weight: 700; }

/* Beginner index highlight - high specificity */
#ascApp #ascBeginner.as-beginner-index {
  color: #b91c1c !important;
  font-weight: 900 !important;
}

/* Notification messages */
#ascApp .as-notification {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  margin: 0 auto;
  padding: 12px 20px;
  border-radius: 999px;
  background: #027440;
  color: white;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  max-width: 90%;
  animation: slideDown 0.3s ease;
}
#ascApp .as-notification.warn { background: #f59e0b; }
#ascApp .as-notification.error { background: #ef4444; }
#ascApp .as-notification.success { background: #10b981; }
@keyframes slideDown {
  from { opacity: 0; transform: translate(-50%, -20px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

/* Beginner index highlight - strongest specificity */
#ascApp #ascBeginner.as-beginner-index,
#ascApp .as-beginner-index {
  color: #b91c1c !important;
  font-weight: 900 !important;
}

/* Hide share image button on small screens (mobile stability) */
@media (max-width: 768px){
  #ascApp #ascShareBtn{ display:none !important; }
}

/* Pre-defined insights based on selected fish types) */
#ascApp .as-insights{
  margin: 10px 0 0;
  padding-left: 18px;
}
#ascApp .as-insights li{
  margin: 6px 0;
  color: var(--as-text);
  font-weight: 600;
}

/* tiny CSS for the group titles */
#ascApp .as-warn-group{ margin-top: 10px; }
#ascApp .as-warn-group-title{
  font-weight: 900;
  font-size: 13px;
  margin: 10px 0 6px;
  opacity: 0.9;
}
#ascApp .as-warn-group-title{
  display:inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 1000;
  font-size: 12.5px;
  margin: 10px 0 8px;
  letter-spacing: 0.2px;
  border: 1px solid rgba(99,102,241,0.25);
  background: rgba(99,102,241,0.10);
}
#ascApp .as-warn-group:nth-of-type(1) .as-warn-group-title{
  border-color: rgba(239,68,68,0.35);
  background: rgba(239,68,68,0.12);
  color: #b91c1c;
}
#ascApp .as-warn-group:nth-of-type(2) .as-warn-group-title{
  border-color: rgba(245,158,11,0.40);
  background: rgba(245,158,11,0.14);
  color: #b45309;
}
#ascApp .as-warn-group:nth-of-type(3) .as-warn-group-title{
  border-color: rgba(34,197,94,0.35);
  background: rgba(34,197,94,0.14);
  color: #15803d;
}
#ascApp .as-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius: 6px;
  margin: 0 6px 0 6px;
  vertical-align: -3px;
  border: 1px solid rgba(97,93,252,0.25);
  background: rgba(97,93,252,0.10);
}
#ascApp .as-ico svg{
  display:block;
  fill: currentColor;
}
#ascApp .as-ico.yt{ color:#DC2626; }
#ascApp .as-ico.ig{ color:#C026D3; }


/* ===== Aquastream Stocking Calculator: Breakdown panel (Phase 1 Fix 2) ===== */
#ascApp .asc-bd{ display:flex; flex-direction:column; gap:10px; }
#ascApp .asc-bd-row{
  display:grid;
  grid-template-columns: 140px 1fr;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--as-border, #DCEAF5);
  border-radius:12px;
  background:var(--as-card, #FFFFFF);
}
#ascApp .asc-bd-k{ font-weight:800; color:var(--as-text, #0F172A); }
#ascApp .asc-bd-v{ color:var(--as-text, #0F172A); line-height:1.35; }
#ascApp .asc-bd-note{ color:var(--as-muted, #64748B); }
#ascApp .asc-bd-ul{ margin:6px 0 0 18px; }
@media (max-width: 900px){
  #ascApp .asc-bd-row{ grid-template-columns: 1fr; }
}



#ascApp .as-subacc{
  border:1px solid var(--as-border);
  border-radius:14px;
  background:#fbfdff;
}
#ascApp .as-subacc-head{
  cursor:pointer;
  list-style:none;
  padding:14px 16px;
  font-weight:900;
  color:var(--as-primary);
}
#ascApp .as-subacc-head::-webkit-details-marker{display:none;}
#ascApp .as-subacc-body{padding:0 16px 16px;}
#ascApp .as-phase-note{
  border:1px dashed rgba(68,155,213,0.35);
  background:rgba(68,155,213,0.08);
  color:var(--as-text);
  padding:12px 14px;
  border-radius:12px;
  font-size:13px;
  font-weight:700;
}
#ascApp .asc-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
#ascApp .asc-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  border:1px solid var(--as-border);background:#fff;font-size:12px;font-weight:800;color:var(--as-text);
}
#ascApp .asc-chip.good{background:rgba(34,141,66,0.08);border-color:rgba(34,141,66,0.25);color:#166534;}
#ascApp .asc-chip.warn{background:rgba(245,158,11,0.10);border-color:rgba(245,158,11,0.28);color:#92400e;}
#ascApp .asc-chip.bad{background:rgba(239,68,68,0.08);border-color:rgba(239,68,68,0.24);color:#991b1b;}
#ascApp .asc-list{margin:8px 0 0 18px;padding:0;}
#ascApp .asc-list li{margin:5px 0;line-height:1.4;}
#ascApp .asc-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
@media (max-width:900px){#ascApp .asc-score-grid{grid-template-columns:1fr;}}


/* Phase 3 advisor + confidence panel */
#ascApp .asc-upgrade-card .asc-upgrade-title {
display: block;
font-size: 14px;
font-weight: 900;
color: var(--as-primary);
margin-bottom: 4px;
}
#ascApp .asc-upgrade-card .asc-upgrade-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
#ascApp .asc-upgrade-card .asc-mini {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 4px 8px;
border-radius: 999px;
background: rgba(15, 23, 42, 0.05);
border: 1px solid rgba(15, 23, 42, 0.08);
font-size: 11px;
font-weight: 900;
color: var(--as-text);
}
#ascApp .asc-upgrade-card .asc-mini.good {
background: rgba(34, 141, 66, 0.1);
border-color: rgba(34, 141, 66, 0.22);
color: #166534;
}
#ascApp .asc-upgrade-card .asc-mini.warn {
background: rgba(245, 158, 11, 0.12);
border-color: rgba(245, 158, 11, 0.22);
color: #92400e;
}
#ascApp .asc-upgrade-card .asc-mini.bad {
background: rgba(239, 68, 68, 0.1);
border-color: rgba(239, 68, 68, 0.18);
color: #991b1b;
}


/* ===== v3.9.1 UI polish ===== */
#ascApp .as-result-acc{
  border: 1px solid rgba(0, 94, 184, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
  margin-top: 18px !important;
  overflow: hidden;
}
#ascApp .as-result-acc-head{
  list-style: none;
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(0,94,184,0.07) 0%, rgba(2,116,64,0.06) 100%);
  border-bottom: 1px solid rgba(0, 94, 184, 0.10);
}
#ascApp .as-result-acc-head::-webkit-details-marker{ display:none; }
#ascApp .as-result-acc-body{
  padding: 0 18px 18px;
}
#ascApp .as-result-acc .as-chev{
  position: relative;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}
#ascApp .as-result-acc .as-chev::before{
  content: "";
  position: absolute;
  inset: 2px;
  border-right: 2px solid var(--as-primary);
  border-bottom: 2px solid var(--as-primary);
  transform: rotate(45deg);
  transition: transform 0.18s ease, top 0.18s ease;
}
#ascApp .as-result-acc[open] .as-chev::before{
  transform: rotate(-135deg);
  top: 2px;
}
#ascApp .asc-watchout-note{
  margin-top: 18px;
}
#ascApp .asc-watchout-note .asc-chip{
  line-height: 1.4;
}
#ascApp .as-subacc-head-strong{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  background: linear-gradient(180deg, rgba(0,94,184,0.06) 0%, rgba(2,116,64,0.06) 100%);
  border-bottom: 1px solid rgba(0, 94, 184, 0.10);
}
#ascApp .as-subacc-hint{
  display:inline-flex;
  align-items:center;
  font-size: 12px;
  font-weight: 800;
  color: #005eb8;
  background: rgba(0,94,184,0.08);
  border: 1px solid rgba(0,94,184,0.14);
  border-radius: 999px;
  padding: 5px 10px;
}
#ascApp .as-banner.bad{
  margin-top: 18px !important;
}
#ascApp .as-help-btn{
  transform: translateY(-1px);
}

#ascApp .as-result-acc .as-warnings-title{
  margin: 0 !important;
}

#ascApp .as-subacc-head-strong{ box-shadow: inset 0 0 0 1px rgba(0,94,184,0.08); padding-top: 14px; padding-bottom: 14px; }
#ascApp .as-result-acc .as-warnings-title{ font-weight: 900; }


/* v3.9.1 r2 polish */
#ascApp .as-subacc-head-strong{justify-content:flex-start; align-items:flex-start; gap:8px 10px;}
#ascApp .as-subacc-hint{display:block; width:100%; margin-top:2px; border-radius:12px; padding:6px 10px; font-size:11.5px; line-height:1.35;}
@media (min-width: 901px){#ascApp .as-subacc-head-strong{padding-right:18px;} #ascApp .as-subacc-head-strong .as-opt{margin-left:6px;} }
#ascApp .asc-bd-note-block{display:block; margin-top:8px; line-height:1.5; color:var(--as-muted);}

/* v4.0.1 beta: allow richer water-change text */
#ascApp #ascWC { white-space: normal; line-height: 1.2; }


/* ===== v4.1.0 beta: roadmap polish ===== */
#ascApp .asc-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
#ascApp .asc-zone-row{border:1px solid var(--as-border,#DCEAF5);background:#fff;border-radius:14px;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.04);}
#ascApp .asc-zone-row.good{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.04);}
#ascApp .asc-zone-row.warn{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.06);}
#ascApp .asc-zone-row.bad{border-color:rgba(239,68,68,.26);background:rgba(239,68,68,.06);}
#ascApp .asc-zone-head,#ascApp .asc-zone-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12.5px;font-weight:800;color:var(--as-text,#0F172A);}
#ascApp .asc-zone-bar{margin:10px 0 8px;height:10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;}
#ascApp .asc-zone-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0284c7 0%, #027440 100%);}
#ascApp .as-input-invalid{border-color:#ef4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,.15) !important;background:#fff7f7 !important;}
#ascApp .as-input-warn{border-color:#f59e0b !important;box-shadow:0 0 0 3px rgba(245,158,11,.14) !important;background:#fffaf0 !important;}
@media (max-width:900px){#ascApp .asc-zone-grid{grid-template-columns:1fr;}}


    .asc-bd-emphasis{display:block;margin-top:8px;padding:8px 10px;border-radius:12px;background:#fff7ed;border:1px solid rgba(249,115,22,.16);color:#9a3412;font-weight:700}
    .asc-inline-icon{display:inline-flex;align-items:center;justify-content:center;min-width:18px;margin-right:8px;font-size:14px;line-height:1.2}
    .as-warn-item{display:flex;align-items:flex-start;gap:8px}
    .as-warn-item span:last-child{flex:1}
    .asc-species-snapshots{margin-top:14px}
    .asc-species-snap-grid{display:grid;gap:10px}
    .asc-species-snap-item{border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:12px 12px 10px;background:#fff}
    .asc-species-snap-title{font-weight:800;color:#0f172a;margin-bottom:6px}
    .asc-species-snap-line{display:flex;align-items:flex-start;gap:8px;color:#334155;font-size:13px;line-height:1.45;margin:4px 0}
    .asc-zone-grid{display:grid;gap:12px}
    .asc-zone-row{border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:12px;background:#fff}
    .asc-zone-row.good{border-color:rgba(22,163,74,.18);background:linear-gradient(180deg,#fff 0%,#f7fff9 100%)}
    .asc-zone-row.warn{border-color:rgba(245,158,11,.18);background:linear-gradient(180deg,#fff 0%,#fffbf3 100%)}
    .asc-zone-row.bad{border-color:rgba(239,68,68,.18);background:linear-gradient(180deg,#fff 0%,#fff8f8 100%)}
    .asc-zone-head,.asc-zone-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .asc-zone-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin:10px 0 8px}
    .asc-zone-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8 0%,#22c55e 100%)}


/* ===== v4.1.5 compatibility chart ===== */
#ascApp .asc-compat-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;}
#ascApp .asc-compat-row{border:1px solid var(--as-border);border-radius:16px;background:#fff;padding:12px 14px;box-shadow:0 4px 12px rgba(15,23,42,0.04);}
#ascApp .asc-compat-row.good{border-color:rgba(34,141,66,0.24);background:rgba(34,141,66,0.04);}
#ascApp .asc-compat-row.warn{border-color:rgba(245,158,11,0.28);background:rgba(245,158,11,0.05);}
#ascApp .asc-compat-row.bad{border-color:rgba(239,68,68,0.28);background:rgba(239,68,68,0.05);}
#ascApp .asc-compat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
#ascApp .asc-compat-species{font-size:15px;color:var(--as-text);}
#ascApp .asc-compat-species span{opacity:.55;padding:0 4px;}
#ascApp .asc-compat-score{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#ascApp .asc-compat-num{font-weight:900;color:var(--as-primary);font-size:13px;}
#ascApp .asc-compat-reasons{margin-top:8px;display:grid;gap:6px;}
#ascApp .asc-compat-reason{font-size:13px;line-height:1.5;color:var(--as-text);}
@media (max-width: 920px){#ascApp .asc-compat-head{align-items:flex-start;} #ascApp .asc-compat-score{justify-content:flex-start;}}


/* v4.1.7.1 UX tightening */
.as-suggest-item.is-active{outline:2px solid rgba(2,132,199,.25);background:#eff6ff}
.asc-species-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.asc-species-mini-card{border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#fff;padding:10px 12px}
.asc-species-mini-title{font-weight:800;font-size:13px;color:#0f172a;margin-bottom:8px}
.asc-species-mini-chips{display:flex;flex-wrap:wrap;gap:6px}
.asc-species-mini-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(148,163,184,.18);background:#f8fafc;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;color:#334155}
.asc-zone-species{font-size:12px;line-height:1.45;color:#475569;margin-top:8px}
.asc-zone-note{font-size:12px;line-height:1.45;color:#0f172a;margin-top:6px}
.asc-compat-matrix{display:grid;gap:10px;overflow:auto}
.asc-compat-matrix-row{display:grid;grid-template-columns:170px repeat(auto-fit,minmax(92px,1fr));gap:8px;align-items:stretch;min-width:max-content}
.asc-compat-matrix-side,.asc-compat-matrix-head,.asc-compat-matrix-cell{border-radius:12px;padding:10px 8px;text-align:center}
.asc-compat-matrix-side{background:#f8fafc;border:1px solid rgba(148,163,184,.16);font-size:12px;font-weight:800;color:#0f172a}
.asc-compat-matrix-cell{border:1px solid rgba(148,163,184,.16);display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:72px}
.asc-compat-matrix-cell.good{background:#ecfdf5;border-color:rgba(16,185,129,.22)}
.asc-compat-matrix-cell.warn{background:#fffbeb;border-color:rgba(245,158,11,.22)}
.asc-compat-matrix-cell.bad{background:#fef2f2;border-color:rgba(239,68,68,.22)}
.asc-compat-matrix-cell.self{background:#0f172a;color:#fff;border-color:#0f172a;font-size:12px;font-weight:800}
.asc-compat-matrix-num{font-size:18px;font-weight:900;color:#0f172a;line-height:1}
.asc-compat-matrix-label{font-size:10px;font-weight:800;color:#475569;line-height:1.2}
.asc-origin-wrap{display:grid;gap:12px}
.asc-origin-score{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.asc-origin-map{border:1px solid rgba(148,163,184,.16);border-radius:16px;padding:12px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.asc-origin-map svg{width:100%;height:auto;display:block}
.asc-origin-world{fill:#e2e8f0;stroke:#94a3b8;stroke-width:1}
.asc-origin-bubble circle{fill:#2563eb;fill-opacity:.18;stroke:#2563eb;stroke-width:1.5}
.asc-origin-bubble text{font-size:5px;font-weight:900;fill:#0f172a}
.asc-origin-legend{display:flex;gap:8px;flex-wrap:wrap}
.asc-origin-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#fff;font-size:12px;color:#334155}
@media (max-width: 768px){
  .asc-compat-matrix-row{grid-template-columns:120px repeat(auto-fit,minmax(78px,1fr))}
}


/* v4.1.8 QA polish */
.asc-spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.asc-spec-card{border:1px solid rgba(97,93,252,.18);background:#171823;border-radius:14px;padding:12px}.asc-spec-card-title{font-weight:800;margin-bottom:8px}.asc-spec-table{display:grid;gap:8px}.asc-spec-table>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}.asc-spec-table>div:first-child{border-top:0}.asc-spec-table .label{color:#aeb7d4;font-size:12px}.asc-spec-table .value{font-size:13px;text-align:right}.asc-spec-table .value.good{color:#7dd3a5}.asc-spec-table .value.bad{color:#fca5a5}.asc-matrix-wrap{overflow:auto}.asc-compat-matrix{width:100%;border-collapse:separate;border-spacing:6px;min-width:680px}.asc-compat-matrix th,.asc-compat-matrix td{padding:10px;border-radius:12px;text-align:center;vertical-align:middle}.asc-compat-matrix thead th,.asc-compat-matrix tbody th{background:#171823;color:#dbe3ff}.asc-compat-matrix td.good{background:rgba(34,197,94,.18)}.asc-compat-matrix td.warn{background:rgba(245,158,11,.18)}.asc-compat-matrix td.bad{background:rgba(239,68,68,.18)}.asc-compat-matrix td.self{background:#232538;color:#8f96b3;font-size:12px}.asc-compat-matrix .score{font-weight:800;font-size:16px}.asc-compat-matrix .label{font-size:11px;opacity:.9;margin-top:2px}.asc-origin-map-wrap{display:grid;gap:12px}.asc-origin-map{width:100%;max-width:720px;height:auto;background:#141622;border:1px solid rgba(97,93,252,.18);border-radius:16px}.asc-origin-map rect{fill:#141622;stroke:#2c3350}.asc-origin-map .land{fill:#28304a;stroke:#3b466b;stroke-width:.6}.asc-origin-marker circle{fill:#615dfc;stroke:#fff;stroke-width:1.2}.asc-origin-legend{display:flex;flex-wrap:wrap;gap:8px}.asc-origin-chip{background:#171823;border:1px solid rgba(97,93,252,.18);border-radius:999px;padding:6px 10px;font-size:12px}.as-warn-subtitle{font-weight:800;margin:10px 0 6px}.as-result-acc+.as-result-acc{margin-top:14px}.as-suggest-item.active{outline:2px solid #615dfc;background:#1f2231}.asc-zone-species{font-size:12px;color:#b9c1da;margin-top:6px}.asc-mini.info{background:rgba(97,93,252,.14);color:#c6c9ff;border:1px solid rgba(97,93,252,.24)}
.asc-impact-tag{background:#e8f0ff !important;color:#1d4ed8 !important;border-color:#bfdbfe !important;font-weight:800;}
.as-inline-link{color:#1d4ed8;font-weight:700;text-decoration:none;}
.as-inline-link:hover{text-decoration:underline;}


/* ===== v4.1.8.2 QA polish ===== */
#ascApp .asc-bd-helper{font-style:italic;font-weight:400;color:var(--as-muted);background:#f8fbff;border-left:3px solid rgba(0,94,184,.18);padding:8px 10px;border-radius:10px;margin-top:8px}
#ascApp .asc-key-good{color:var(--as-good);font-weight:800}
#ascApp .asc-key-warn{color:var(--as-warn);font-weight:800}
#ascApp .asc-key-bad{color:var(--as-bad);font-weight:800}
#ascApp .asc-species-guide-table-wrap{overflow:auto;margin-top:14px}
#ascApp .asc-species-guide-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;background:#fff;border:1px solid var(--as-border);border-radius:16px;overflow:hidden;box-shadow:var(--as-shadow)}
#ascApp .asc-species-guide-table th,#ascApp .asc-species-guide-table td{padding:10px 12px;border-bottom:1px solid var(--as-border);text-align:left;vertical-align:top}
#ascApp .asc-species-guide-table thead th{background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%);color:#005eb8;font-weight:800}
#ascApp .asc-species-guide-table tbody tr:nth-child(even){background:#fcfeff}
#ascApp .asc-species-guide-table td .good{color:var(--as-good);font-weight:700}
#ascApp .asc-species-guide-table td .bad{color:var(--as-bad);font-weight:700}
#ascApp .asc-compat-matrix th{position:sticky;top:0;background:#f8fbff;z-index:1}
#ascApp .asc-compat-matrix thead th,#ascApp .asc-compat-matrix tbody th{font-size:12px;line-height:1.35;min-width:110px;max-width:110px;white-space:normal}
#ascApp .asc-compat-matrix td.self{background:#f8fafc;color:#64748b;font-weight:700;text-align:center}
#ascApp .asc-compat-matrix td .score{font-weight:900}
#ascApp .asc-compat-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
#ascApp .asc-origin-map svg{width:100%;height:auto;display:block}
#ascApp .asc-origin-bubble circle{fill:#005eb8;fill-opacity:.18;stroke:#005eb8;stroke-width:2}
#ascApp .asc-origin-bubble text{font-size:12px;font-weight:800;fill:#005eb8}
#ascApp #ascWarningsSection,#ascApp #ascSpeciesProfileSection,#ascApp #ascSwimZoneSection,#ascApp #ascCompatChartSection,#ascApp #ascOriginMapSection{margin-top:26px !important}


/* ==== v4.1.8.3 targeted overrides ==== */
#ascApp .asc-bd-helper-warn{
  font-style: italic;
  font-weight: 500;
  color: #991b1b;
  background: #fff5f5;
  border-left: 3px solid rgba(239,68,68,.28);
  padding: 8px 10px;
  border-radius: 10px;
  margin-top: 8px;
}
#ascApp .asc-warning-text{display:block;color:#991b1b;font-style:italic;font-weight:700;line-height:1.45}
#ascApp .asc-species-guide-table{
  border: 1px solid rgba(68,155,213,.22);
  box-shadow: 0 12px 30px rgba(15,23,42,.06);
}
#ascApp .asc-species-guide-table thead th{
  background: linear-gradient(180deg, rgba(68,155,213,.12) 0%, rgba(2,116,64,.08) 100%);
  color: #005eb8;
  font-size: 13px;
}
#ascApp .asc-species-guide-table tbody th{
  color: var(--as-text);
  font-weight: 800;
  white-space: nowrap;
}
#ascApp .asc-species-guide-table td{
  font-size: 13px;
  line-height: 1.45;
}
#ascApp .asc-species-guide-table td .good{color:#027440;font-weight:800}
#ascApp .asc-species-guide-table td .bad{color:#b91c1c;font-weight:800}
#ascApp .asc-mini.info{
  background: rgba(68,155,213,.12);
  border: 1px solid rgba(68,155,213,.22);
  color: #005eb8;
  font-weight: 800;
}
#ascApp .asc-compare-stack{margin-top:18px}
#ascApp .asc-zone-grid,
#ascApp .asc-matrix-wrap,
#ascApp .asc-origin-wrap,
#ascApp .asc-species-guide-table-wrap{margin-top:10px}
#ascApp .asc-zone-note,
#ascApp .asc-zone-species{color:var(--as-text)}
#ascApp .asc-compat-matrix{
  width:100%;
  border-collapse:separate;
  border-spacing:8px;
  min-width:760px;
}
#ascApp .asc-compat-matrix thead th,
#ascApp .asc-compat-matrix tbody th{
  position: sticky;
  left: 0;
  background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
  color: #0f172a;
  z-index: 2;
  font-size: 12px;
  line-height: 1.35;
  min-width: 120px;
  max-width: 120px;
  border: 1px solid rgba(68,155,213,.18);
}
#ascApp .asc-compat-matrix thead th{top:0;z-index:3}
#ascApp .asc-compat-name{font-weight:800;white-space:normal;word-break:break-word}
#ascApp .asc-compat-matrix td{
  min-width: 96px;
  border-radius: 12px;
  padding: 12px 8px;
  text-align:center;
  vertical-align:middle;
  border:1px solid rgba(148,163,184,.18);
}
#ascApp .asc-compat-matrix td.good{background:#ecfdf5}
#ascApp .asc-compat-matrix td.warn{background:#fffbeb}
#ascApp .asc-compat-matrix td.bad{background:#fef2f2}
#ascApp .asc-compat-matrix td.self{background:#f8fafc;color:#64748b;font-weight:800}
#ascApp .asc-compat-matrix .score{font-weight:900;font-size:18px;line-height:1;color:#0f172a}
#ascApp .asc-compat-matrix .label{font-size:11px;line-height:1.2;margin-top:4px;color:#475569}
#ascApp .asc-key-good b{color:#027440}
#ascApp .asc-key-warn b{color:#b45309}
#ascApp .asc-key-bad b{color:#b91c1c}
#ascApp .asc-origin-map{
  border:1px solid rgba(68,155,213,.18);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
#ascApp .asc-origin-world{fill:#dceaf5;stroke:#9dbeda;stroke-width:1}
#ascApp .asc-origin-bubble circle{fill:#449BD5;stroke:#fff;stroke-width:1.5}
#ascApp .asc-origin-bubble text{fill:#fff;font-weight:900;font-size:11px}
#ascApp .asc-origin-pill{
  display:inline-flex;
  gap:6px;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(68,155,213,.1);
  border:1px solid rgba(68,155,213,.18);
  color:#0f172a;
  font-size:12px;
  font-weight:700;
}
@media (max-width: 900px){
  #ascApp .asc-compat-matrix{min-width:620px;border-spacing:6px}
  #ascApp .asc-compat-matrix thead th,
  #ascApp .asc-compat-matrix tbody th{min-width:96px;max-width:96px;font-size:11px}
  #ascApp .asc-compat-matrix td{min-width:78px;padding:10px 6px}
}


/* v4.1.8.4 polish */
#ascApp .asc-mini.asc-mini-brand{background:rgba(0,94,184,.12);border-color:rgba(0,94,184,.22);color:#005eb8}
#ascApp .asc-species-guide-table{min-width:980px;table-layout:fixed}
#ascApp .asc-species-guide-table th,#ascApp .asc-species-guide-table td{font-size:13px;line-height:1.35}
#ascApp .asc-species-guide-table thead th{white-space:nowrap}
#ascApp .asc-species-guide-table tbody th{min-width:170px}
#ascApp .asc-compat-matrix{width:100%;border-collapse:separate;border-spacing:8px;min-width:860px;table-layout:fixed}
#ascApp .asc-compat-matrix thead th,#ascApp .asc-compat-matrix tbody th{min-width:132px;max-width:132px;text-align:center;vertical-align:middle}
#ascApp .asc-compat-matrix td{min-width:92px;vertical-align:middle;text-align:center}
#ascApp .asc-compat-matrix .score{display:block;font-size:18px;font-weight:900;line-height:1.05}
#ascApp .asc-compat-matrix .label{display:block;margin-top:4px;font-size:11px;font-weight:800;line-height:1.15}
#ascApp .asc-origin-map{overflow:auto}
#ascApp .asc-origin-map svg{min-width:720px}
#ascApp .asc-bd-helper,#ascApp .asc-watchout-note .asc-chip.info{font-style:italic}
@media (max-width:768px){
  #ascApp .asc-species-guide-table{min-width:920px}
  #ascApp .asc-compat-matrix{min-width:760px}
  #ascApp .asc-origin-map svg{min-width:680px}
}


/* v4.1.8.5 targeted fixes */
#ascApp .asc-impact-tag{background:rgba(0,94,184,.12)!important;border-color:rgba(0,94,184,.24)!important;color:#005eb8!important;font-weight:900!important;}
#ascApp .asc-upgrade-meta .asc-impact-tag{box-shadow:0 0 0 1px rgba(0,94,184,.06) inset;}
#ascApp .asc-compat-intro{margin-bottom:4px;}
#ascApp .asc-compat-intro-gap{margin-bottom:14px;}
#ascApp .asc-matrix-wrap{overflow:auto;padding-bottom:8px;}
#ascApp .asc-compat-matrix{min-width:980px!important;table-layout:fixed!important;}
#ascApp .asc-compat-matrix thead th,#ascApp .asc-compat-matrix tbody th{width:150px!important;min-width:150px!important;max-width:150px!important;}
#ascApp .asc-compat-matrix td{width:118px!important;min-width:118px!important;max-width:118px!important;padding:12px 8px!important;}
#ascApp .asc-compat-matrix .score{font-size:20px!important;}
#ascApp .asc-compat-matrix .label{font-size:11px!important;}
#ascApp .asc-species-guide-table{min-width:1200px!important;}
#ascApp .asc-species-guide-table thead th{white-space:nowrap;}
#ascApp .asc-species-guide-table td,#ascApp .asc-species-guide-table th{padding:12px 12px!important;}
@media (max-width: 900px){#ascApp .asc-compat-matrix{min-width:900px!important;}#ascApp .asc-species-guide-table{min-width:1100px!important;}}

#ascApp .asc-mobile-only{display:none;}
@media (max-width: 768px){#ascApp .asc-mobile-only{display:block;}}
#ascApp .asc-compat-guide-note{margin-top:8px;font-style:italic;opacity:.9;}

#ascApp .asc-wc-tail{font-size:12px;opacity:.82;font-weight:700}
@media (min-width: 901px){#ascApp .asc-matrix-wrap{display:flex;justify-content:center;overflow:auto}#ascApp .asc-compat-guide-note{white-space:nowrap}}
#ascApp .asc-origin-upcoming{text-align:center;width:100%}


/* v10 targeted polish overrides */
#ascApp .asc-mobile-only{display:none}
@media (max-width:900px){#ascApp .asc-mobile-only{display:block}}
#ascApp .asc-wc-tail{font-size:12px;opacity:.78;font-weight:700}
#ascApp .asc-bd-row .asc-bd-helper{border:1px solid rgba(239,68,68,.12);background:rgba(254,242,242,.55);border-radius:10px;padding:8px 10px}
#ascApp .asc-compat-guide-note{display:block;margin-top:8px}
@media (min-width:901px){#ascApp .asc-compat-guide-note{white-space:nowrap}}
@media (min-width:901px){#ascApp .asc-matrix-wrap{display:flex;justify-content:center;overflow:auto}}
#ascApp .asc-compat-matrix{margin:0 auto;table-layout:fixed;border-collapse:separate;border-spacing:8px;min-width:780px}
#ascApp .asc-compat-matrix thead th,#ascApp .asc-compat-matrix tbody th{width:118px;min-width:118px;max-width:118px;text-align:center;vertical-align:middle;white-space:normal;word-break:break-word;padding:10px 8px}
#ascApp .asc-compat-matrix td{width:96px;min-width:96px;max-width:96px;padding:10px 6px;text-align:center;vertical-align:middle}
#ascApp .asc-compat-matrix .score{display:block;font-size:18px;font-weight:900;line-height:1.05}
#ascApp .asc-compat-matrix .label{display:block;font-size:11px;line-height:1.15;margin-top:4px}
@media (max-width:900px){
  #ascApp .asc-matrix-wrap{overflow:auto}
  #ascApp .asc-compat-matrix{min-width:620px;border-spacing:6px}
  #ascApp .asc-compat-matrix thead th,#ascApp .asc-compat-matrix tbody th{width:88px;min-width:88px;max-width:88px;font-size:11px;padding:8px 6px}
  #ascApp .asc-compat-matrix td{width:72px;min-width:72px;max-width:72px;padding:8px 4px}
  #ascApp .asc-compat-matrix .score{font-size:16px}
  #ascApp .asc-compat-matrix .label{font-size:10px}
}
#ascApp .asc-origin-wrap{display:grid;gap:14px;justify-items:center;text-align:center}
#ascApp .asc-origin-upcoming{font-weight:800;color:#334155;text-align:center;width:100%}
#ascApp .asc-origin-country-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}
#ascApp .asc-origin-country-card{border:1px solid rgba(68,155,213,.16);background:#f8fbff;border-radius:14px;padding:12px 14px;text-align:left}
#ascApp .asc-origin-country-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
#ascApp .asc-origin-flag{font-size:20px;line-height:1}
#ascApp .asc-origin-country-name{font-weight:800;color:#0f172a}
#ascApp .asc-origin-country-fish{font-size:13px;line-height:1.45;color:#334155}


/* v11 polish */
#ascApp .asc-compat-guide-note{display:block;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ascApp .asc-compat-guide-note.asc-bd-helper,#ascApp .asc-compat-guide .asc-bd-helper{font-style:italic;font-weight:400;color:var(--as-muted);background:#f8fbff;border-left:3px solid rgba(0,94,184,.18);padding:8px 10px;border-radius:10px;margin-top:8px}
#ascApp .asc-origin-wrap{text-align:center}
#ascApp .asc-origin-upcoming{display:block;text-align:center;width:100%;margin:0 auto 12px}

#ascApp .asc-compat-guide-note.asc-bd-helper{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:8px}
@media (max-width:900px){#ascApp .asc-compat-guide-note.asc-bd-helper{white-space:normal}}
#ascApp .asc-origin-upcoming{text-align:center !important;display:block;margin:0 auto 12px !important;width:100%}
