/* GemLooM Diamond Engine R5R3 - high-readability UI layer.
   Preserves the production structure while increasing legibility in Dark and Light themes. */
:root{
  --gl-ui-font:"Segoe UI Variable Text","Segoe UI",Aptos,Inter,Roboto,Arial,sans-serif;
  --gl-font-base:17px;
  --gl-line-base:1.55;
  --gl-label-size:14.5px;
  --gl-control-size:15.5px;
}
html[data-diamond-text="large"]{
  --gl-font-base:18.5px;
  --gl-label-size:15.5px;
  --gl-control-size:16.5px;
}
html[data-diamond-theme] body{
  font-family:var(--gl-ui-font) !important;
  font-size:var(--gl-font-base) !important;
  line-height:var(--gl-line-base) !important;
  letter-spacing:0 !important;
  text-rendering:optimizeLegibility !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
}
html[data-diamond-theme="dark"]{
  --gl-text:#f7fafc;
  --gl-text-soft:#e5edf4;
  --gl-muted:#bdcbd6;
  --gl-line:#3c4a56;
  --gl-input:#111a21;
  --gl-chart-text:#f4f8fb;
  --gl-chart-grid:rgba(229,237,244,.20);
}
html[data-diamond-theme="light"]{
  --gl-text:#111827;
  --gl-text-soft:#243145;
  --gl-muted:#4e5d6c;
  --gl-line:#d2d9e1;
  --gl-input:#ffffff;
  --gl-chart-text:#121b29;
  --gl-chart-grid:rgba(17,24,39,.13);
}

/* Main layout: wider input column and less cramped content. */
html[data-diamond-theme] .container{
  grid-template-columns:minmax(455px,490px) minmax(0,1fr) !important;
  gap:26px !important;
  padding:24px !important;
}
html[data-diamond-theme] .panel{
  padding:22px !important;
  border-radius:17px !important;
}
html[data-diamond-theme] .panel h3{
  font-size:25px !important;
  line-height:1.2 !important;
  font-weight:780 !important;
  letter-spacing:-.018em !important;
  margin:0 0 22px !important;
  color:var(--gl-text) !important;
}
html[data-diamond-theme] .form-section,
html[data-diamond-theme] .input-section,
html[data-diamond-theme] .section-card{
  padding:16px !important;
  margin-bottom:15px !important;
  border-radius:13px !important;
}
html[data-diamond-theme] .form-section-title,
html[data-diamond-theme] .panel h4,
html[data-diamond-theme] .form-section h4,
html[data-diamond-theme] .input-section h4,
html[data-diamond-theme] .section-card h4{
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:780 !important;
  letter-spacing:-.006em !important;
  color:var(--gl-text) !important;
}
html[data-diamond-theme] .form-section-title span{
  font-size:13.5px !important;
  line-height:1.45 !important;
  font-weight:550 !important;
  color:var(--gl-muted) !important;
}
html[data-diamond-theme] .form-help,
html[data-diamond-theme] .panel .section-sub,
html[data-diamond-theme] .panel .section-note,
html[data-diamond-theme] .panel small,
html[data-diamond-theme] .form-section small,
html[data-diamond-theme] .input-section small,
html[data-diamond-theme] .section-card small{
  font-size:14px !important;
  line-height:1.6 !important;
  font-weight:500 !important;
  color:var(--gl-muted) !important;
}
html[data-diamond-theme] label,
html[data-diamond-theme] .panel label{
  font-size:var(--gl-label-size) !important;
  line-height:1.35 !important;
  font-weight:650 !important;
  margin-bottom:7px !important;
  color:var(--gl-text-soft) !important;
}
html[data-diamond-theme] input,
html[data-diamond-theme] select,
html[data-diamond-theme] textarea,
html[data-diamond-theme] .panel input,
html[data-diamond-theme] .panel select,
html[data-diamond-theme] .panel textarea{
  min-height:43px !important;
  height:43px !important;
  padding:9px 11px !important;
  font-family:var(--gl-ui-font) !important;
  font-size:var(--gl-control-size) !important;
  font-weight:520 !important;
  line-height:1.3 !important;
  border-radius:9px !important;
}
html[data-diamond-theme] textarea{height:auto !important;min-height:94px !important}
html[data-diamond-theme] input::placeholder,
html[data-diamond-theme] textarea::placeholder{font-size:14px !important;font-weight:450 !important;opacity:.86 !important}
html[data-diamond-theme] button,
html[data-diamond-theme] .panel button{
  min-height:44px !important;
  height:44px !important;
  font-family:var(--gl-ui-font) !important;
  font-size:14.5px !important;
  font-weight:730 !important;
  letter-spacing:0 !important;
  border-radius:9px !important;
}
html[data-diamond-theme] .row-4,
html[data-diamond-theme] .row-3,
html[data-diamond-theme] .row-2,
html[data-diamond-theme] .currency-line{gap:12px !important}

/* Results and KPI hierarchy. */
html[data-diamond-theme] .kpis{gap:14px !important}
html[data-diamond-theme] .kpi{
  min-height:102px !important;
  padding:15px !important;
  font-size:15px !important;
  line-height:1.5 !important;
  border-radius:14px !important;
}
html[data-diamond-theme] .score-value{font-size:58px !important;line-height:1 !important;font-weight:800 !important}
html[data-diamond-theme] .score-label,
html[data-diamond-theme] .score-badge,
html[data-diamond-theme] .bar-row span,
html[data-diamond-theme] .decision-box{font-size:14.5px !important;line-height:1.5 !important}
html[data-diamond-theme] .bar-row span{width:96px !important;font-weight:650 !important}
html[data-diamond-theme] .big-price{font-size:33px !important;line-height:1.15 !important}

/* Charts: preserve all four charts while giving labels physical room. */
html[data-diamond-theme] .charts{gap:20px !important}
html[data-diamond-theme] .chart-box{
  min-height:390px !important;
  height:390px !important;
  padding:20px !important;
  border-radius:15px !important;
}
html[data-diamond-theme] .chart-box::before{font-size:14px !important;font-weight:700 !important}

/* Production Top Market Stones and report content. */
html[data-diamond-theme] #reportBox{
  font-size:14.5px !important;
  line-height:1.58 !important;
  padding:18px !important;
  border-radius:15px !important;
}
html[data-diamond-theme] #reportBox table{
  font-size:14px !important;
  line-height:1.48 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}
html[data-diamond-theme] #reportBox th,
html[data-diamond-theme] #reportBox td{padding:11px 12px !important;vertical-align:middle !important}
html[data-diamond-theme] #reportBox th{
  font-size:13px !important;
  font-weight:760 !important;
  letter-spacing:.01em !important;
  color:var(--gl-text-soft) !important;
}

/* Warnings are prose, not telemetry fragments. */
html[data-diamond-theme] #warningBox,
html[data-diamond-theme] .warning-box{
  font-size:14.5px !important;
  line-height:1.68 !important;
  padding:15px 16px !important;
}
html[data-diamond-theme] #warningBox li,
html[data-diamond-theme] .warning-box li{font-size:14.5px !important;line-height:1.65 !important;margin:6px 0 !important}
html[data-diamond-theme] .mode-pill{font-size:12.5px !important;line-height:1.2 !important;padding:7px 11px !important}

/* Theme + text-size selector. */
#glDiamondThemeControl{
  top:14px !important;
  right:16px !important;
  gap:5px !important;
  padding:7px !important;
  flex-wrap:wrap !important;
  max-width:min(720px,calc(100vw - 24px)) !important;
}
#glDiamondThemeControl .gl-theme-label{font-size:11.5px !important;font-weight:800 !important;padding:0 6px 0 8px !important}
#glDiamondThemeControl .gl-theme-btn,
#glDiamondThemeControl .gl-text-btn{
  min-height:34px !important;
  height:34px !important;
  min-width:60px !important;
  padding:0 12px !important;
  font-size:12.5px !important;
  line-height:32px !important;
  border-radius:999px !important;
}
#glDiamondThemeControl .gl-control-divider{height:24px;width:1px;background:var(--gl-line);margin:0 3px}

/* Scientific intelligence layer. */
html[data-diamond-theme] #r5IntelligenceMount{font-family:var(--gl-ui-font) !important;font-size:15px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-head{padding:19px 20px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-body{padding:19px 20px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-title{font-size:21px !important;line-height:1.3 !important;font-weight:800 !important;letter-spacing:-.01em !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-sub{font-size:14px !important;line-height:1.55 !important;max-width:940px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-grid{gap:13px !important;margin:14px 0 !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-card{padding:15px !important;min-height:92px !important;border-radius:12px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-k{font-size:11.5px !important;line-height:1.35 !important;font-weight:760 !important;letter-spacing:.05em !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-v{font-size:22px !important;line-height:1.25 !important;font-weight:800 !important;margin:6px 0 !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-s,
html[data-diamond-theme] #r5IntelligenceMount .r5-note{font-size:13.5px !important;line-height:1.6 !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-controls{gap:12px !important;margin:15px 0 !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-field{gap:7px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-field label{font-size:13px !important;line-height:1.35 !important;font-weight:700 !important;color:var(--gl-text-soft) !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-field select,
html[data-diamond-theme] #r5IntelligenceMount .r5-field input{min-height:42px !important;height:42px !important;padding:8px 11px !important;font-size:14px !important}
html[data-diamond-theme] #r5IntelligenceMount #r5AnalyseBtn{min-height:44px !important;padding:10px 17px !important;font-size:14px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-section{padding-top:17px !important;margin-top:17px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-section h4{font-size:15px !important;line-height:1.4 !important;font-weight:780 !important;letter-spacing:.005em !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-pill{padding:7px 10px !important;font-size:11.5px !important;line-height:1.35 !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-table{font-size:14px !important;line-height:1.5 !important;min-width:1160px !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-table th,
html[data-diamond-theme] #r5IntelligenceMount .r5-table td{padding:11px 10px !important;vertical-align:middle !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-table th{font-size:12.5px !important;font-weight:780 !important;letter-spacing:.025em !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-source-system{font-weight:750;color:var(--gl-info) !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-source-inventory{font-weight:750;color:var(--gl-ok) !important}
html[data-diamond-theme] #r5IntelligenceMount .r5-source-manual{font-weight:750;color:#d5a84b !important}

/* Clear keyboard focus. */
html[data-diamond-theme] input:focus-visible,
html[data-diamond-theme] select:focus-visible,
html[data-diamond-theme] textarea:focus-visible,
html[data-diamond-theme] button:focus-visible{outline:3px solid var(--gl-info) !important;outline-offset:2px !important}

@media(max-width:1300px){html[data-diamond-theme] .container{grid-template-columns:minmax(420px,455px) minmax(0,1fr) !important}}
@media(max-width:1100px){html[data-diamond-theme] .container{grid-template-columns:1fr !important;padding:17px !important}html[data-diamond-theme] .panel{top:0 !important}}
@media(max-width:720px){
  :root{--gl-font-base:15.5px;--gl-label-size:13.5px;--gl-control-size:14.5px}
  html[data-diamond-text="large"]{--gl-font-base:17px;--gl-label-size:14.5px;--gl-control-size:15.5px}
  html[data-diamond-theme] .container{padding:10px !important;gap:15px !important}
  html[data-diamond-theme] .panel{padding:15px !important}
  html[data-diamond-theme] .row-4{grid-template-columns:1fr 1fr !important}
  html[data-diamond-theme] .row-3{grid-template-columns:1fr !important}
  html[data-diamond-theme] .chart-box{height:350px !important;min-height:350px !important;padding:13px !important}
  #glDiamondThemeControl{top:6px !important;right:6px !important;transform:scale(.94);transform-origin:top right}
  #glDiamondThemeControl .gl-theme-label{display:none !important}
  #glDiamondThemeControl .gl-theme-btn,#glDiamondThemeControl .gl-text-btn{min-width:54px !important;padding:0 9px !important}
}

/* Base layout for the scientific intelligence section. Theme colours are inherited from r5r1-theme.css. */
#r5IntelligenceMount{margin-top:18px;color:var(--gl-text)}
#r5IntelligenceMount .r5-wrap{background:var(--gl-surface);border:1px solid var(--gl-line);border-radius:16px;overflow:hidden;box-shadow:var(--gl-shadow)}
#r5IntelligenceMount .r5-head{border-bottom:1px solid var(--gl-line);display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
#r5IntelligenceMount .r5-body{background:var(--gl-surface)}
#r5IntelligenceMount .r5-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#r5IntelligenceMount .r5-card{background:var(--gl-surface-2);border:1px solid var(--gl-line)}
#r5IntelligenceMount .r5-k{text-transform:uppercase}
#r5IntelligenceMount .r5-controls{display:flex;align-items:flex-end;flex-wrap:wrap}
#r5IntelligenceMount .r5-field{display:flex;flex-direction:column;min-width:150px;flex:0 1 190px}
#r5IntelligenceMount .r5-field.r5-wide{min-width:260px;flex:1 1 320px}
#r5IntelligenceMount .r5-field select,#r5IntelligenceMount .r5-field input{background:var(--gl-input);color:var(--gl-text);border:1px solid var(--gl-line)}
#r5IntelligenceMount #r5AnalyseBtn{background:var(--gl-text);color:var(--gl-bg);border:1px solid var(--gl-text);cursor:pointer}
#r5IntelligenceMount #r5AnalyseBtn:disabled{opacity:.6;cursor:wait}
#r5IntelligenceMount .r5-section{border-top:1px solid var(--gl-line)}
#r5IntelligenceMount .r5-scroll{overflow:auto;max-width:100%}
#r5IntelligenceMount .r5-table{width:100%;border-collapse:collapse}
#r5IntelligenceMount .r5-table th,#r5IntelligenceMount .r5-table td{border-bottom:1px solid var(--gl-line);text-align:left;white-space:nowrap}
#r5IntelligenceMount .r5-table th{color:var(--gl-muted);text-transform:uppercase}
#r5IntelligenceMount .r5-pill{display:inline-block;border:1px solid var(--gl-line);border-radius:999px;margin:2px;color:var(--gl-text-soft)}
#r5IntelligenceMount .r5-pill.ok{color:var(--gl-ok)}
#r5IntelligenceMount .r5-pill.bad{color:var(--gl-bad)}
#r5IntelligenceMount .r5-market-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}
#r5IntelligenceMount .r5-market-head strong{font-size:18px}
#r5IntelligenceMount .r5-market-head span{font-size:13px;color:var(--gl-muted)}
#r5IntelligenceMount .r5-market-summary{margin-top:14px;padding:13px 14px;border-left:4px solid var(--gl-ok);background:color-mix(in srgb,var(--gl-ok) 7%,var(--gl-surface-2));line-height:1.6;border-radius:8px}
#r5IntelligenceMount .r5-market-note{font-size:13px;color:var(--gl-muted);line-height:1.55;margin-top:9px}
#reportBox .r5-legacy-market .r5-scroll{overflow:auto;max-width:100%}
#reportBox .r5-legacy-market .r5-table{min-width:1160px;width:100%;border-collapse:collapse}
#reportBox .r5-legacy-market .r5-table th,#reportBox .r5-legacy-market .r5-table td{border-bottom:1px solid var(--gl-line);text-align:left;white-space:nowrap}
#reportBox .r5-legacy-market .r5-market-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}
#reportBox .r5-legacy-market .r5-market-head strong{font-size:20px}
#reportBox .r5-legacy-market .r5-market-head span{font-size:13px;color:var(--gl-muted)}
#reportBox .r5-legacy-market .r5-market-summary{margin-top:14px;padding:14px 15px;border-left:4px solid var(--gl-ok);background:color-mix(in srgb,var(--gl-ok) 7%,var(--gl-surface-2));line-height:1.65;border-radius:9px}
#reportBox .r5-legacy-market .r5-market-note{font-size:13.5px;color:var(--gl-muted);line-height:1.55;margin-top:10px}
@media(max-width:980px){#r5IntelligenceMount .r5-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){#r5IntelligenceMount .r5-grid{grid-template-columns:1fr}}
html[data-diamond-theme] .chart-box{position:relative !important}
html[data-diamond-theme] .gl-light-status{
  position:absolute;left:14px;right:14px;bottom:10px;z-index:2;
  padding:7px 10px;border-radius:8px;border:1px solid var(--gl-line);
  background:color-mix(in srgb,var(--gl-surface) 92%,transparent);
  color:var(--gl-muted);font-size:12.5px;line-height:1.35;text-align:center;
  pointer-events:none;
}

/* R5R4 - identity at entry, integrated intelligence placement, chart empty states. */
.gl-diamond-type-row{
  margin-top:12px !important;
  padding:12px !important;
  border:1px solid var(--gl-line) !important;
  border-radius:11px !important;
  background:color-mix(in srgb,var(--gl-info) 5%,var(--gl-surface-2)) !important;
}
.gl-required{
  display:inline-block;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--gl-info);
  border:1px solid color-mix(in srgb,var(--gl-info) 42%,var(--gl-line));
}
.gl-field-note{
  margin-top:6px;
  font-size:12.5px;
  line-height:1.45;
  color:var(--gl-muted);
}
#r5IntelligenceMount{
  margin:16px 0 20px !important;
}
#r5IntelligenceMount .r5-intelligence-compact .r5-head{
  padding:16px 18px !important;
}
#r5IntelligenceMount .r5-intelligence-compact .r5-body{
  padding:15px 18px !important;
}
#r5IntelligenceMount .r5-identity-strip{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) auto;
  gap:12px;
  align-items:end;
  padding:12px;
  border:1px solid var(--gl-line);
  border-radius:12px;
  background:var(--gl-surface-2);
}
#r5IntelligenceMount .r5-identity-strip > div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
#r5IntelligenceMount .r5-identity-strip strong{
  font-size:17px;
  line-height:1.25;
  color:var(--gl-text);
}
#r5IntelligenceMount .r5-identity-strip select{
  min-height:40px;
  height:40px;
  background:var(--gl-input);
  color:var(--gl-text);
  border:1px solid var(--gl-line);
  border-radius:9px;
  padding:7px 10px;
  font-size:14px;
}
#r5IntelligenceMount .r5-advanced{
  margin-top:14px;
  border:1px solid var(--gl-line);
  border-radius:11px;
  background:var(--gl-surface-2);
  overflow:hidden;
}
#r5IntelligenceMount .r5-advanced summary{
  cursor:pointer;
  padding:12px 14px;
  font-size:13.5px;
  line-height:1.4;
  font-weight:750;
  color:var(--gl-text-soft);
}
#r5IntelligenceMount .r5-advanced[open] summary{
  border-bottom:1px solid var(--gl-line);
}
#r5IntelligenceMount .r5-controls-advanced{
  padding:14px;
  margin:0 !important;
}
.gl-chart-empty{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:3;
  padding:8px 10px;
  border:1px solid var(--gl-line);
  border-radius:8px;
  background:color-mix(in srgb,var(--gl-surface) 92%,transparent);
  color:var(--gl-muted);
  font-size:12.5px;
  line-height:1.4;
  text-align:center;
}
@media(max-width:850px){
  #r5IntelligenceMount .r5-identity-strip{grid-template-columns:1fr 1fr}
  #r5IntelligenceMount .r5-identity-strip #r5AnalyseBtn{grid-column:1/-1}
}
@media(max-width:560px){
  #r5IntelligenceMount .r5-identity-strip{grid-template-columns:1fr}
  #r5IntelligenceMount .r5-identity-strip #r5AnalyseBtn{grid-column:auto}
}

/* R5R5 - strict Natural/Laboratory-Grown comparable identity lock */
.r5-identity-lock{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 14px;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid var(--gl-border,#2c3945);
  border-radius:12px;
  background:color-mix(in srgb, var(--gl-panel,#111820) 88%, #4ea1ff 12%);
  font-size:13.5px;
  line-height:1.45;
}
.r5-identity-lock strong{font-size:14.5px;letter-spacing:.01em}
.r5-identity-lock span{opacity:.86}
.r5-type-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid currentColor;
  font-weight:800;
  font-size:11.5px;
  white-space:nowrap;
}
.r5-type-badge.natural{color:#55d49a}
.r5-type-badge.lgd{color:#79aefc}
html[data-theme='light'] .r5-type-badge.natural{color:#087a50}
html[data-theme='light'] .r5-type-badge.lgd{color:#1d5fae}
