/* Palette sampled from the supplied Strapp Corp logo:
   anthracite #222222, petrol #3f778a, muted blue #7fa4b1, white #ffffff. */
.login-main { margin:8vh auto; padding:20px; max-width:520px; }
.login-main h1 { font-size:32px; }
.login-brand { background:#222; border-radius:8px; margin-bottom:24px; }
.login-brand img { width:100%; display:block; }
#login-form label { display:block; margin:16px 0; }
#login-form input { margin-top:6px; }
#login-error { color:#9b4e36; }
.sidebar #logout-button { margin-top:12px; }
.brand-logo {
  display: block;
  width: 100%;
  height: auto;
}
.brand-product {
  margin-top: 8px;
  padding: 0 0 18px;
  border-bottom: 1px solid #3a484e;
  font-size: 10px;
  letter-spacing: 2.2px;
  color: #9ab7c2;
}
.metrics .highlight {
  background: var(--accent);
  border-color: var(--accent);
  color: white;
}
.metrics .highlight span,
.metrics .highlight small {
  color: #ffffff;
}
.eyebrow, .section-number { color: var(--accent); }
.sidebar .local-dot { box-shadow: 0 0 0 3px #7fa4b11f; }
:focus-visible { outline: 2px solid var(--accent); }
.sidebar :focus-visible { outline-color: #7fa4b1; }
.panel, .metrics article { box-shadow: 0 2px 8px #22222203; }
.reference-metric { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:32px; border-left:4px solid var(--accent); }
.reference-metric h2 { margin:6px 0; }
.reference-metric p { margin:0; }
.reference-overview > strong { display:block; font-size:52px; margin:18px 0; white-space:nowrap; color:var(--accent); }
.reference-overview,.reference-import { min-width:0; }
.reference-import { border-left:1px solid var(--border); padding-left:32px; }
.reference-import .upload-zone { margin:16px 0 12px; padding:14px 12px; }
.reference-import #baseline-info { margin-top:12px; }
.reference-overview .divider { margin:24px 0 18px; }
#source-management .panel-heading h2 { margin:0; }
#prospects-content > .export-actions { flex-wrap:wrap; margin:12px 0 18px; }
.manual-section { width:100%; }
@media(max-width:900px) { .reference-metric { grid-template-columns:1fr; } .reference-import { border-left:0; border-top:1px solid var(--border); padding:24px 0 0; } }
.extraction-section { margin:30px 0; }
.exportable-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.exportable-header h2 { margin:0; min-width:0; }
#exportable-toggle,.accordion-toggle { display:flex; align-items:center; gap:12px; border:0; padding:8px 0; background:transparent; color:inherit; font:inherit; font-weight:inherit; text-align:left; }
.accordion-arrow { color:var(--accent); font-size:30px; line-height:1; transition:transform .15s; }
#exportable-toggle[aria-expanded=true] .accordion-arrow,.accordion-toggle[aria-expanded=true] .accordion-arrow { transform:rotate(90deg); }
.exportable-header-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; }
.select-all-label { display:flex; align-items:center; gap:8px; margin:20px 0 12px; }
#exportable-content,.accordion-content { border-top:1px solid var(--border); margin-top:18px; padding-top:6px; }
#exportable-content[hidden],.accordion-content[hidden] { display:none; }
.exportable-table { max-height:520px; overflow:auto; }
.buffer-table { max-height:520px; overflow:auto; }
.buffer-table th { position:sticky; top:0; background:var(--paper); z-index:1; }
.coverage-table { max-height:540px; overflow:auto; }
.coverage-table th { position:sticky; top:0; background:var(--paper); z-index:1; }
#coverage { border-top:1px solid var(--border); margin-top:24px; padding-top:12px; }
#coverage-title { margin:0; font-size:20px; }
.coverage-result-link { border:0; background:var(--accent-soft); color:var(--accent); border-radius:6px; padding:7px 14px; min-width:42px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.coverage-result-link:hover { background:var(--accent); color:white; }
#coverage-dialog { width:min(1080px,94vw); max-width:94vw; }
#coverage-dialog .table-wrap { max-height:60vh; overflow:auto; }
.coverage-selected-zone { background:var(--accent-soft); }
#coverage-dialog details { padding:8px 0; }
#coverage-dialog summary { cursor:pointer; color:var(--accent); }
#automation .sources { margin:24px 0; }
.sidebar nav { gap:3px; }
.sidebar nav a { padding-top:9px; padding-bottom:9px; }
.exportable-table th { position:sticky; top:0; background:var(--paper); z-index:1; }
.exportable-table th:first-child,.exportable-table td:first-child { min-width:80px; width:80px; }
#exportable-rows input,#exportable-all,#validation-rows input,#validation-all { width:18px; height:18px; accent-color:var(--accent); cursor:pointer; }
@media(max-width:1000px) { .exportable-header { flex-wrap:wrap; } .exportable-header-actions { justify-content:flex-start; } }
.extraction-section h2 { margin:6px 0; }
.extraction-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:12px; }
.metrics .metric-card { position:relative; padding:0; min-width:0; }
.metric-card > a { display:block; padding:22px; color:inherit; text-decoration:none; border-radius:inherit; }
.metrics .metric-card span { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:36px; }
.info-mark { display:inline-grid; place-items:center; border:1px solid currentColor; border-radius:50%; width:17px; height:17px; flex-shrink:0; font:11px Georgia,serif; }
.metric-tooltip { display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:20; background:#222; color:#fff; padding:16px; border-radius:8px; font-size:13px; line-height:1.5; box-shadow:0 8px 24px #2223; }
.metric-card:hover .metric-tooltip,.metric-card:focus-within .metric-tooltip { display:block; }
.buffer-panel { display:flex; gap:24px; align-items:center; justify-content:space-between; }
.buffer-panel .actions { flex-wrap:wrap; flex-shrink:0; }
#activity-form { border-top:1px solid #d8e2e5; margin-top:24px; padding-top:8px; }
#activity-form[hidden] { display:none; }
#activity-form > label { display:block; margin-top:16px; }
#activity-note { display:block; width:100%; margin-top:6px; padding:10px; border:1px solid var(--border); border-radius:6px; font:inherit; resize:vertical; }
@media(max-width:1100px) { .reference-metric { flex-wrap:wrap; } .buffer-panel { flex-direction:column; align-items:flex-start; } .extraction-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .extraction-metrics { grid-template-columns:1fr; } .reference-metric > strong { margin-left:0; } .reference-metric { gap:16px; } }
@media (max-width: 760px) {
  .brand { width: 220px; margin: -8px 0 0; }
  .brand-product { margin: 0; padding: 0 0 10px; }
  .title-row { flex-direction: column; align-items: flex-start; gap: 0; }
  .title-row .badge { margin-bottom: 20px; }
}
