:root {
  --ink:#143f55; --ink-dark:#0b2e41; --muted:#667782; --line:#d9e2e7; --soft:#f2f6f8; --white:#fff;
  --plum:#7f2138; --plum-dark:#591426; --amber:#e8a400; --amber-soft:#fff8e5; --red:#c9302c; --red-soft:#fff0f0;
  --green:#2f8a46; --blue:#2867a6; --shadow:0 12px 34px rgba(14,47,65,.08); --radius:18px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink-dark); background:#f7f9fa; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.5; }
button,input,select { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none!important; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:100; padding:.75rem 1rem; color:#fff; background:var(--ink-dark); border-radius:.6rem; }
.skip-link:focus { top:1rem; }
.site-header { min-height:86px; padding:1rem clamp(1.1rem,4vw,4rem); display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:center; color:#fff; background:linear-gradient(115deg,var(--plum-dark),var(--plum) 55%,#963c52); }
.brand-mark { width:50px; height:50px; padding:7px 9px; display:grid; align-content:center; border:1px solid rgba(255,255,255,.45); border-radius:13px; font-size:.78rem; font-weight:800; line-height:1.05; letter-spacing:.08em; }
.brand-mark span:last-child { text-align:right; }
.brand-copy h1 { margin:.05rem 0 0; font-size:clamp(1.18rem,2.4vw,1.65rem); line-height:1.15; }
.eyebrow { margin:0; color:var(--muted); font-size:.78rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.site-header .eyebrow { color:rgba(255,255,255,.72); }
.source-note { display:flex; align-items:center; gap:.55rem; color:rgba(255,255,255,.86); font-size:.82rem; }
.source-dot { width:8px; height:8px; border-radius:50%; background:#f3d38a; }
.tabs { position:sticky; top:0; z-index:20; display:flex; gap:.35rem; padding:.55rem clamp(1.1rem,4vw,4rem); border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.tab { padding:.65rem .95rem; border:0; border-radius:999px; color:var(--muted); background:transparent; font-size:.92rem; font-weight:750; }
.tab:hover { color:var(--ink-dark); background:var(--soft); }
.tab.is-active { color:#fff; background:var(--ink-dark); }
main { max-width:1500px; margin:0 auto; padding:1.7rem clamp(1.1rem,4vw,4rem) 4rem; }
.view { display:none; }
.view.is-active { display:block; animation:reveal .2s ease both; }
@keyframes reveal { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.view-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1.1rem; }
.view-heading h2 { margin:.2rem 0 0; color:var(--ink); font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.15; letter-spacing:-.03em; }
.view-intro { max-width:580px; margin:0; color:var(--muted); }
.visual-map-shell { position:relative; overflow:hidden; padding:.5rem; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow); }
.visual-map-shell img { display:block; width:100%; height:auto; border-radius:14px; }
.map-hotspots { position:absolute; inset:.5rem; }
.map-hotspots button { position:absolute; left:var(--x); top:var(--y); width:var(--w); height:var(--h); padding:0; border:2px solid transparent; border-radius:18px; color:transparent; background:transparent; }
.map-hotspots button:hover,.map-hotspots button:focus-visible { border-color:rgba(20,63,85,.75); background:rgba(255,255,255,.16); box-shadow:0 0 0 5px rgba(255,255,255,.66); outline:0; }
.map-hotspots button span { position:absolute; right:.45rem; top:.35rem; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:transparent; background:transparent; font-weight:850; }
.map-hotspots button:hover span,.map-hotspots button:focus-visible span { color:#fff; background:var(--ink-dark); }
.priority-shortcuts { display:grid; grid-template-columns:repeat(4,1fr); gap:.65rem; margin-top:.8rem; }
.priority-shortcuts button { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; gap:.1rem .65rem; align-items:center; min-height:76px; padding:.75rem; text-align:left; border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:12px; background:#fff; }
.priority-shortcuts button:hover { border-color:var(--accent); box-shadow:0 6px 18px rgba(14,47,65,.08); }
.priority-shortcuts button>span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--accent); font-weight:850; }
.priority-shortcuts strong { font-size:.82rem; line-height:1.2; }
.priority-shortcuts small { color:var(--muted); font-size:.72rem; }
.specific-lines-section { display:grid; grid-template-columns:minmax(220px,.42fr) minmax(0,1fr); gap:1rem; align-items:center; margin-top:1rem; padding:1rem; border:1px solid #d9d2e3; border-radius:16px; background:linear-gradient(120deg,#faf8fc,#fff); box-shadow:var(--shadow); }
.specific-lines-section h3 { margin:.15rem 0 0; color:var(--ink); font-size:1.05rem; }
.specific-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.specific-shortcuts button { display:grid; grid-template-columns:62px 1fr; gap:.75rem; align-items:center; min-height:78px; padding:.65rem .8rem; border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:12px; text-align:left; background:#fff; }
.specific-shortcuts button:hover,.specific-shortcuts button:focus-visible { border-color:var(--accent); box-shadow:0 6px 18px rgba(14,47,65,.08); }
.specific-shortcuts img { width:56px; height:56px; object-fit:contain; }
.specific-shortcuts span,.specific-shortcuts strong,.specific-shortcuts small { display:block; }
.specific-shortcuts strong { color:var(--ink); font-size:.9rem; }
.specific-shortcuts small { margin-top:.12rem; color:var(--muted); font-size:.72rem; }
.priority-detail { max-width:1440px; margin:0 auto; }
.priority-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.75rem; }
.back-button { padding:.55rem .25rem; border:0; color:var(--blue); background:transparent; font-weight:800; }
.copy-link-button { padding:.5rem .75rem; border:1px solid var(--line); border-radius:9px; color:var(--blue); background:#fff; font-size:.8rem; font-weight:800; }
.copy-link-button:hover,.copy-link-button:focus-visible { border-color:var(--blue); box-shadow:0 4px 14px rgba(14,47,65,.08); }
.priority-hero { padding:1.25rem 1.4rem; color:#fff; border-radius:20px; background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 78%,#12394d),var(--accent)); }
.priority-title { display:flex; align-items:center; gap:1rem; }
.priority-number { flex:0 0 auto; width:58px; height:58px; display:grid; place-items:center; border:2px solid rgba(255,255,255,.65); border-radius:50%; font-size:1.55rem; font-weight:850; }
.priority-number.is-special { font-size:1rem; letter-spacing:.04em; }
.priority-icon { flex:0 0 auto; width:88px; height:88px; display:grid; place-items:center; padding:10px; border:2px solid rgba(255,255,255,.78); border-radius:20px; background:#fff; box-shadow:0 8px 22px rgba(9,39,54,.2); }
.priority-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.priority-title p,.priority-title h2 { margin:0; }
.priority-title p { color:rgba(255,255,255,.72); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.priority-title h2 { margin-top:.15rem; font-size:clamp(1.35rem,2.6vw,2.05rem); line-height:1.15; }
.priority-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; margin-top:1rem; align-items:start; }
.priority-actions-column { min-width:0; }
.timeline-panel,.indicator-summary section,.action-breakdown,.priority-indicators,.indicator-evolution { padding:1.1rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.8rem; }
.section-heading h3 { margin:.12rem 0 0; color:var(--ink); font-size:1.05rem; }
.section-heading>span { color:var(--muted); font-size:.76rem; }
.timeline-legend { display:flex; align-items:center; gap:.45rem; margin:-.15rem 0 .65rem; color:var(--muted); font-size:.75rem; }
.timeline-legend span { width:22px; height:8px; border-radius:3px; background:#1f6486; }
.timeline-scroll { overflow-x:auto; }
.timeline-table { width:100%; min-width:960px; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:.78rem; }
.timeline-table th,.timeline-table td { padding:.65rem .45rem; border-bottom:1px solid var(--line); vertical-align:middle; }
.timeline-table thead th { position:sticky; top:0; color:#fff; background:var(--ink); text-align:center; font-size:.72rem; }
.timeline-table thead th:first-child { width:245px; border-radius:9px 0 0 0; text-align:left; }
.timeline-table thead th:nth-child(2) { width:115px; text-align:left; }
.timeline-table thead th:nth-child(3) { width:170px; text-align:left; }
.timeline-table thead th:last-child { border-radius:0 9px 0 0; }
.timeline-table tbody th { text-align:left; font-weight:700; line-height:1.25; }
.timeline-table tbody th span { display:block; margin-bottom:.12rem; color:var(--muted); font-size:.7rem; }
.timeline-table tbody th.timeline-action { position:relative; padding-right:1.7rem; cursor:help; transition:background .16s ease,color .16s ease; }
.timeline-table tbody th.timeline-action:hover,.timeline-table tbody th.timeline-action:focus-visible { color:var(--blue); outline:0; background:#f1f7fa; }
.timeline-table tbody th .action-hover-hint { position:absolute; top:50%; right:.45rem; margin:0; color:var(--blue); font-size:.78rem; transform:translateY(-50%); }
.action-hover-card { position:fixed; z-index:100; width:min(430px,calc(100vw - 24px)); padding:1rem; color:var(--muted); border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line)); border-top:5px solid var(--accent); border-radius:14px; background:#fff; box-shadow:0 18px 48px rgba(9,39,54,.22); font-size:.8rem; line-height:1.42; pointer-events:none; }
.action-hover-card strong { display:block; margin:.65rem 0 .12rem; color:var(--ink); font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; }
.action-hover-card strong:first-child { margin-top:0; }
.action-hover-card p { margin:0; }
.owner-cell { display:flex; flex-wrap:wrap; gap:.2rem; }
.owner-chip { display:inline-flex; padding:.24rem .42rem; border:1px solid color-mix(in srgb,var(--owner-color) 28%,transparent); border-radius:7px; color:color-mix(in srgb,var(--owner-color) 82%,#102f3f); background:color-mix(in srgb,var(--owner-color) 12%,#fff); font-size:.7rem; font-weight:850; }
.owner-chip.pending { color:#7a5a0b; }
.primary-owner .owner-chip { padding:.3rem .5rem; border-width:2px; }
.co-owner-cell .owner-chip { font-size:.66rem; font-weight:750; }
.no-co-owner { color:#9aa8b0; }
.quarter-cell { min-width:58px; text-align:center; background:#fafcfd; border-left:1px solid #edf1f3; }
.timeline-table .quarter-range { padding:.35rem .25rem; }
.timeline-range { display:flex; min-height:2rem; align-items:center; justify-content:center; padding:.22rem .38rem; border-radius:5px; color:#fff; background:#1f6486; font-size:.75rem; font-weight:750; line-height:1.15; }
.indicator-summary { display:block; }
.indicator-summary h3 { margin:.15rem 0 .8rem; color:var(--ink); font-size:1.05rem; }
.indicator-summary .indicator-comparison { border-color:#cfe1ea; background:#f8fbfc; }
.comparison-head { display:none; }
.comparison-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.comparison-list article { display:grid; grid-template-columns:1fr 1fr; gap:.7rem .8rem; align-items:start; padding:.8rem .9rem; border:1px solid rgba(20,63,85,.11); border-left:5px solid var(--accent); border-radius:12px; background:#fff; }
.comparison-name { grid-column:1/-1; }
.comparison-name small,.comparison-name strong,.comparison-current small,.comparison-current strong,.comparison-current span,.comparison-target small,.comparison-target strong { display:block; }
.comparison-name small { margin-bottom:.18rem; color:var(--accent); font-size:.68rem; font-weight:850; }
.comparison-name strong { color:var(--ink); font-size:.88rem; line-height:1.28; }
.comparison-current,.comparison-target { min-height:54px; }
.comparison-current { padding-right:.8rem; }
.comparison-target { padding-left:.8rem; border-left:1px solid var(--line); }
.comparison-current small,.comparison-target small { color:var(--muted); font-size:.66rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.comparison-current strong { color:#236b3b; font-size:1.25rem; line-height:1.12; }
.comparison-current span { margin-top:.16rem; color:var(--muted); font-size:.7rem; text-transform:capitalize; }
.comparison-target strong { color:var(--ink); font-size:.86rem; line-height:1.3; }
.priority-indicators,.indicator-evolution { margin-top:1rem; }
.action-detail { border-top:1px solid var(--line); }
.action-detail:first-of-type { border-top:0; }
.action-detail summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.7rem; align-items:center; padding:.8rem .2rem; cursor:pointer; font-weight:750; }
.action-code { min-width:52px; color:var(--blue); font-size:.76rem; font-weight:850; }
.summary-owners { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem .7rem; }
.role-group { display:grid; gap:.15rem; align-content:start; }
.role-group>small { color:var(--muted); font-size:.58rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.role-group.co-role>span { display:flex; flex-wrap:wrap; gap:.2rem; }
.action-detail-body { display:grid; grid-template-columns:1fr 1.4fr .6fr; gap:1rem; padding:0 .2rem .9rem 3.25rem; }
.action-detail-body p { margin:0; color:var(--muted); font-size:.82rem; }
.action-detail-body strong { display:block; margin-bottom:.15rem; color:var(--ink); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.indicators-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.indicator-card { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(105px,.42fr); gap:.65rem 1rem; padding:1rem; border:1px solid var(--line); border-top:5px solid var(--accent); border-radius:14px; background:#fff; }
.indicator-head { grid-column:1/-1; display:flex; justify-content:space-between; gap:.7rem; align-items:center; color:var(--muted); font-size:.72rem; }
.indicator-head span:first-child { color:var(--accent); font-weight:850; }
.indicator-head span:last-child { padding:.22rem .45rem; border-radius:999px; background:var(--soft); font-size:.66rem; font-weight:750; }
.indicator-card.has-value .indicator-head span:last-child { color:#26683a; background:#edf8f0; }
.priority-badge { min-width:34px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; background:var(--accent); font-weight:850; }
.indicator-card h3 { grid-column:1/-1; min-height:2.65em; margin:0; color:var(--ink); font-size:.95rem; line-height:1.32; }
.indicator-current { align-self:center; }
.indicator-current small,.indicator-current strong,.indicator-current span,.indicator-target small,.indicator-target strong { display:block; }
.indicator-current small,.indicator-target small { color:var(--muted); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.indicator-current strong { margin-top:.05rem; color:var(--ink); font-size:1.55rem; line-height:1.1; }
.indicator-current span { margin-top:.18rem; color:var(--muted); font-size:.7rem; text-transform:capitalize; }
.mini-sparkline { align-self:center; display:block; width:100%; min-height:56px; color:var(--accent); }
.spark-area { fill:color-mix(in srgb,var(--accent) 13%,transparent); }
.spark-line { fill:none; stroke:var(--accent); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.mini-sparkline circle { fill:#fff; stroke:var(--accent); stroke-width:4; }
.sparkline-empty { align-self:center; display:grid; place-items:center; min-height:56px; padding:.5rem; color:var(--muted); border:1px dashed var(--line); border-radius:9px; background:var(--soft); text-align:center; font-size:.68rem; }
.indicator-target { grid-column:1/-1; padding:.7rem .75rem; border-radius:10px; background:color-mix(in srgb,var(--accent) 8%,#f4f7f8); }
.indicator-target strong { margin-top:.16rem; color:var(--ink); font-size:.82rem; line-height:1.32; }
.indicator-card>p { grid-column:1/-1; margin:0; color:var(--muted); font-size:.66rem; }
.empty-note { color:var(--muted); }
.trend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.trend-card { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }
.trend-card>header { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding:1rem 1rem .2rem; }
.trend-card h4 { margin:.12rem 0 0; color:var(--ink); font-size:.92rem; line-height:1.3; }
.trend-code { margin:0; color:var(--blue); font-size:.68rem; font-weight:850; letter-spacing:.05em; }
.trend-card>header>strong { flex:0 0 auto; color:var(--ink); text-align:right; font-size:1.15rem; }
.trend-card>header>strong small { display:block; margin-top:.05rem; color:var(--muted); font-size:.65rem; font-weight:650; text-transform:capitalize; }
.chart-wrap { padding:.2rem .65rem 0; }
.chart-wrap svg { display:block; width:100%; height:auto; }
.chart-grid line { stroke:#dfe8ec; stroke-width:1; }
.chart-grid text,.axis-date,.target-label { fill:var(--muted); font-size:12px; }
.trend-path { fill:none; stroke:var(--blue); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.trend-last { fill:#fff; stroke:var(--blue); stroke-width:4; }
.target-line { stroke:var(--amber); stroke-width:2; stroke-dasharray:7 6; }
.target-label { fill:#8b6500; font-weight:750; }
.trend-source { display:flex; justify-content:space-between; gap:1rem; padding:.6rem 1rem .8rem; color:var(--muted); border-top:1px solid var(--line); font-size:.65rem; }
.trend-source span:first-child { max-width:68%; }
.no-history { min-height:170px; display:flex; flex-direction:column; justify-content:space-between; padding:1rem; background:var(--soft); }
.no-history h4 { margin-top:.2rem; }
.no-history>p { margin:.8rem 0 0; color:var(--muted); font-size:.8rem; }
.owner-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.55rem; }
.owner-card { position:relative; min-height:88px; display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:1fr auto; gap:.2rem .55rem; align-items:center; padding:.68rem; text-align:left; color:var(--ink-dark); border:1px solid var(--line); border-top:5px solid var(--owner-color); border-radius:12px; background:#fff; box-shadow:0 6px 18px rgba(14,47,65,.05); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.owner-card:hover,.owner-card:focus-visible { transform:translateY(-2px); border-color:var(--owner-color); box-shadow:0 12px 28px color-mix(in srgb,var(--owner-color) 16%,transparent); outline:0; }
.owner-card.is-active { color:#fff; border-color:var(--owner-color); background:linear-gradient(140deg,color-mix(in srgb,var(--owner-color) 88%,#15374b),var(--owner-color)); box-shadow:0 13px 30px color-mix(in srgb,var(--owner-color) 24%,transparent); }
.owner-monogram { grid-row:1/3; min-width:38px; height:38px; display:grid; place-items:center; padding:.25rem; color:#fff; border-radius:10px; background:var(--owner-color); font-size:.68rem; font-weight:900; }
.owner-card.is-active .owner-monogram { color:var(--owner-color); background:#fff; }
.owner-card strong { align-self:end; font-size:.72rem; line-height:1.18; }
.owner-card small { grid-column:2; align-self:start; color:var(--muted); font-size:.61rem; line-height:1.2; }
.owner-card.is-active small { color:rgba(255,255,255,.78); }
.indicator-priority-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.55rem; margin-bottom:1rem; }
.indicator-filter-card { min-height:82px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:1fr auto; gap:.15rem .55rem; align-items:center; padding:.65rem; text-align:left; color:var(--ink-dark); border:1px solid var(--line); border-left:5px solid var(--accent,var(--ink)); border-radius:12px; background:#fff; }
.indicator-filter-card>span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; color:#fff; border-radius:10px; background:var(--accent,var(--ink)); font-weight:850; }
.indicator-filter-card strong { font-size:.72rem; line-height:1.18; }
.indicator-filter-card small { color:var(--muted); font-size:.65rem; }
.indicator-filter-card:hover,.indicator-filter-card:focus-visible { border-color:var(--accent,var(--ink)); outline:0; box-shadow:0 7px 20px rgba(14,47,65,.08); }
.indicator-filter-card.is-active { color:#fff; border-color:var(--accent,var(--ink)); background:var(--accent,var(--ink)); }
.indicator-filter-card.is-active>span { color:var(--accent,var(--ink)); background:#fff; }
.indicator-filter-card.is-active small { color:rgba(255,255,255,.78); }
.indicator-groups { display:grid; gap:1rem; }
.indicator-group { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:var(--shadow); }
.indicator-group>header { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.9rem 1rem; color:#fff; background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 84%,#17384a),var(--accent)); }
.indicator-group-title { display:flex; gap:.75rem; align-items:center; }
.indicator-group-title>span { flex:0 0 auto; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:12px; font-weight:900; }
.indicator-group-title p,.indicator-group-title h3 { margin:0; }
.indicator-group-title p { color:rgba(255,255,255,.7); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.indicator-group-title h3 { margin-top:.08rem; font-size:1rem; line-height:1.2; }
.indicator-group-meta { display:flex; gap:.7rem; align-items:center; }
.indicator-group-meta>strong { font-size:1.35rem; line-height:1; }
.indicator-group-meta>span { color:rgba(255,255,255,.75); font-size:.68rem; }
.indicator-group-meta button { margin-left:.25rem; padding:.48rem .65rem; color:var(--ink-dark); border:0; border-radius:8px; background:#fff; font-size:.72rem; font-weight:800; }
.indicator-group>.indicators-list { padding:1rem; }
.owner-result { margin-top:1rem; }
.owner-result>header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem 1.3rem; color:#fff; border-radius:16px; background:linear-gradient(115deg,color-mix(in srgb,var(--owner-color) 84%,#17384a),var(--owner-color)); }
.owner-result>header h3,.owner-result>header p { margin:0; }
.owner-result>header h3 { font-size:1.5rem; }
.owner-result>header .eyebrow,.owner-result>header p { color:rgba(255,255,255,.72); }
.owner-result-counts { display:flex; gap:.7rem; }
.owner-result-counts>span { min-width:105px; padding:.55rem .7rem; border:1px solid rgba(255,255,255,.3); border-radius:11px; color:rgba(255,255,255,.78); text-align:center; font-size:.66rem; font-weight:700; }
.owner-result-counts strong { display:block; color:#fff; font-size:1.45rem; line-height:1.1; }
.owner-role-section { margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.owner-role-section.co-actions { background:#f8fafb; }
.owner-role-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0 .15rem .75rem; border-bottom:1px solid var(--line); }
.owner-role-heading h4 { margin:.12rem 0 0; color:var(--ink); font-size:1.05rem; }
.owner-role-heading>strong { min-width:38px; height:38px; display:grid; place-items:center; color:#fff; border-radius:10px; background:var(--ink); font-size:1rem; }
.co-actions .owner-role-heading>strong { background:#6b7b84; }
.owner-empty { margin:.9rem .15rem 0; color:var(--muted); font-size:.82rem; }
.owner-priority-groups { display:grid; gap:1rem; margin-top:1rem; }
.owner-priority-groups>section { display:grid; grid-template-columns:260px minmax(0,1fr); gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:15px; background:#fff; }
.owner-priority-groups>section>button { align-self:start; display:grid; grid-template-columns:auto 1fr; gap:.35rem .65rem; padding:.8rem; text-align:left; border:0; border-left:5px solid var(--accent); border-radius:10px; color:var(--ink-dark); background:var(--soft); }
.owner-priority-groups>section>button span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:#fff; background:var(--accent); font-weight:850; }
.owner-priority-groups>section>button strong { font-size:.82rem; line-height:1.22; }
.owner-priority-groups>section>button small { color:var(--blue); font-weight:750; }
footer { display:flex; justify-content:space-between; gap:1rem; padding:1.15rem clamp(1.1rem,4vw,4rem); color:var(--muted); border-top:1px solid var(--line); background:#fff; font-size:.76rem; }
footer p { margin:0; }
@media (max-width:1120px) {
  .priority-shortcuts { grid-template-columns:repeat(3,1fr); }
  .comparison-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .indicators-list { grid-template-columns:repeat(2,1fr); }
  .owner-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .indicator-priority-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .site-header { grid-template-columns:auto 1fr; }
  .source-note { grid-column:1/-1; }
  .tabs { overflow-x:auto; padding-inline:1rem; }
  .tab { flex:0 0 auto; }
  main { padding-top:1.15rem; }
  .view-heading,.priority-hero,.owner-result>header { display:block; }
  .view-intro { margin-top:.5rem; }
  .visual-map-shell { padding:.25rem; overflow-x:auto; }
  .visual-map-shell img,.map-hotspots { min-width:840px; }
  .priority-shortcuts { grid-template-columns:1fr 1fr; }
  .specific-lines-section { grid-template-columns:1fr; }
  .priority-hero { padding:1rem; }
  .priority-title { flex-wrap:wrap; }
  .priority-toolbar { align-items:stretch; }
  .comparison-current small,.comparison-target small { margin-bottom:.2rem; }
  .comparison-list { grid-template-columns:1fr; }
  .indicators-list,.trend-grid { grid-template-columns:1fr; }
  .action-detail summary { grid-template-columns:auto 1fr; }
  .summary-owners { grid-column:2; justify-content:flex-start; }
  .action-detail-body { grid-template-columns:1fr; padding-left:3.2rem; }
  .owner-grid { grid-template-columns:1fr 1fr; }
  .owner-result-counts { margin-top:.8rem; }
  .indicator-priority-grid { display:flex; overflow-x:auto; padding-bottom:.4rem; scroll-snap-type:x proximity; }
  .indicator-filter-card { flex:0 0 190px; scroll-snap-align:start; }
  .indicator-group>header { align-items:flex-start; }
  .indicator-group-meta { display:grid; grid-template-columns:auto 1fr; gap:.2rem .45rem; }
  .indicator-group-meta button { grid-column:1/-1; margin:.35rem 0 0; }
  .owner-priority-groups>section { grid-template-columns:1fr; }
}
@media (max-width:480px) { .priority-shortcuts,.specific-shortcuts,.owner-grid { grid-template-columns:1fr; } .comparison-list article { grid-template-columns:1fr; } .comparison-target { padding:.7rem 0 0; border-left:0; border-top:1px solid var(--line); } .trend-card>header { display:block; } .trend-card>header>strong { display:block; margin-top:.45rem; text-align:left; } .indicator-group>header { display:block; } .indicator-group-meta { margin-top:.7rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
