/* Color roles: blue for navigation, warm colors for highlights, violet for field notes. */
:root {
  --navy: #193856;
  --blue: #215f96;
  --teal: #087879;
  --coral: #ad4b3e;
  --violet: #624b91;
  --amber: #925d13;
  background: #f5f7fb;
}

.site-header {
  background: linear-gradient(105deg, #173552, #174e68 72%, #216d72);
  box-shadow: 0 4px 18px #17355224;
}
.brand-mark { background: #d8f2ef; color: #175d64; }
.brand small { color: #d5eaf0; }
.header-label { color: #e4f5f0; border-color: #a4d3d1; }

.hero {
  background: linear-gradient(115deg, #e1efff 0%, #e8f5f4 56%, #fff0df 100%);
  border-color: #d4e4ed;
  box-shadow: 0 8px 24px #1f5f8a0c;
}
.hero:after {
  border-color: #6facb5;
  box-shadow: 0 0 0 40px #7bbbc320, 0 0 0 80px #e9b6721c;
}
.hero-kicker { color: #1c6384; }
.hero h1 { color: #183f65; }
.hero p { color: #435e70; }
.month-tabs a { border-color: #b3cfdd; color: #285b76; background: #ffffffd9; }
.month-tabs a.selected { background: var(--blue); border-color: var(--blue); }

.highlight {
  --accent: var(--blue);
  --tint: #f3f8ff;
  background: linear-gradient(180deg, var(--tint), #fff 58%);
  border-color: #dde6ee;
  border-top: 4px solid var(--accent);
}
.highlight:nth-child(1) { --accent: var(--coral); --tint: #fff1ee; }
.highlight:nth-child(2) { --accent: var(--violet); --tint: #f5f0ff; }
.highlight:nth-child(3) { --accent: var(--teal); --tint: #eaf9f5; }
.highlight-index, .highlight > a { color: var(--accent); }
.highlight .company-name { color: #263b4b; }
.highlight .type-label { color: var(--accent); background: #ffffffcf; border: 1px solid currentColor; }
.highlight p { color: #304858; }
.resource-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.highlight-actions { margin-top: 15px; }
.card-actions { margin-top: 14px; }
.resource-btn, .resource-disabled {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 36px; border-radius: 8px; padding: 7px 11px;
  font-size: 12px; font-weight: 800; line-height: 1.35;
}
.resource-btn { border: 1px solid var(--blue); background: var(--blue); color: #fff; }
.resource-btn:hover { filter: brightness(.91); }
.resource-btn.rp-btn { background: #fff5e5; border-color: #ddb977; color: #75501c; }
.resource-disabled { background: #f0f2f4; color: #79858c; border: 1px solid #e1e5e8; }
.highlight .resource-btn.newsletter-btn { background: var(--accent); border-color: var(--accent); color: #fff; }
.highlight .resource-btn.rp-btn { color: #75501c; }

.directory .eyebrow { color: var(--blue); }
.search-box { border-color: #a9c7dd; box-shadow: 0 2px 8px #205f9608; }
.search-box span { color: var(--blue); }
.filters button.active { background: var(--blue); border-color: var(--blue); }
.filters button[data-filter="nonlife"].active { background: #a94c31; border-color: #a94c31; }
.filters button[data-filter="life"].active { background: var(--violet); border-color: var(--violet); }
.group.type-nonlife h3 { color: #a94c31; }
.group.type-life h3 { color: var(--violet); }
.company-card {
  border-top: 3px solid var(--company);
  background: linear-gradient(180deg, #f8faff 0, #fff 42px);
}
.company-card .company-dot { width: 11px; height: 11px; }
.company-card .card-arrow { color: var(--company); font-weight: 800; }
.company-card h4 { color: #263d52; }
.company-card:hover, .highlight:hover { border-color: var(--accent, var(--company)); }
.company-card { min-height: 195px; }
.status .ok { background: #e4f3eb; color: #176043; }
.status .pending { background: #fff2df; color: #895913; }

.detail-head {
  background: linear-gradient(110deg, #fff 40%, #edf6ff 100%);
  box-shadow: 0 5px 18px #2b668810;
}
.detail-head .eyebrow { color: var(--blue); }
.detail-toolbar button:first-child, .rp-toolbar button {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}
.detail-toolbar #copy-summary { color: var(--violet); border-color: #c8bce5; background: #f7f3ff; }
.detail-toolbar { flex-wrap: wrap; align-items: center; }
.detail-toolbar .toolbar-rp {
  display: inline-flex; align-items: center; gap: 8px; border-radius: 8px;
  background: #fff0d9; color: #704914; border: 1px solid #e6c185;
  padding: 9px 14px; font-size: 13px; font-weight: 800;
}
.detail-toolbar .toolbar-rp:hover { background: #ffe7c0; }
.detail-block:nth-child(1) .eyebrow { color: var(--coral); }
.detail-block:nth-child(2) .eyebrow { color: var(--blue); }
.detail-block:nth-child(3) .eyebrow { color: var(--violet); }
.detail-block:nth-child(4) .eyebrow { color: var(--amber); }
.point-list { background: #fffaf4; border-color: #f0dfca; }
.point-list li:before { color: var(--coral); }
.content-section { border-color: #dfe7f0; border-left: 3px solid #82b5d3; }
.detail-block:nth-child(3) .content-section { border-left-color: #ae95d0; background: #fdfbff; }
.content-section[open] summary { background: #f0f7fd; color: #204c73; }
.detail-block:nth-child(3) .content-section[open] summary { background: #f3edfc; color: #58417f; }
.section-content { border-top-color: #dce8f0; }
th { background: #e8f1f9; color: #184b72; }
tbody tr:nth-child(even) { background: #f8fbfe; }
.note { color: #576e7c; background: #f4f8fb; padding: 8px 10px; border-left: 2px solid #8db7cd; }
.memo-list strong { color: var(--violet); }
.copy-btn { background: #f5efff; border-color: #d1c1eb; color: var(--violet); }
.detail-aside { background: #eaf4fc; color: #405d71; border-top: 3px solid #8ebcdb; }
.detail-aside strong { color: #1d557a; }
.rp-link { background: #fff9ed; border-color: #edd6a8; color: #704c12; }
.notice { background: #fff6e7; border-left-color: #d19a40; color: #664e29; }
.modal-section-label { color: var(--violet); }
.check-row input { accent-color: var(--blue); }
.modal-actions #print-go { background: var(--blue); border-color: var(--blue); }
.rp-toolbar button:disabled { opacity: .55; cursor: wait; }
.rp-print-help { color: #516776; font-size: 13px; line-height: 1.55; margin: 0 0 10px; }
.rp-print-list { max-height: 50vh; overflow-y: auto; border-top: 1px solid #e4e9ed; }
.rp-print-list .check-row { align-items: flex-start; line-height: 1.5; }
.rp-print-list .check-row input { margin-top: 2px; }
.rp-print-error { min-height: 20px; color: #a43932; font-size: 12px; margin: 8px 0 0; }
.rp-print-actions { flex-wrap: wrap; }
.rp-print-actions #rp-print-go { background: var(--blue); border-color: var(--blue); color: #fff; }

@media (max-width: 560px) {
  .highlight { background: linear-gradient(115deg, var(--tint), #fff 75%); }
  .hero { background: linear-gradient(135deg, #e1efff 0%, #eaf7f4 65%, #fff0df 100%); }
  .resource-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .resource-btn, .resource-disabled { width: 100%; min-height: 40px; padding: 7px 5px; font-size: 11px; }
  .detail-toolbar .toolbar-rp { width: 100%; justify-content: center; }
  .rp-print-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* TOTAL PORTAL */
.header-contact {font-size:13px;font-weight:650;color:#edf8f7;white-space:nowrap;line-height:1.5;}
.header-contact:hover {text-decoration:underline;}
.highlight-list {grid-template-columns:repeat(2,minmax(0,1fr));}
.highlight:nth-child(4) {--accent:var(--amber);--tint:#fff7e9;}
.highlight-actions {margin-top:auto;padding-top:12px;}

.company-card-top {flex-wrap:nowrap;align-items:center;gap:7px;}
.company-card-top h4 {flex:1;min-width:0;}
.infographic-download {display:inline-flex;align-items:center;gap:4px;justify-content:center;font-size:11px;font-weight:750;line-height:1.45;padding:6px 8px;border:1px solid #a7c4d5;border-radius:7px;background:#edf5fb;color:#215b7e;white-space:nowrap;min-height:32px;}
.infographic-download:hover {background:#dcecf7;border-color:#215b7e;}
.infographic-pending {font-size:10px;color:#7a8792;white-space:nowrap;}
.company-title {display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:7px 0 10px;}
.company-title h1 {margin:0;}
.company-title .infographic-download {font-size:12px;}
.rp-download {margin-top:10px;}
@media(max-width:1020px) {.company-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px) {.site-header{min-height:76px;height:auto;padding:12px 16px;gap:10px;}.header-contact{font-size:11px;white-space:normal;text-align:right;max-width:170px;}.brand strong{font-size:16px;}.brand small{font-size:10px;}.brand-mark{width:30px;height:34px;}.brand{gap:8px;}.highlight-list{grid-template-columns:1fr;}.company-grid{grid-template-columns:1fr;}.company-card-top{flex-wrap:nowrap;}.company-card-top h4{flex:1;font-size:15px;}.infographic-download{font-size:10px;padding:6px;}.hero p{max-width:95%;}.rp-toolbar{align-items:start;gap:10px;}.rp-toolbar button{font-size:11px;padding:9px;}}

/* Long portal name stays readable next to the contact on narrow screens. */
@media(max-width:560px){.site-header{flex-wrap:wrap;row-gap:7px;}.site-header .brand strong{font-size:15px;}.site-header .header-contact{flex-basis:100%;max-width:none;text-align:right;font-size:11px;}}

/* Keep infographic actions in the company heading row, aligned to its right edge. */
.highlight-top {flex-wrap:nowrap;gap:8px;}
.highlight-top .company-name {min-width:0;}
.highlight-top .infographic-download,.highlight-top .infographic-pending {margin-left:auto;flex:none;}
.company-card-top .infographic-download,.company-card-top .infographic-pending {margin-left:auto;flex:none;}
@media(max-width:800px){.highlight-list{grid-template-columns:1fr;}}
@media(max-width:390px){.highlight-top {gap:6px;}.highlight-top .company-name {font-size:15px;}.highlight-top .type-label {font-size:10px;padding:3px 5px;}.highlight-top .infographic-download{font-size:10px;padding:5px;}.company-card-top h4{font-size:14px;}}
@media(max-width:350px){.highlight-top .type-label{display:none;}}
