.analytics-dialog {
  --an-bg: #edf3f8; --an-card: #ffffff; --an-text: #15324a; --an-muted: #516a7f; --an-line: #cedce7; --an-accent: #007aa8; --an-input: #f5f9fc;
  width: calc(100vw - 24px); max-width: 1840px; height: calc(100dvh - 24px); max-height: none;
  margin: auto; padding: 0; border: 1px solid var(--an-line); border-radius: 16px;
  background: var(--an-bg); color: var(--an-text); font-size:13px; line-height:1.45; font-family:inherit;
  box-shadow: 0 20px 90px #001d3955; overflow: auto;
}
.analytics-dialog::backdrop { background: #03111dd9; backdrop-filter: blur(4px); }
body[data-theme-active="dark"] .analytics-dialog {
  --an-bg: #051727; --an-card: #092337; --an-text: #e7f3fe; --an-muted: #9bb4c9; --an-line: #1a4059; --an-accent: #43d0ff; --an-input: #061b2c;
}
.analytics-dialog [hidden] { display: none !important; }
.an-shell { padding: 18px; background: radial-gradient(ellipse at 65% 0%, #1680b211, transparent 50%); min-height: 100%; }
.an-header { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 2px 0 17px; border-bottom: 1px solid var(--an-line); }
.an-eyebrow { display: block; color: var(--an-accent); font-size: 10px; letter-spacing: 2px; font-weight: 750; }
.an-header h2 { font-size: 25px; letter-spacing: -.5px; margin: 3px 0 0; }
.an-header h2 span { color: var(--an-muted); font-weight: 400; margin-left: 9px; }
.an-header-actions { display: flex; gap: 7px; }
.analytics-dialog button { border: 1px solid var(--an-line); border-radius: 6px; padding: 8px 11px; background: var(--an-input); color: var(--an-text); font-size: 12px; cursor: pointer; min-height: 35px; }
.analytics-dialog button:hover { border-color: var(--an-accent); }
.analytics-dialog button:focus-visible, .analytics-dialog input:focus-visible, .analytics-dialog select:focus-visible { outline: 2px solid var(--an-accent); outline-offset: 2px; }
.analytics-dialog button:disabled { opacity: .5; cursor: wait; }
.an-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; padding: 14px 0; }
.analytics-dialog label { display: grid; gap: 4px; color: var(--an-muted); font-size: 10px; font-weight: 650; text-transform: uppercase; letter-spacing: .4px; }
.analytics-dialog input, .analytics-dialog select {
  background: var(--an-input) !important; color: var(--an-text) !important; border: 1px solid var(--an-line) !important;
  border-radius: 6px; min-height: 36px; padding: 7px 9px; font: inherit; width: 100%; box-sizing: border-box;
}
.an-controls label { min-width: 112px; flex: 1; }
.an-controls input[type="date"] { min-width: 139px; }
.an-controls .an-custom-norm { max-width: 115px; }
.an-settings { border: 1px solid var(--an-accent); border-radius: 9px; background: var(--an-card); padding: 14px; margin-bottom: 12px; }
.an-settings p { margin: 4px 0 10px; color: var(--an-muted); }
.an-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.an-settings fieldset { border: 1px solid var(--an-line); border-radius: 6px; padding: 10px; display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.an-settings legend { padding: 0 5px; font-weight: 700; }
.an-settings label { flex: 1; min-width: 95px; }
.an-setting-actions { display: flex; gap: 8px; margin-top: 12px; }
.analytics-dialog [data-action="apply"] { background: #0879ae; color: white; }
.an-error { margin: 8px 0; border: 1px solid #d64c5e; padding: 10px; border-radius: 7px; color: #be243d; background: #ffedf0; }
.an-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.an-metrics button { min-height: 44px; font-weight: 650; }
.an-metrics button[aria-pressed="true"] { color: #fff; background: linear-gradient(120deg, #006997, #008fd0); border-color: #12b9eb; box-shadow: 0 0 16px #008fc01f; }
.an-context { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding: 14px 0; }
.an-context>div { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.an-context strong { font-size: 18px; }
.an-context span:not(.an-country-mark), .an-context-note { font-size: 11px; color: var(--an-muted); }
.an-country-mark { background: linear-gradient(#e72d36 50%, #fff 50%); box-shadow: 0 0 0 1px var(--an-line); width: 34px; height: 25px; border-radius: 4px; color: #132d41; text-align: center; font-weight: 900; font-size: 10px; line-height: 29px; }
.an-context-note button { min-height: 27px; font-size: 10px; padding: 4px 8px; }
.an-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.an-card { background: linear-gradient(145deg, var(--an-card), var(--an-input)); border: 1px solid var(--an-line); padding: 13px; border-radius: 10px; min-width: 0; }
.an-card h3 { font-size: 13px; line-height: 1.4; margin: 0; font-weight: 700; }
.an-card h3 small { font-size: 11px; font-weight: 400; color: var(--an-muted); }
.an-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-bottom: 7px; }
.an-card-heading>small { color: var(--an-muted); font-size: 10px; }
.an-gauge-row { display: flex; align-items: center; gap: 8px; }
.an-gauge { width: 56%; max-width: 205px; flex-shrink: 0; height: auto; color: var(--an-text); overflow: visible; }
.an-zones { flex: 1; font-size: 10px; min-width: 0; }
.an-zones>div { display: flex; align-items: center; gap: 5px; margin-bottom: 7px; }
.an-zones span { flex: 1; }
.an-zones b { font-variant-numeric: tabular-nums; }
.analytics-dialog i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--dot); flex-shrink: 0; }
.an-kpi { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 6px; }
.an-kpi strong { font-size: 21px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.an-kpi strong small { font-size: 12px; font-weight: 400; }
.an-kpi span { text-align: right; color: var(--an-muted); font-size: 10px; }
.an-caption { margin-top: 6px; color: var(--an-muted); font-size: 10px; line-height: 1.5; }
.an-well-select { margin-top: 8px; }
.an-well-card>.an-gauge { width: 48%; max-width: 132px; display: block; margin: auto; }
.an-well-hours { font-size: 39px; font-weight: 750; line-height: 1.25; padding: 11px 0 8px; color: var(--an-accent); }
.an-well-hours small { display: block; font-size: 10px; font-weight: 400; color: var(--an-muted); }
.an-well-card>p:not(.an-caption) { font-size: 11px; padding-top: 7px; }
.an-stack { height: 9px; border-radius: 5px; background: var(--an-line); overflow: hidden; display: flex; }
.an-stack span { height: 100%; }
.an-table-card { padding: 10px; }
.an-table-card .an-card-heading button { padding: 3px 6px; font-size: 10px; min-height: 27px; }
.an-table-scroll { overflow: auto; max-height: 231px; scrollbar-width: thin; }
.an-expanded .an-table-scroll { max-height: 65vh; }
.analytics-dialog table { border-collapse: collapse; width: 100%; font-size: 10px; text-align: left; }
.analytics-dialog th { color: var(--an-muted); background: var(--an-input); position: sticky; top: 0; z-index: 1; font-weight: 600; white-space: nowrap; }
.analytics-dialog th, .analytics-dialog td { padding: 7px 5px; border-bottom: 1px solid var(--an-line); }
.analytics-dialog td { font-variant-numeric: tabular-nums; }
.an-table-card td:first-child { min-width: 85px; max-width: 160px; }
.an-table-card td:not(:first-child) { white-space: nowrap; }
.an-status { color: var(--dot); font-weight: 600; font-size: 9px; }
.an-conflict-marker { color: #d58d16; }
.an-bottom { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.an-trend { display: block; width: 100%; margin-top: 15px; }
.an-inline-legend { display: flex; gap: 12px; font-size: 10px; margin-top: 8px; flex-wrap: wrap; }
.an-inline-legend span:nth-child(1) { color: #19a96d; }
.an-inline-legend span:nth-child(2) { color: #bf7a0b; }
.an-inline-legend span:nth-child(3) { color: #e34259; }
.an-donut-row { display: flex; align-items: center; min-height: 186px; }
.an-donut { width: 45%; max-width: 210px; flex-shrink: 0; }
.an-breakdown { flex: 1; min-width: 0; }
.an-legend-line { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 5px; font-size: 10px; margin: 10px 0; }
.an-legend-line small { grid-column: 2 / -1; color: var(--an-muted); }
.an-legend-line strong { white-space: nowrap; }
.an-takeaways { margin: 9px 0 0; padding-left: 15px; font-size: 11px; }
.an-takeaways li { margin: 0 0 8px; }
.an-takeaways li::marker { color: var(--an-accent); }
.an-quality { background: #af851b15; border: 1px solid #bca15f77; padding: 8px 11px; margin-bottom: 10px; border-radius: 6px; color: var(--an-text); font-size: 11px; }
.an-audit { margin-top: 10px; }
.an-audit summary { font-weight: 700; cursor: pointer; }
.an-audit>p, .an-audit>ul { color: var(--an-muted); margin: 8px 0; font-size: 11px; }
.an-audit ul { padding-left: 20px; }
.an-audit table { font-size: 11px; }
.an-audit .an-table-scroll { max-height: 320px; }
.an-empty { padding: 18px !important; color: var(--an-muted); text-align: center; }
.an-footer { display: flex; justify-content: space-between; gap: 10px; color: var(--an-muted); border-top: 1px solid var(--an-line); font-size: 10px; margin-top: 15px; padding-top: 10px; }
@media (max-width: 1200px) {
  .an-gauge-row { flex-direction: column; }
  .an-gauge { width: 75%; }
  .an-zones { width: 100%; }
  .an-zones>div { margin-bottom: 4px; }
  .an-kpi { flex-wrap: wrap; }
  .an-bottom { grid-template-columns: 1fr 1fr; }
  .an-takeaways { columns: 2; column-gap: 30px; }
  .an-takeaways li { break-inside: avoid; }
}
@media (max-width: 900px) {
  .an-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .an-gauge-row { flex-direction: row; }
  .an-gauge { width: 52%; }
  .an-settings-grid { grid-template-columns: 1fr; }
  .an-header h2 { font-size: 21px; }
}
@media (max-width: 600px) {
  .analytics-dialog { width: 100vw; height: 100dvh; border-radius: 0; border: 0; }
  .an-shell { padding: 12px; }
  .an-header { align-items: start; }
  .an-header-actions { flex-direction: column; gap: 4px; }
  .an-header-actions button { padding: 5px 8px; min-height: 31px; }
  .an-eyebrow { font-size: 8px; letter-spacing: 1px; }
  .an-header h2 span { display: block; margin: 0; }
  .an-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .an-controls label { min-width: 0; }
  .an-controls input[type="date"] { min-width: 0; }
  .an-metrics { grid-template-columns: 1fr 1fr; }
  .an-metrics button { font-size: 10px; padding: 6px; }
  .an-context>div { gap: 7px; }
  .an-context-note { width: 100%; justify-content: space-between; }
  .an-grid, .an-bottom { grid-template-columns: 1fr; }
  .an-bottom>.an-card:last-child { grid-column: auto; }
  .an-gauge-row { gap: 14px; }
  .an-zones { font-size: 12px; }
  .an-zones>div { margin-bottom: 9px; }
  .an-takeaways { columns: 1; }
  .an-footer { flex-direction: column; }
  .analytics-dialog table { font-size: 11px; }
}
/* Instrument-panel presentation; calculation rules live in analytics-engine.js. */
.analytics-dialog {
  --an-bg:#eaf1f6; --an-card:#fff; --an-input:#f2f7fb; --an-text:#143348; --an-muted:#557187; --an-line:#bed3e1; --an-accent:#0089bb;
  --an-dial-rim:#c3d6e3; --an-dial-face:#edf4f8;
  width:100vw; max-width:none; height:100dvh; border:0; border-radius:0;
  font-family:inherit; font-size:13px;
}
body[data-theme-active="dark"] .analytics-dialog {
  --an-bg:#001521; --an-card:#032031; --an-input:#001a29; --an-text:#e8f4ff; --an-muted:#9cb8ca; --an-line:#16445c; --an-accent:#00c8fa;
  --an-dial-rim:#0a3448; --an-dial-face:#002334; color-scheme:dark;
}
.an-shell { padding:0 12px 12px; background:radial-gradient(ellipse at 42% 12%,#00648b22,transparent 60%); }
.an-header { min-height:58px; padding:9px 4px; gap:18px; }
.an-brand { display:flex; align-items:center; gap:17px; min-width:0; }
.an-brand>strong { font-size:24px; letter-spacing:-.7px; font-weight:750; }
.an-brand>span { color:var(--an-accent); border-left:1px solid var(--an-line); padding-left:17px; font-size:19px; font-weight:650; white-space:nowrap; }
.an-brand h2 { border-left:1px solid var(--an-line); padding-left:17px; margin:0; font-size:14px; font-weight:400; color:var(--an-muted); }
.an-header-actions { flex-direction:row; }
.analytics-dialog button { border-radius:5px; font-size:12px; }
.an-controls { gap:10px; padding:10px 3px; align-items:end; }
.an-controls label { flex:1; font-size:9px; letter-spacing:.65px; }
.analytics-dialog input,.analytics-dialog select { min-height:35px; font-size:12px; border-radius:4px; }
.an-hero { display:grid; grid-template-columns:minmax(300px,1.05fr) minmax(480px,1.5fr) minmax(195px,.55fr); gap:9px; margin-bottom:10px; min-height:155px; }
.an-context { display:flex; flex-direction:column; align-items:stretch; justify-content:center; margin:0; padding:23px 20px 14px; gap:16px; border-radius:5px; border:1px solid #245169;
 background:linear-gradient(90deg,#00182bed,#00233975 66%,#00213715),url('./assets/analytics-indonesia.png') center / cover; color:#fff; }
.an-context .an-country-title { display:flex; align-items:center; gap:17px; }
.an-context .an-country-title>div { min-width:0; }
.an-context .an-country-mark { width:67px; height:45px; flex-shrink:0; border-radius:4px; background:linear-gradient(#ed152c 0 50%,#fff 50%); box-shadow:0 5px 20px #0005,inset 0 0 0 1px #ffffff44; }
.an-context strong { display:block; font-size:36px; line-height:1.15; letter-spacing:-1px; color:white; }
.an-context .an-eyebrow { font-size:8px; letter-spacing:1.3px; color:#a2e3ff; margin-bottom:4px; }
.an-context p { margin:9px 0 0; font-size:12px; color:#e4f2fa; }
.an-context em { font-style:normal; padding:0 6px; color:#80a9be; }
.an-context .an-country-period { color:#bfd9e8; font-size:10px; letter-spacing:.8px; }
.an-metric-panel { border:1px solid var(--an-line); border-radius:5px; background:linear-gradient(130deg,var(--an-card),var(--an-input)); padding:12px; display:flex; flex-direction:column; }
.an-metric-panel>p { margin:0 0 10px; font-size:13px; font-weight:600; }
.an-metric-panel>p span { font-size:10px; font-weight:400; color:var(--an-muted); margin-left:6px; }
.an-metrics { flex:1; margin:0; gap:5px; }
.an-metrics button { padding:10px 9px; text-align:left; min-width:0; font-weight:400; }
.an-metrics button strong { display:block; font-size:12px; line-height:1.4; font-weight:600; }
.an-metrics button small { display:block; font-size:10px; line-height:1.5; color:var(--an-muted); margin-top:9px; }
.an-metrics button[aria-pressed="true"] { background:linear-gradient(135deg,#0069b9,#008fd1); border-color:#20c7ff; color:#fff; box-shadow:inset 0 1px 0 #ffffff30,0 4px 14px #008bce25; }
.an-metrics button[aria-pressed="true"] small { color:#ddf3ff; }
.an-threshold-legend { padding:10px 12px; border:1px solid var(--an-line); border-radius:5px; background:var(--an-input); }
.an-threshold-legend h3 { margin:0 0 7px; font-size:11px; font-weight:600; }
.an-threshold-legend>div { display:flex; align-items:center; gap:8px; margin:5px 0; font-size:10px; }
.an-threshold-legend>div span { flex:1; }
.an-threshold-legend b { font-weight:400; }
.an-threshold-legend button { width:100%; min-height:25px; padding:3px 7px; margin-top:5px; font-size:10px; }
.an-grid { gap:8px; margin-bottom:8px; }
.an-card { border-radius:5px; padding:12px; background:linear-gradient(120deg,var(--an-card),var(--an-input)); box-shadow:inset 0 1px 0 #ffffff05,0 4px 14px #00111b0a; }
.an-card h3 { font-size:14px; font-weight:600; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.an-card h3 small { font-size:11px; }
.an-card-heading { margin-bottom:8px; align-items:start; }
.an-card-heading>small { font-size:9px; white-space:nowrap; padding-top:5px; }
.an-heading-metric { color:var(--an-accent); font-size:11px; font-weight:400; }
.an-icon { width:24px; height:24px; flex-shrink:0; }
.an-gauge-row { flex-direction:row; gap:10px; justify-content:space-between; }
.an-gauge { width:55%; max-width:235px; }
.an-needle { filter:drop-shadow(0 0 3px #88dcff99); }
.an-zones { font-size:11px; }
.an-zones>div { gap:7px; margin-bottom:12px; }
.an-zones small { width:27px; text-align:right; font-size:9px; color:var(--an-muted); }
.analytics-dialog i { width:10px; height:10px; box-shadow:inset 0 1px 2px #ffffff55,0 0 7px color-mix(in srgb,var(--dot) 20%,transparent); }
.an-kpi { margin:0; justify-content:center; flex-direction:column; align-items:center; gap:2px; }
.an-kpi strong { font-size:24px; font-weight:600; letter-spacing:-.5px; }
.an-kpi span { font-size:11px; }
.an-resource-card>.an-caption { text-align:center; margin:3px 0 0; }
.an-well-card { display:flex; flex-direction:column; }
.an-well-card .an-well-select { margin-top:0; }
.an-well-hours { font-size:47px; padding:10px 0 6px; font-weight:600; }
.an-well-hours small { font-size:11px; }
.an-well-card>.an-gauge { width:49%; max-width:170px; margin:0 auto; }
.an-well-card>.an-caption { margin-top:auto; padding-top:8px; }
.an-table-card { padding:10px; }
.analytics-dialog table { font-size:11px; }
.analytics-dialog th { font-size:10px; font-weight:400; }
.analytics-dialog th,.analytics-dialog td { padding:8px 6px; }
.analytics-dialog tbody tr:nth-child(even) { background:color-mix(in srgb,var(--an-line) 13%,transparent); }
.analytics-dialog tbody tr:hover { background:color-mix(in srgb,var(--an-accent) 8%,transparent); }
.an-table-scroll { scrollbar-color:var(--an-line) var(--an-input); max-height:242px; }
.an-table-card td:first-child { min-width:76px; }
.an-util-cell { display:flex; gap:6px; align-items:center; color:var(--dot); }
.an-util-cell b { font-weight:650; min-width:35px; text-align:right; font-size:10px; }
.an-mini-meter { display:block; width:26px; height:17px; background:var(--an-dial-rim); border-radius:3px; overflow:hidden; }
.an-mini-meter i { display:block; height:100%; border-radius:2px; box-shadow:inset 0 1px 2px #ffffff55; }
.an-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.an-bottom { grid-template-columns:1.2fr 1fr 1fr; gap:8px; }
.an-bottom h3 { font-size:13px; }
.an-bottom .an-card { padding:13px; }
.an-trend { margin-top:9px; }
.an-donut-row { min-height:192px; }
.an-donut { width:46%; }
.an-legend-line { font-size:11px; gap:8px; }
.an-takeaways { font-size:11px; line-height:1.6; columns:auto; }
.an-takeaways li { margin-bottom:9px; }
.an-takeaways li::marker { font-size:16px; }
.an-quality { padding:5px 10px; font-size:10px; margin-bottom:8px; }
.an-footer { align-items:center; padding:13px 5px 2px; }
.an-footer b { font-size:16px; color:var(--an-text); }
.an-footer-divider { border-left:1px solid var(--an-line); margin-left:12px; padding-left:12px; }
.an-updated { color:var(--an-accent); }
@media (min-width:1650px) {
  .an-hero { grid-template-columns:1.15fr 1.5fr .55fr; min-height:172px; }
  .an-context strong { font-size:43px; }
  .an-gauge { max-width:255px; }
  .an-zones { font-size:12px; }
  .an-card h3 { font-size:15px; }
  .analytics-dialog table { font-size:12px; }
}
@media (max-width:1200px) {
  .an-hero { grid-template-columns:1fr 1.5fr; }
  .an-threshold-legend { grid-column:1/-1; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .an-threshold-legend h3 { margin:0; }
  .an-threshold-legend button { width:auto; margin:0 0 0 auto; }
  .an-threshold-legend>div { margin:0; }
  .an-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .an-bottom { grid-template-columns:1fr 1fr; }
  .an-bottom>.an-card:last-child { grid-column:1/-1; }
  .an-takeaways { columns:2; }
}
@media (max-width:760px) {
  .an-brand { gap:10px; }
  .an-brand>strong { font-size:19px; }
  .an-brand>span { padding-left:10px; font-size:15px; }
  .an-brand h2 { display:none; }
  .an-hero { grid-template-columns:1fr; }
  .an-context { min-height:158px; }
  .an-metric-panel { min-height:146px; }
  .an-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .an-threshold-legend { gap:8px 14px; }
  .an-threshold-legend h3 { width:100%; }
  .an-gauge-row { gap:7px; }
  .an-zones { font-size:10px; }
  .an-zones small { display:none; }
}
@media (max-width:600px) {
  .an-shell { padding:0 8px 8px; }
  .an-header { gap:8px; }
  .an-header-actions button { min-height:32px; font-size:10px; padding:5px 7px; }
  .an-controls { grid-template-columns:1fr 1fr; gap:8px; }
  .an-controls input,.an-controls select { width:100%; min-width:0; }
  .an-context .an-country-title { gap:14px; }
  .an-context strong { font-size:37px; }
  .an-context .an-country-mark { width:62px; height:43px; }
  .an-context p { font-size:11px; }
  .an-metrics { grid-template-columns:1fr 1fr; }
  .an-metrics button { min-height:70px; }
  .an-metrics button small { margin-top:3px; }
  .an-grid,.an-bottom { grid-template-columns:1fr; }
  .an-bottom>.an-card:last-child { grid-column:auto; }
  .an-gauge { width:55%; max-width:230px; }
  .an-zones { font-size:11px; }
  .an-zones small { display:block; }
  .an-card h3 { font-size:14px; }
  .an-kpi { flex-wrap:nowrap; }
  .an-takeaways { columns:1; }
  .an-threshold-legend>div { font-size:10px; }
  .an-threshold-legend button { margin-left:0; }
  .an-footer { align-items:start; gap:8px; }
}
@media (min-width:1301px) {
  .an-header { gap:14px; }
  .an-header .an-controls { flex:1; min-width:0; flex-wrap:nowrap; margin:0; padding:0; gap:7px; }
  .an-header .an-controls label { min-width:80px; }
  .an-header .an-controls input,.an-header .an-controls select { min-width:0; width:100%; }
  .an-header .an-controls [name="from"],.an-header .an-controls [name="through"] { min-width:118px; }
  .an-header .an-controls button { padding:7px; }
  .an-header-actions button { padding:7px; }
  .an-hero { margin-top:8px; }
}
@media (min-width:1301px) and (max-width:1800px) { .an-brand h2 { display:none; } }
@media (max-width:1300px) {
  .an-header { flex-wrap:wrap; }
  .an-header .an-controls { order:3; flex-basis:100%; padding:0 0 3px; }
  .an-header-actions { margin-left:auto; }
  .an-hero { margin-top:8px; }
}
.an-kpi strong .an-norm-value { font-size:21px; color:var(--an-text); letter-spacing:-.5px; }
@media (min-width:1301px) {
  .an-hero { min-height:139px; }
  .an-context { padding-top:15px; padding-bottom:12px; gap:12px; }
  .an-table-scroll { max-height:210px; }
  .an-audit .an-table-scroll { max-height:320px; }
  .an-expanded .an-table-scroll { max-height:65vh; }
  .an-trend { height:165px; }
}
/* Readable desktop typography without changing the mobile density. */
@media (min-width:1000px) {
  .analytics-dialog { font-size:15px; }
  .an-brand h2 { font-size:16px; }
  .an-header .an-controls label { font-size:11px; letter-spacing:.4px; }
  .analytics-dialog input,.analytics-dialog select { font-size:14px; min-height:39px; }
  .analytics-dialog button { font-size:13px; }
  .an-header-actions button { font-size:13px; }
  .an-card h3,.an-bottom h3 { font-size:17px; gap:7px; }
  .an-heading-metric { font-size:13px; }
  .an-card-heading>small { font-size:11px; }
  .an-metric-panel>p { font-size:15px; }
  .an-metric-panel>p span { font-size:12px; }
  .an-metrics button strong { font-size:14px; }
  .an-metrics button small { font-size:12px; line-height:1.5; }
  .an-threshold-legend h3 { font-size:13px; }
  .an-threshold-legend>div { font-size:12px; gap:7px; }
  .an-threshold-legend button { font-size:12px; min-height:30px; }
  .an-context p { font-size:14px; }
  .an-context .an-country-period { font-size:12px; }
  .an-context .an-eyebrow { font-size:10px; }
  .an-zones { font-size:12px; line-height:1.45; }
  .an-zones>div { gap:5px; margin-bottom:11px; }
  .an-zones small { font-size:11px; width:30px; }
  .an-kpi strong { font-size:28px; }
  .an-kpi strong .an-norm-value { font-size:25px; }
  .an-kpi strong small { font-size:15px; }
  .an-kpi span,.an-caption { font-size:12px; }
  .an-well-select { font-size:12px; }
  .an-well-hours small,.an-well-card>p:not(.an-caption) { font-size:14px; }
  .analytics-dialog table { font-size:13px; line-height:1.5; }
  .analytics-dialog th { font-size:12px; }
  .an-table-card th { white-space:normal; }
  .analytics-dialog th,.analytics-dialog td { padding:9px 5px; }
  .an-table-card td:first-child { min-width:85px; }
  .an-util-cell { gap:5px; }
  .an-util-cell b { font-size:12px; min-width:40px; }
  .an-mini-meter { width:22px; height:18px; }
  .an-table-card .an-card-heading button { font-size:12px; min-height:31px; }
  .an-table-scroll { max-height:252px; }
  .an-expanded .an-table-scroll { max-height:65vh; }
  .an-legend-line { font-size:13px; }
  .an-legend-line small { font-size:12px; }
  .an-inline-legend { font-size:12px; }
  .an-takeaways { font-size:14px; line-height:1.55; }
  .an-quality { font-size:12px; padding:7px 10px; }
  .an-audit summary { font-size:15px; }
  .an-audit>p,.an-audit>ul,.an-audit table { font-size:13px; }
  .an-footer { font-size:12px; }
  .an-card h3 small { font-size:13px; }
  .an-trend { height:190px; }
  .an-trend text { font-size:11px; }
  .an-gauge text[font-size="9"] { font-size:11px; }
  .an-gauge text[font-size="8"] { font-size:10px; letter-spacing:.5px; }
}
@media (min-width:1650px) {
  .analytics-dialog table { font-size:14px; }
  .an-zones { font-size:13px; }
  .an-card h3 { font-size:18px; }
}
.analytics-dialog[data-location="UAE"] .an-context,
.analytics-dialog[data-location="KSA"] .an-context {
  background:linear-gradient(90deg,#00182bee,#00233988),url('./assets/header-bg.jpg') center / cover;
}
.analytics-dialog[data-location="UAE"] .an-country-mark {
  background:linear-gradient(90deg,#e52533 0 25%,transparent 25%),linear-gradient(#168447 0 33.333%,#fff 33.333% 66.666%,#111 66.666%);
}
.analytics-dialog[data-location="KSA"] .an-country-mark {
  background:#087d43; color:white; display:grid; place-items:center; font-size:20px; font-weight:700; letter-spacing:2px;
}
.analytics-dialog .an-sort-button { border:0; background:transparent; padding:0; min-height:30px; font:inherit; color:inherit; display:flex; align-items:center; gap:5px; text-align:left; width:100%; }
.an-sort-button span { color:var(--an-accent); font-size:10px; white-space:nowrap; }
.analytics-dialog th[aria-sort]:not([aria-sort="none"]) { color:var(--an-accent); }
@media (min-width:1000px) {
 .analytics-dialog { font-family:inherit; font-size:16px; }
 .analytics-dialog table,.analytics-dialog th,.an-util-cell b { font-size:16px; }
 .analytics-dialog th,.analytics-dialog td { padding:12px 7px; }
 .an-table-card td:first-child { min-width:110px; }
 .an-table-scroll { max-height:340px; }
 .an-expanded .an-table-scroll { max-height:70vh; }
 .an-card h3,.an-bottom h3 { font-size:20px; }
 .an-heading-metric,.an-card h3 small { font-size:15px; }
 .an-zones,.an-legend-line,.an-takeaways { font-size:16px; }
 .an-zones small,.an-card-heading>small { font-size:13px; }
 .an-caption,.an-kpi span,.an-quality,.an-footer { font-size:14px; }
 .an-metrics button strong,.analytics-dialog input,.analytics-dialog select,.analytics-dialog button { font-size:16px; }
 .an-metrics button small,.an-threshold-legend>div { font-size:14px; }
 .an-header .an-controls label { font-size:13px; }
 .an-gauge-row { gap:8px; }
 .an-zones small { display:none; }
 .an-gauge { width:51%; }
 .an-table-card .an-card-heading button { font-size:14px; }
 .an-util-cell b { min-width:48px; }
 .an-header { flex-wrap:wrap; }
 .an-header .an-controls { order:3; flex-basis:100%; }
 .an-header-actions { margin-left:auto; }
}
@media (min-width:1000px) and (max-width:1699px) {
 .an-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.an-novomet-logo { width:170px; height:auto; display:block; }
body[data-theme-active="dark"] .an-novomet-logo { filter:brightness(0) invert(1); }
.analytics-dialog[data-location="UAE"] .an-context { background:linear-gradient(90deg,#00182bd9,#00233933),url('./assets/analytics-uae.png') center / cover; }
.analytics-dialog[data-location="KSA"] .an-context { background:linear-gradient(90deg,#00182bd9,#00233933),url('./assets/analytics-ksa.png') center / cover; }
.analytics-dialog[data-location="KSA"] .an-country-mark { background:#006c35 url('./assets/flag-sa.svg') center / contain no-repeat; }
.an-report-scope { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; padding:14px 16px; margin-bottom:10px; border:1px solid var(--an-line); border-radius:5px; background:var(--an-card); }
.an-report-scope>div { display:flex; align-items:center; gap:12px; }
.an-report-scope strong { color:var(--an-accent); font-size:26px; font-variant-numeric:tabular-nums; }
.an-report-scope span { font-size:13px; color:var(--an-muted); }
.an-report-scope p { grid-column:1/-1; margin:0; font-size:12px; color:var(--an-muted); }
@media(max-width:1000px) { .an-report-scope { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .an-novomet-logo { width:108px; } .an-report-scope { grid-template-columns:1fr 1fr; } .an-report-scope>div { gap:8px; } .an-report-scope strong { font-size:23px; } .an-report-scope span { font-size:12px; } }
/* Shared application font and readable, responsive Analytics type scale. */
.analytics-dialog {
  font-family:inherit;
  --an-reading: max(18px, var(--base-font-size,16px));
  --an-control: clamp(30px,1.5vw,36px);
  --an-label: 18px;
  font-size:var(--an-reading);
}
.analytics-dialog button,.analytics-dialog input,.analytics-dialog select,.analytics-dialog textarea { font-family:inherit; }
.analytics-dialog .an-header .an-controls { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)) auto; align-items:end; gap:14px; width:100%; flex-basis:100%; padding:10px 0 16px; }
.analytics-dialog .an-controls label { font-size:var(--an-label); letter-spacing:.3px; line-height:1.4; min-width:0; gap:8px; }
.analytics-dialog .an-controls input,.analytics-dialog .an-controls select {
  font-size:max(var(--an-control),var(--base-font-size,16px)); font-weight:400; line-height:1.25;
  min-width:0; width:100%; min-height:68px; height:auto; padding:10px 13px;
}
.analytics-dialog .an-controls option { font:inherit; }
.analytics-dialog .an-controls button { font-size:24px; min-height:68px; padding:10px 18px; }
.analytics-dialog .an-controls:has(.an-custom-norm:not([hidden])) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.analytics-dialog .an-metric-panel { padding:18px; }
.analytics-dialog .an-metric-panel>p { font-size:22px; line-height:1.4; margin-bottom:12px; }
.analytics-dialog .an-metric-panel>p span { font-size:17px; }
.analytics-dialog .an-metrics { align-items:stretch; gap:8px; }
.analytics-dialog .an-metrics button { font-size:var(--an-control); padding:18px 14px; min-height:145px; line-height:1.25; }
.analytics-dialog .an-metrics button strong { font-size:var(--an-control); line-height:1.25; font-weight:500; overflow-wrap:normal; }
.analytics-dialog .an-metrics button small { font-size:18px; line-height:1.5; margin-top:12px; }
.analytics-dialog .an-threshold-legend { padding:16px; }
.analytics-dialog .an-threshold-legend h3 { font-size:20px; line-height:1.4; }
.analytics-dialog .an-threshold-legend>div { font-size:17px; margin:8px 0; }
.analytics-dialog .an-threshold-legend button { font-size:20px; min-height:42px; }
.analytics-dialog .an-header-actions button { font-size:20px; min-height:44px; padding:8px 14px; }
.analytics-dialog .an-brand h2 { font-size:20px; }
.analytics-dialog .an-brand>span { font-size:26px; }
.analytics-dialog .an-country-title strong { font-size:48px; }
.analytics-dialog .an-country-title p { font-size:18px; line-height:1.5; }
.analytics-dialog .an-context .an-eyebrow { font-size:14px; }
.analytics-dialog .an-country-period { font-size:16px; }
.analytics-dialog .an-card h3,.analytics-dialog .an-bottom h3 { font-size:24px; font-weight:500; }
.analytics-dialog .an-heading-metric,.analytics-dialog .an-card h3 small { font-size:18px; }
.analytics-dialog .an-card-heading>small { font-size:16px; }
.analytics-dialog .an-zones,.analytics-dialog .an-legend-line,.analytics-dialog .an-takeaways { font-size:var(--an-reading); }
.analytics-dialog table,.analytics-dialog th,.analytics-dialog .an-util-cell b { font-size:var(--an-reading); }
.analytics-dialog .an-caption,.analytics-dialog .an-quality,.analytics-dialog .an-footer,.analytics-dialog .an-report-scope span,.analytics-dialog .an-report-scope p { font-size:16px; }
.analytics-dialog .an-settings { font-size:18px; }
.analytics-dialog .an-settings label { font-size:18px; }
.analytics-dialog .an-settings input { font-size:24px; min-height:50px; }
.analytics-dialog .an-settings button { font-size:20px; min-height:46px; }
.analytics-dialog .an-well-select { font-size:18px; }
.analytics-dialog .an-well-select select { font-size:28px; min-height:60px; padding:8px 12px; }
.analytics-dialog .an-report-scope strong { font-size:32px; }
@media (min-width:1800px) {
 .analytics-dialog { --an-control:36px; --an-label:20px; }
 .analytics-dialog .an-metrics button small { font-size:20px; }
}
@media (max-width:1399px) {
 .analytics-dialog .an-header .an-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .analytics-dialog .an-hero { grid-template-columns:1fr 1.4fr; }
 .analytics-dialog .an-threshold-legend { grid-column:1/-1; display:flex; align-items:center; gap:12px 24px; flex-wrap:wrap; }
 .analytics-dialog .an-threshold-legend button { width:auto; margin-left:auto; }
 .analytics-dialog .an-metrics { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
 .analytics-dialog { --an-control:22px; --an-label:16px; --an-reading:max(16px,var(--base-font-size,16px)); }
 .analytics-dialog .an-header .an-controls { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:6px 0 10px; }
 .analytics-dialog .an-controls input,.analytics-dialog .an-controls select { min-height:54px; padding:8px 9px; }
 .analytics-dialog .an-controls button { min-height:54px; font-size:20px; padding:8px; }
 .analytics-dialog .an-header-actions button { font-size:16px; min-height:40px; padding:7px 9px; }
 .analytics-dialog .an-brand>span { font-size:20px; }
 .analytics-dialog .an-hero { grid-template-columns:1fr; }
 .analytics-dialog .an-context { min-height:185px; }
 .analytics-dialog .an-country-title strong { font-size:42px; }
 .analytics-dialog .an-country-title p { font-size:16px; }
 .analytics-dialog .an-context .an-eyebrow { font-size:12px; }
 .analytics-dialog .an-country-period { font-size:14px; }
 .analytics-dialog .an-metric-panel { padding:12px; }
 .analytics-dialog .an-metric-panel>p { font-size:20px; }
 .analytics-dialog .an-metric-panel>p span { display:block; font-size:15px; margin:4px 0 0; }
 .analytics-dialog .an-metrics button { min-height:130px; padding:13px 10px; }
 .analytics-dialog .an-metrics button small { font-size:16px; margin-top:9px; }
 .analytics-dialog .an-threshold-legend h3 { font-size:20px; width:100%; }
 .analytics-dialog .an-threshold-legend>div { font-size:16px; }
 .analytics-dialog .an-threshold-legend button { margin-left:0; }
 .analytics-dialog .an-card h3 { font-size:22px; }
 .analytics-dialog .an-heading-metric { font-size:16px; }
 .analytics-dialog .an-card-heading>small { font-size:14px; }
 .analytics-dialog .an-zones { font-size:16px; }
 .analytics-dialog .an-zones small { display:none; }
 .analytics-dialog .an-caption,.analytics-dialog .an-quality,.analytics-dialog .an-report-scope span,.analytics-dialog .an-report-scope p { font-size:14px; }
 .analytics-dialog .an-well-select select { font-size:24px; min-height:54px; }
}

.analytics-dialog .an-controls .an-custom-norm { max-width:none; }
@media(max-width:760px) {
 .analytics-dialog .an-header .an-controls:has(.an-custom-norm:not([hidden])) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.analytics-dialog .an-util-cell { position:relative; }
/* Analytics has its own saved reading scale. Native controls share one box model. */
.analytics-dialog {
 --an-scale:1;
 --an-control:calc(26px * var(--an-scale));
 --an-reading:calc(17px * var(--an-scale));
 --an-label:calc(16px * var(--an-scale));
 --an-control-height:calc(56px * var(--an-scale));
}
.analytics-dialog .an-brand { gap:10px; }
.analytics-dialog .an-brand .an-novomet-logo { width:36px; height:36px; object-fit:contain; filter:none; border-radius:5px; flex-shrink:0; }
.analytics-dialog .an-brand>strong { font-size:26px; letter-spacing:0; }
.analytics-dialog .an-header .an-controls { grid-template-columns:repeat(6,minmax(0,1fr)) auto; align-items:end; gap:12px; }
.analytics-dialog .an-header .an-controls label {
 display:grid; grid-template-rows:calc(24px * var(--an-scale)) var(--an-control-height);
 align-content:end; gap:6px; min-width:0; width:100%; margin:0; line-height:1.25;
}
.analytics-dialog .an-header .an-controls input,
.analytics-dialog .an-header .an-controls select,
.analytics-dialog .an-header .an-controls button {
 box-sizing:border-box; display:block; width:100%; min-width:0; max-width:100%;
 height:var(--an-control-height); min-height:var(--an-control-height); max-height:var(--an-control-height);
 margin:0; padding:0 10px; font-size:var(--an-control); line-height:1.2;
 border-width:1px; border-style:solid; border-radius:5px; align-self:end;
}
.analytics-dialog .an-header .an-controls button { width:auto; font-size:calc(19px * var(--an-scale)); }
.analytics-dialog .an-controls input[type="date"] { appearance:none; -webkit-appearance:none; }
.analytics-dialog .an-controls input::-webkit-datetime-edit { padding:0; min-width:0; }
.analytics-dialog .an-controls input::-webkit-date-and-time-value { text-align:left; min-height:0; }
.analytics-dialog .an-controls input::-webkit-calendar-picker-indicator { margin:0 0 0 4px; padding:0; flex-shrink:0; }
.analytics-dialog .an-metrics button { min-height:calc(120px * var(--an-scale)); padding:14px 12px; }
.analytics-dialog .an-metrics button small { font-size:calc(17px * var(--an-scale)); }
.analytics-dialog .an-card h3,.analytics-dialog .an-bottom h3 { font-size:calc(22px * var(--an-scale)); }
.analytics-dialog .an-heading-metric,.analytics-dialog .an-card h3 small { font-size:calc(17px * var(--an-scale)); }
.analytics-dialog .an-caption,.analytics-dialog .an-quality,.analytics-dialog .an-report-scope span,.analytics-dialog .an-report-scope p { font-size:calc(15px * var(--an-scale)); }
.analytics-dialog .an-threshold-legend>div { font-size:calc(16px * var(--an-scale)); }
.analytics-dialog .an-table-card th,.analytics-dialog .an-table-card td { padding:calc(10px * var(--an-scale)) 7px; }
.analytics-dialog .an-well-select select { font-size:var(--an-control); height:var(--an-control-height); min-height:var(--an-control-height); padding:0 10px; }
.analytics-dialog .an-settings input { font-size:var(--an-control); min-height:var(--an-control-height); }
@media(max-width:1399px) {
 .analytics-dialog .an-header .an-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .analytics-dialog { --an-control:calc(20px * var(--an-scale)); --an-reading:calc(16px * var(--an-scale)); --an-label:calc(14px * var(--an-scale)); --an-control-height:calc(50px * var(--an-scale)); }
 .analytics-dialog .an-header .an-controls,
 .analytics-dialog .an-header .an-controls:has(.an-custom-norm:not([hidden])) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .analytics-dialog .an-header .an-controls label { grid-template-rows:calc(22px * var(--an-scale)) var(--an-control-height); }
 .analytics-dialog .an-metrics button small { font-size:calc(15px * var(--an-scale)); }
 .analytics-dialog .an-brand { gap:7px; }
 .analytics-dialog .an-brand .an-novomet-logo { width:26px; height:26px; }
 .analytics-dialog .an-brand>strong { font-size:20px; }
 .analytics-dialog .an-brand>span { padding-left:7px; font-size:17px; }
 .analytics-dialog .an-header-actions { gap:4px; }
 .analytics-dialog .an-header-actions button { font-size:14px; padding:5px 7px; }
}
@media(max-width:450px) {
 .analytics-dialog[data-ui-scale="130"] .an-header .an-controls,
 .analytics-dialog[data-ui-scale="130"] .an-header .an-controls:has(.an-custom-norm:not([hidden])) { grid-template-columns:1fr; }
}
@media(max-width:360px) {
 .analytics-dialog[data-ui-scale="115"] .an-header .an-controls,
 .analytics-dialog[data-ui-scale="115"] .an-header .an-controls:has(.an-custom-norm:not([hidden])) { grid-template-columns:1fr; }
}

/* Keep the location and existing recommendations together above metric controls. */
.analytics-dialog .an-personnel-meter { display:flex; flex-direction:column; align-items:center; text-align:center; margin:0 auto 14px; }
.analytics-dialog .an-personnel-meter svg { display:block; width:100%; max-width:310px; height:auto; filter:drop-shadow(0 4px 6px #001d3920); }
.analytics-dialog .an-personnel-meter strong { font-size:calc(21px * var(--an-scale)); line-height:1.4; overflow-wrap:anywhere; }
.analytics-dialog .an-personnel-meter>span { color:var(--an-muted); font-size:calc(15px * var(--an-scale)); }
.analytics-dialog .an-personnel-reading { display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:8px; margin:4px 0 8px; }
.analytics-dialog .an-personnel-reading strong { color:var(--personnel-color); font-size:calc(42px * var(--an-scale)); font-weight:800; line-height:1.1; }
.analytics-dialog .an-personnel-reading span { color:var(--an-muted); font-size:calc(16px * var(--an-scale)); }
.analytics-dialog .an-meter-values { display:grid; gap:8px; margin:0 0 6px; width:100%; text-align:left; }
.analytics-dialog .an-meter-values>div { display:grid; grid-template-columns:minmax(65px,auto) minmax(0,1fr); align-items:center; gap:12px; padding:8px 10px; border:1px solid var(--an-line); border-radius:5px; background:var(--an-input); }
.analytics-dialog .an-meter-values dd { margin:0; font-size:calc(26px * var(--an-scale)); font-weight:750; color:var(--an-text); overflow-wrap:anywhere; }
.analytics-dialog .an-meter-values dt { font-size:calc(14px * var(--an-scale)); line-height:1.35; color:var(--an-text); }
.analytics-dialog .an-meter-values small { display:block; font-size:calc(12px * var(--an-scale)); color:var(--an-muted); }
.analytics-dialog .an-personnel-zones { width:100%; }
.analytics-dialog .an-personnel-zones small { display:block; }
.analytics-dialog .an-personnel-formula { overflow-wrap:anywhere; text-align:left; }
.analytics-dialog .an-hero { grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:stretch; }
.analytics-dialog .an-takeaways-card { display:flex; flex-direction:column; min-width:0; padding:14px 16px; }
.analytics-dialog .an-takeaways-card h3 { font-size:calc(18px * var(--an-scale)); line-height:1.35; }
.analytics-dialog .an-takeaways-body { min-height:0; max-height:calc(190px * var(--an-scale)); overflow:auto; scrollbar-width:thin; margin-top:8px; }
.analytics-dialog .an-takeaways-body:focus-visible { outline:2px solid var(--an-accent); outline-offset:2px; }
.analytics-dialog .an-takeaways { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; columns:auto; margin:0; padding-left:18px; font-size:calc(14px * var(--an-scale)); line-height:1.45; }
.analytics-dialog .an-takeaways li { margin:0; overflow-wrap:anywhere; }
.analytics-dialog .an-metric-row { display:grid; grid-template-columns:minmax(0,3fr) minmax(240px,1fr); gap:9px; margin-bottom:10px; }
.analytics-dialog .an-metric-row .an-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.analytics-dialog .an-metric-row .an-threshold-legend { grid-column:auto; display:block; }
.analytics-dialog .an-metric-row .an-threshold-legend>div { display:flex; }
@media(max-width:1100px) {
 .analytics-dialog .an-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); }
 .analytics-dialog .an-takeaways { grid-template-columns:1fr; }
 .analytics-dialog .an-metric-row { grid-template-columns:minmax(0,1fr); }
 .analytics-dialog .an-metric-row .an-threshold-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; }
}
@media(max-width:760px) {
 .analytics-dialog .an-hero { grid-template-columns:minmax(0,1fr); }
 .analytics-dialog .an-takeaways-card { padding:12px; }
 .analytics-dialog .an-takeaways-body { max-height:none; overflow:visible; }
 .analytics-dialog .an-metric-row .an-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.analytics-dialog:not([data-location="NALI"]):not([data-location="UAE"]):not([data-location="KSA"]) .an-context { background:linear-gradient(120deg,#062438,#146184); }
.analytics-dialog:not([data-location="NALI"]):not([data-location="UAE"]):not([data-location="KSA"]) .an-country-mark { background:linear-gradient(135deg,#1b9cdd,#084563); }
.an-tools-card label,.an-tool-norms label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.an-tools-card select,.an-tool-norms input,.an-tool-norms select { max-width:100%; width:100%; min-width:0; }
.an-tool-model { display:block; color:var(--an-muted); font-size:12px; white-space:normal; }
.an-tool-norm-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; border:0; padding:16px 0; }
.an-tools-table table { min-width:960px; }
.an-tools-card .an-meter-values { flex-wrap:wrap; }
.an-tools-card .an-meter-values>div { flex:1 1 40%; }
@media(max-width:760px) { .an-tool-norm-fields { grid-template-columns:1fr; } }
.an-resource-card .an-card-heading,.an-tools-card .an-card-heading { position:relative; }
.an-coefficient-meta { position:absolute; top:0; right:0; display:flex; flex-direction:column; align-items:flex-end; gap:2px; z-index:1; }
.an-coefficient-meta small { line-height:15px; }
.analytics-dialog .an-coefficient-control { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; gap:4px; margin:0; font-size:11px; line-height:20px; text-transform:none; }
.analytics-dialog .an-coefficient-control select,.analytics-dialog .an-coefficient-control input { height:22px; min-height:22px; padding:1px 3px; font:inherit; width:64px; max-width:64px; }
.analytics-dialog .an-coefficient-control input { width:53px; max-width:53px; }
.an-coefficient-control input[aria-invalid="true"] { outline:1px solid #f35b6b; }
.an-resource-card .an-card-heading:has(.an-coefficient-meta) h3,.an-tools-card .an-card-heading:has(.an-coefficient-meta) h3 { padding-right:110px; }
.an-card-heading:has(.an-coefficient-meta) .an-heading-metric { display:none; }
.an-tool-calendar-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(115px,.85fr); gap:8px; margin-bottom:8px; }
.an-tool-calendar-controls input { width:100%; min-width:0; }
.an-tool-operating-hours { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 0; border-top:1px solid var(--an-line); }
.an-tool-operating-hours strong,.an-tool-operating-hours span { display:block; }
.an-tool-operating-hours strong { font-size:24px; }
.an-tool-operating-hours span { font-size:12px; color:var(--an-muted); }
.analytics-dialog .an-coefficient-control select[name="toolServiceYears"] { width:76px; max-width:76px; }
.an-tools-card .an-meter-values>div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.an-tools-card input[aria-invalid="true"] { outline:1px solid #f35b6b; }
.analytics-dialog .an-well-summary { font-size:14px; margin:0 0 8px; }
.an-well-color-key { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--an-muted); }
.an-well-color-key i { flex:1; height:7px; border-radius:6px; background:linear-gradient(90deg,#258be8,#25cc86,#ffb547,#f35b6b); }
.analytics-dialog .an-well-card>.an-well-color-note { margin:6px 0 12px; padding:0; font-size:12px; }
.an-well-matrix { display:grid; grid-template-columns:repeat(auto-fit,minmax(85px,1fr)); align-content:start; gap:16px 8px; list-style:none; margin:0; padding:4px; min-height:260px; max-height:none; overflow:auto; scrollbar-width:thin; flex:1 1 0; contain:size; }
.an-well-matrix li { min-width:0; }
.analytics-dialog .an-well-tile { display:flex; flex-direction:column; align-items:center; gap:7px; width:100%; padding:3px; border:0; border-radius:8px; background:transparent; color:var(--an-text); cursor:pointer; }
.an-well-name { display:flex; align-items:flex-end; justify-content:center; min-height:2.6em; font-size:14px; line-height:1.3; overflow-wrap:anywhere; text-align:center; }
.an-well-circle { width:76px; height:76px; flex:none; box-sizing:border-box; border:4px solid var(--well-color); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:color-mix(in srgb,var(--well-color) 18%,var(--an-dial-face)); }
.an-well-circle strong { font-size:22px; line-height:1.2; font-variant-numeric:tabular-nums; }
.an-well-circle small { font-size:12px; line-height:1; color:var(--an-muted); }
.an-well-tile.is-zero .an-well-circle { border-width:2px; opacity:.65; background:transparent; }
.an-well-tile[aria-pressed="true"] .an-well-circle { outline:2px solid var(--an-text); outline-offset:3px; }
.an-well-tile:focus-visible { outline:2px solid var(--an-accent); outline-offset:2px; }
.an-well-detail { display:flex; flex-direction:column; gap:5px; border-top:1px solid var(--an-line); margin-top:16px; padding-top:12px; font-size:14px; }

/* Let the well matrix fill the stretched indicator card, including after scaling. */
.analytics-dialog .an-well-card { min-height:max(420px,calc(640px * var(--an-scale))); }
.analytics-dialog .an-well-matrix { grid-template-columns:repeat(auto-fit,minmax(max(58px,calc(85px * var(--an-scale))),1fr)); gap:calc(16px * var(--an-scale)) 8px; }
.analytics-dialog .an-well-circle { width:max(50px,calc(76px * var(--an-scale))); height:max(50px,calc(76px * var(--an-scale))); }
.analytics-dialog .an-well-circle strong { font-size:max(14px,calc(22px * var(--an-scale))); }
.analytics-dialog .an-well-name { font-size:max(11px,calc(14px * var(--an-scale))); }
.analytics-dialog .an-personnel-meter svg { max-width:calc(310px * var(--an-scale)); }
.analytics-dialog .an-takeaways-card h3 { font-size:max(20px,calc(24px * var(--an-scale))); }
.analytics-dialog .an-takeaways-body { max-height:none; overflow:visible; font-size:max(16px,calc(19px * var(--an-scale))); line-height:1.5; }
.an-takeaway-sections { display:flex; flex-direction:column; }
.an-takeaway-section { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid var(--an-line); }
.analytics-dialog .an-takeaways-body h4 { margin:0; font-size:max(18px,calc(21px * var(--an-scale))); color:var(--an-accent); }
.an-takeaway-section p,.an-executive-recommendations p { margin:0 0 4px; overflow-wrap:anywhere; }
.an-takeaway-section strong { font-size:max(22px,calc(28px * var(--an-scale))); color:var(--an-text); }
.an-executive-recommendations { margin-top:16px; padding:14px; border:1px solid var(--an-line); border-left:4px solid var(--an-accent); border-radius:8px; background:var(--an-dial-face); }
.an-executive-recommendations ul { margin:8px 0 0; padding-left:22px; }
.an-executive-recommendations li { margin-bottom:8px; overflow-wrap:anywhere; }
@media(max-width:760px) { .an-takeaway-section { grid-template-columns:1fr; gap:4px; } }
/* Full-width, shallow Location banner followed by the executive summary. */
.analytics-dialog .an-hero { grid-template-columns:minmax(0,1fr); align-items:start; }
.analytics-dialog .an-hero>.an-context {
 min-width:0; min-height:180px; box-sizing:border-box; padding:24px;
 flex-direction:row; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 24px;
 background-size:cover; background-position:center; background-repeat:no-repeat;
}
.analytics-dialog .an-context .an-country-title { min-width:0; max-width:100%; flex-wrap:nowrap; }
.analytics-dialog .an-country-title strong,.analytics-dialog .an-country-title p { overflow-wrap:anywhere; }
.analytics-dialog .an-context .an-country-period { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.analytics-dialog .an-hero>.an-takeaways-card { width:100%; box-sizing:border-box; }
@media(max-width:760px) {
 .analytics-dialog .an-hero>.an-context { min-height:170px; padding:18px; gap:12px; flex-direction:column; align-items:stretch; justify-content:flex-end; }
 .analytics-dialog .an-context .an-country-title { gap:12px; }
 .analytics-dialog .an-context .an-country-mark { width:46px; height:32px; }
 .analytics-dialog .an-context .an-country-title strong { font-size:32px; }
 .analytics-dialog .an-context .an-country-title p { font-size:15px; }
}
/* Compact overview: indicators left, recommendations right, stacked on phones. */
.analytics-dialog .an-metric-row .an-metric-panel { padding:10px 12px; min-height:0; }
.analytics-dialog .an-metric-row .an-metric-panel>p { font-size:16px; margin-bottom:6px; }
.analytics-dialog .an-metric-row .an-metric-panel>p span { font-size:12px; }
.analytics-dialog .an-metric-row .an-metrics { flex:0; }
.analytics-dialog .an-metric-row .an-metrics button { min-height:max(54px,calc(64px * var(--an-scale))); padding:8px 10px; }
.analytics-dialog .an-metric-row .an-metrics button strong { font-size:max(14px,calc(18px * var(--an-scale))); }
.analytics-dialog .an-metric-row .an-metrics button small { font-size:max(11px,calc(13px * var(--an-scale))); margin-top:4px; }
.analytics-dialog .an-metric-row .an-threshold-legend { padding:10px 12px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; }
.analytics-dialog .an-metric-row .an-threshold-legend h3,.analytics-dialog .an-metric-row .an-threshold-legend button { grid-column:1/-1; }
.analytics-dialog .an-metric-row .an-threshold-legend h3 { font-size:16px; margin:0 0 6px; }
.analytics-dialog .an-metric-row .an-threshold-legend>div { font-size:13px; margin:3px 0; }
.analytics-dialog .an-metric-row .an-threshold-legend button { font-size:13px; min-height:28px; padding:3px 8px; }
.an-tool-overview-controls { align-items:end; }
.an-tool-overview-controls>strong { font-size:16px; padding-bottom:8px; }
.analytics-dialog .an-tools-table table { min-width:520px; }
.analytics-dialog .an-settings { scroll-margin-top:12px; }
.analytics-dialog .an-settings fieldset { min-width:0; }
.analytics-dialog .an-settings input { max-width:100%; }
.analytics-dialog .an-takeaways-body { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:start; gap:20px; }
.an-takeaway-sections,.an-executive-recommendations { min-width:0; }
.an-takeaway-section { padding:8px 0; }
.an-executive-recommendations { margin-top:0; }
.analytics-dialog .an-header .an-controls { --an-control:max(13px,calc(18px * var(--an-scale))); --an-control-height:max(30px,calc(38px * var(--an-scale))); gap:8px; }
.analytics-dialog .an-header .an-controls label { font-size:max(11px,calc(12px * var(--an-scale))); grid-template-rows:auto var(--an-control-height); gap:4px; }
.analytics-dialog .an-header .an-controls button { font-size:max(12px,calc(15px * var(--an-scale))); }
.analytics-dialog .an-hero>.an-context { min-height:116px; padding:14px 20px; gap:10px 20px; }
.analytics-dialog .an-context .an-country-title strong { font-size:34px; }
.analytics-dialog .an-context .an-country-title p { font-size:15px; margin-top:5px; }
.analytics-dialog .an-context .an-eyebrow { font-size:11px; }
.analytics-dialog .an-context .an-country-period { font-size:13px; }
.analytics-dialog .an-context .an-country-mark { width:50px; height:34px; }
@media(max-width:900px) {
 .analytics-dialog .an-takeaways-body { grid-template-columns:minmax(0,1fr); gap:14px; }
}
@media(max-width:760px) {
 .analytics-dialog .an-hero>.an-context { min-height:132px; padding:12px 14px; gap:8px; }
 .analytics-dialog .an-context .an-country-title strong { font-size:28px; }
 .analytics-dialog .an-context .an-country-title p { font-size:14px; }
 .analytics-dialog .an-context .an-country-mark { width:40px; height:28px; }
}

/* Compact executive columns: General first; recommendations alongside. */
.analytics-dialog .an-takeaways-body { grid-template-columns:minmax(0,2.4fr) minmax(280px,1fr); gap:16px; font-size:max(15px,calc(17px * var(--an-scale))); }
.analytics-dialog .an-takeaway-sections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.analytics-dialog .an-takeaway-section { display:flex; flex-direction:column; gap:8px; min-width:0; padding:4px 12px 4px 0; border-bottom:0; border-right:1px solid var(--an-line); }
.analytics-dialog .an-takeaway-section:last-child { border-right:0; padding-right:0; }
.analytics-dialog .an-takeaway-section strong { display:block; font-size:max(22px,calc(26px * var(--an-scale))); line-height:1.2; margin-bottom:4px; }
.analytics-dialog .an-takeaway-section p { margin-bottom:8px; }
.analytics-dialog .an-executive-recommendations { padding:10px 12px; font-size:max(14px,calc(16px * var(--an-scale))); }
.analytics-dialog .an-executive-recommendations li { margin-bottom:5px; }
@media(max-width:1200px) { .analytics-dialog .an-takeaways-body { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) { .analytics-dialog .an-takeaway-sections { grid-template-columns:repeat(2,minmax(0,1fr)); } .analytics-dialog .an-takeaway-section { border-right:0; border-bottom:1px solid var(--an-line); padding:4px 0 8px; } }
@media(max-width:380px) { .analytics-dialog .an-takeaway-sections { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) {
 .analytics-dialog .an-gauges { grid-template-columns:minmax(0,1fr); }
}
.analytics-dialog .an-takeaways-body { grid-template-columns:minmax(0,1fr); }
.an-section-recommendations { border-top:1px solid var(--an-line); padding-top:10px; color:var(--an-text); }
.an-section-recommendations ul { list-style:none; margin:0; padding:0; }
.an-section-recommendations li { display:grid; grid-template-columns:10px minmax(0,1fr); gap:8px; margin:0 0 10px; font-size:inherit; line-height:1.5; overflow-wrap:anywhere; }
.an-priority-dot { width:9px; height:9px; border-radius:50%; margin-top:.45em; background:#258be8; }
[data-priority="critical"] .an-priority-dot { background:#e14c55; }
[data-priority="warning"] .an-priority-dot { background:#e6ae21; }
[data-priority="normal"] .an-priority-dot { background:#22aa72; }
.an-priority-label { font-weight:700; }

/* Shared rows keep recommendation headings aligned within each responsive row. */
.analytics-dialog .an-takeaway-section { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:subgrid; grid-row:span 3; align-content:start; }
.an-summary-npt { display:flex; flex-wrap:wrap; gap:0 16px; }
.an-summary-npt p { flex:1 1 150px; }
@media(max-width:560px) { .analytics-dialog .an-takeaway-sections { grid-template-columns:minmax(0,1fr); } }

.an-conflict-assignment { min-width:230px; padding:8px 0; white-space:normal; overflow-wrap:anywhere; }
.an-conflict-assignment + .an-conflict-assignment { border-top:1px solid var(--an-line); }

.analytics-dialog .an-hero { grid-template-columns:minmax(0,2fr) minmax(380px,1fr); }
.analytics-dialog .an-hero>.an-context { grid-column:1 / -1; }
.an-work-ranking { min-width:0; padding:14px; }
.an-work-scroll { max-height:330px; overflow:auto; }
.an-work-ranking table { width:100%; border-collapse:collapse; font-size:max(15px,calc(17px * var(--an-scale))); }
.an-work-ranking th,.an-work-ranking td { padding:7px 5px; text-align:left; border-bottom:1px solid var(--an-line); overflow-wrap:anywhere; }
.an-work-ranking th { position:sticky; top:0; background:var(--an-bg); }
.an-work-bar { display:block; height:4px; background:var(--an-line); margin-top:3px; }
.an-work-bar i { display:block; height:100%; background:var(--an-accent); }
.analytics-dialog .an-conflict-review { font-size:max(16px,calc(18px * var(--an-scale))); line-height:1.5; padding:16px; }
.an-conflict-review summary { cursor:pointer; color:var(--an-text); }
.an-conflict-list { max-height:540px; overflow:auto; }
.an-conflict-item { padding:12px 0; border-bottom:1px solid var(--an-line); }
.an-conflict-records { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.an-conflict-records article { padding:12px; border:1px solid var(--an-line); overflow-wrap:anywhere; }
.an-conflict-records p { margin:5px 0; }
@media(max-width:1400px) { .analytics-dialog .an-hero { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { .an-conflict-records { grid-template-columns:minmax(0,1fr); } .an-work-ranking table { font-size:15px; } }

/* Let the summary set the desktop row height; scroll work rows within it. */
@media(min-width:1401px) {
 .analytics-dialog .an-work-ranking { contain:size; align-self:stretch; min-height:0; display:flex; flex-direction:column; }
 .analytics-dialog .an-work-ranking>h3,.analytics-dialog .an-work-ranking>.an-caption { flex-shrink:0; }
 .analytics-dialog .an-work-scroll { flex:1; min-height:0; max-height:none; }
}

/* Compact threshold editor directly below Location. */
.analytics-dialog .an-hero>.an-settings { grid-column:1 / -1; margin:0; padding:10px 12px; font-size:13px; border-color:var(--an-line); }
.analytics-dialog .an-settings h3 { font-size:16px; margin:0 0 4px; }
.analytics-dialog .an-settings p { font-size:13px; margin:3px 0 6px; }
.analytics-dialog .an-settings label { font-size:12px; min-width:110px; gap:3px; }
.analytics-dialog .an-settings legend { font-size:13px; }
.analytics-dialog .an-settings input { font-size:16px; min-height:32px; padding:4px 7px; }
.analytics-dialog .an-settings button { font-size:14px; min-height:32px; padding:4px 9px; }
.analytics-dialog .an-settings fieldset { padding:6px 8px; gap:8px; }
.analytics-dialog .an-settings-grid { gap:10px; }
.analytics-dialog .an-setting-actions { margin-top:7px; }
@media(max-width:760px) { .analytics-dialog .an-settings-grid { grid-template-columns:minmax(0,1fr); } }

/* Well detail dialog uses the dashboard theme and native modal focus handling. */
.an-well-modal { box-sizing:border-box; width:min(660px,calc(100vw - 28px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; border:1px solid var(--an-line); border-radius:20px; background:var(--an-card); color:var(--an-text); box-shadow:0 28px 100px #001d3966; overflow:auto; font-family:inherit; font-size:18px; line-height:1.35; }
.an-well-modal .an-eyebrow { font-size:13px; }
.an-person-matrix-section { margin-top:16px; padding-top:12px; border-top:1px solid var(--an-line); }
.an-person-matrix-section h4 { margin:0; font-size:20px; }
.an-person-matrix-section>p { font-size:16px; color:var(--an-muted); margin:6px 0 12px; }
 .an-person-matrix { display:grid; grid-template-columns:repeat(auto-fill,minmax(70px,1fr)); gap:4px; max-height:370px; overflow:auto; list-style:none; padding:3px; margin:0; }
.analytics-dialog .an-person-matrix button { width:100%; height:100%; display:flex; align-items:center; flex-direction:column; gap:0; padding:3px 1px; border-color:transparent; background:transparent; border-radius:8px; }
.analytics-dialog .an-person-matrix button:hover { background:var(--an-input); border-color:var(--an-line); }
.an-person-matrix strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; font-size:13px; font-weight:400; line-height:1.15; height:2.3em; }
.an-person-figure { position:relative; display:block; width:70px; height:70px; max-width:100%; margin-bottom:2px; }
.an-person-outline { position:absolute; inset:0; background:var(--person-color); mask:url('./assets/personnel-worker.png') center/contain no-repeat; -webkit-mask:url('./assets/personnel-worker.png') center/contain no-repeat; }
.an-person-values { position:absolute; left:14%; right:14%; top:63%; transform:translate(2px, 5px); display:flex; flex-direction:column; align-items:center; line-height:1; color:var(--an-text); }
.an-person-values b { font:600 14px/1 Oswald,'Segoe UI',sans-serif; }
.an-person-values>span { font:400 10px/1 Oswald,'Segoe UI',sans-serif; color:var(--an-muted); }
.an-person-figure small { position:absolute; top:0; right:0; font-size:15px; color:var(--an-text); }
.an-person-key { display:flex; flex-wrap:wrap; gap:5px 12px; margin:0 0 10px; font-size:14px; color:var(--an-muted); }
.an-person-key span::before { content:""; display:inline-block; width:8px; height:8px; margin-right:4px; border-radius:50%; background:var(--person-color); }
.an-person-review { border:1px solid var(--an-line); padding:10px 12px; margin:10px 0; border-radius:8px; overflow-wrap:anywhere; }
.an-person-review summary { cursor:pointer; color:var(--an-accent); }
.an-person-modal h3 { font-size:21px; margin:18px 0 8px; }
.an-person-modal .an-well-sources small { font-size:16px; }
.an-availability { border-top:1px solid var(--an-line); margin-top:14px; }
.an-availability-months { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; align-items:start; }
.an-availability-months>details { border:1px solid var(--an-line); border-radius:9px; padding:9px; min-width:0; }
.an-availability-months summary { cursor:pointer; font-size:16px; }
.an-calendar-week,.an-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.an-calendar-week { font-size:13px; text-align:center; color:var(--an-muted); margin:8px 0 4px; }
.analytics-dialog .an-calendar-day { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:42px; padding:3px 0; line-height:1; border-radius:5px; font-size:16px; }
.an-calendar-day small { font-size:11px; white-space:nowrap; }
.analytics-dialog .an-calendar-day.is-available { background:#25cc8622; border-color:#25cc8677; }
.analytics-dialog .an-calendar-day.is-excluded { background:#ffb54722; border-color:#ffb54777; }
.analytics-dialog .an-calendar-day.is-unknown { background:var(--an-bg); color:var(--an-muted); }
.analytics-dialog .an-calendar-day.is-mismatch { border:2px solid #f35b6b; }
.an-availability-selection { padding:10px; border-radius:6px; background:var(--an-bg); overflow-wrap:anywhere; font-size:16px; }
.an-well-modal::backdrop { background:#031525aa; backdrop-filter:blur(5px); }
.an-well-modal-head { position:sticky; top:0; z-index:1; display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:10px 20px 12px; border-bottom:1px solid var(--an-line); background:linear-gradient(120deg,var(--an-bg),var(--an-card)); }
.an-well-modal-head h2 { margin:5px 0; font-size:30px; line-height:1.2; overflow-wrap:anywhere; }
.an-well-modal-head p { margin:0; color:var(--an-muted); }
.analytics-dialog .an-well-modal-head button { flex-shrink:0; min-width:44px; min-height:44px; border-radius:50%; font-size:18px; }
.an-well-modal-body { padding:14px 20px 18px; }
.an-well-period,.an-well-help { color:var(--an-muted); font-size:16px; margin:0 0 10px; }
.an-well-kpis { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:12px; }
.an-well-kpis>div { padding:10px; border-radius:12px; border:1px solid var(--an-line); background:var(--an-bg); }
.an-well-kpis span { display:block; font-size:16px; color:var(--an-muted); }
.an-well-kpis strong { display:block; font-size:28px; font-variant-numeric:tabular-nums; }
.an-well-kpis small { font-size:17px; font-weight:500; }
.an-well-kpis>div:first-child { color:var(--an-accent); }
.an-well-estimate-note { border-left:3px solid #cb942a; background:#eab43a12; border-radius:4px; padding:10px 14px; font-size:16px; color:var(--an-muted); }
.an-well-work-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.an-well-work-heading h3 { margin:0 0 8px; font-size:18px; }
.an-well-work-heading>span { font-size:16px; color:var(--an-muted); }
.an-well-work-group { border:1px solid var(--an-line); border-radius:12px; overflow:hidden; margin:10px 0; }
.an-well-work-group>header { background:var(--an-bg); padding:10px 12px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.an-well-work-group h4 { margin:0; font-size:19px; overflow-wrap:anywhere; }
.an-well-work-group header>div,.an-well-work-line>div { display:flex; align-items:center; gap:12px; flex-shrink:0; font-variant-numeric:tabular-nums; }
.an-well-work-group header>div>span,.an-well-work-line>div>span { min-width:58px; text-align:right; color:var(--an-accent); font-size:16px; }
.an-well-work-item { padding:10px; border-top:1px solid var(--an-line); }
.an-well-work-line { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.an-well-work-line>strong { font-size:17px; overflow-wrap:anywhere; }
.an-well-share-track { height:4px; margin:10px 0 7px; background:var(--an-line); border-radius:4px; overflow:hidden; }
.an-well-share-track i { display:block; height:100%; background:var(--an-accent); border-radius:4px; }
.an-well-basis { font-size:16px; color:var(--an-muted); }
.an-well-basis .an-estimated { padding:2px 5px; border-radius:4px; background:#eab43a18; }
.an-well-sources { margin-top:6px; font-size:16px; }
.an-well-sources summary { color:var(--an-accent); cursor:pointer; padding:4px 0; }
.an-well-sources ul { list-style:none; padding:0; margin:6px 0 0; }
.an-well-sources li { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--an-line); }
.an-well-sources li>span { min-width:0; overflow-wrap:anywhere; }
.an-well-sources li>strong { white-space:nowrap; }
.an-well-sources small { display:block; color:var(--an-muted); }
.an-well-empty { padding:24px 0; color:var(--an-muted); }
@media(max-width:520px) {
 .an-well-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 20px); border-radius:14px; }
 .an-well-modal-head { padding:18px 16px 14px; }
 .an-well-modal-body { padding:10px; }
 .an-well-kpis { gap:6px; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .an-well-kpis>div { padding:10px 6px; }
 .an-well-kpis strong { font-size:24px; overflow-wrap:anywhere; }
 .an-well-work-group>header,.an-well-work-line { align-items:flex-start; flex-direction:column; gap:7px; }
 .an-well-work-group header>div,.an-well-work-line>div { width:100%; justify-content:space-between; }
}
