@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
.fullscreen-button{display:grid;place-items:center;min-width:34px;padding:7px!important}.fullscreen-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.fullscreen-button.is-fullscreen{background:var(--teal)!important;border-color:var(--teal)!important;color:#fff!important}.fullscreen-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* KPI cards: one compact, balanced system across viewport sizes. */
main .kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
main .kpis article{min-height:148px;padding:16px 17px;display:flex;flex-direction:column}
main .kpis .kpi-top{min-height:29px;align-items:flex-start}
main .kpis .kpi-top span{line-height:1.3;overflow-wrap:anywhere}
main .kpis strong{font-size:clamp(27px,2.15vw,34px);line-height:1.05;margin:11px 0 6px;white-space:nowrap}
main .kpis small{min-height:30px;line-height:1.38}
main .kpis footer{margin-top:auto;padding-top:9px;line-height:1.25}
/* Let the dashboard use the viewport in fullscreen instead of retaining the desktop max-width. */
:fullscreen main,body:-webkit-full-screen main{max-width:none;width:100%;padding-left:clamp(20px,3vw,56px);padding-right:clamp(20px,3vw,56px)}
:fullscreen main .kpis,body:-webkit-full-screen main .kpis{grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px}
:fullscreen main .kpis article,body:-webkit-full-screen main .kpis article{min-height:132px}
@media(max-width:1180px){main .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}main .kpis article{min-height:136px}}
@media(max-width:600px){main .kpis{grid-template-columns:1fr;gap:10px}main .kpis article{min-height:126px;padding:14px 15px}main .kpis strong{font-size:30px;margin:8px 0 4px}main .kpis small{min-height:0}main .kpis footer{margin-top:8px}}
:root{--ink:#182238;--muted:#65728a;--line:#d7e0ec;--bg:#f4f7fb;--panel:#fff;--teal:#087d72;--teal-pale:#e0f4ef;--navy:#173b69;--gold:#efaa31;--red:#c85259;--radius:14px;--shadow:0 4px 14px rgba(25,46,80,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Manrope,Arial,sans-serif}.topbar{height:58px;padding:0 18px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:28px}.brand{color:var(--ink);display:flex;align-items:center;gap:9px;text-decoration:none;font-size:12px;font-weight:700;line-height:1.05;letter-spacing:.02em}.brand b{color:var(--teal)}.brand small{display:block;margin-top:3px;font:9px 'DM Mono';color:var(--muted);letter-spacing:.12em}.brand-mark{height:28px;width:28px;display:grid;place-items:center;border-radius:8px;background:var(--teal);color:#fff;font:bold 17px Georgia}.meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;white-space:nowrap;flex:1}.meta b{color:var(--ink)}.meta i{height:15px;border-left:1px solid var(--line)}.source{border:1px solid #b9dbd5;border-radius:5px;padding:3px 7px;color:var(--teal)}button,select{font:inherit}.top-actions{display:flex;gap:7px}.top-actions button{border:1px solid #8c9bb0;border-radius:9px;background:#fff;color:var(--ink);font-weight:700;padding:7px 12px;cursor:pointer}.top-actions .primary{background:var(--ink);color:#fff;border-color:var(--ink)}.filterbar{display:grid;grid-template-columns:repeat(5,1fr);gap:10px 12px;padding:13px 18px;border-bottom:1px solid var(--line);background:#fff}.filterbar label{font-size:10px;letter-spacing:.08em;color:#4f5f78;font-weight:800}.filterbar select{width:100%;display:block;margin-top:4px;padding:7px 9px;background:#fff;border:1px solid #9bacbf;border-radius:8px;color:var(--ink);font-size:12px}.tabs{display:flex;gap:4px;padding:8px 18px 7px;border-bottom:1px solid var(--line);background:#fff;overflow:auto}.tabs button{border:0;border-radius:9px;background:transparent;padding:9px 14px;color:#54637b;font-weight:700;white-space:nowrap;cursor:pointer}.tabs button.active,.tabs button:hover{background:var(--teal);color:#fff}main{max-width:1510px;margin:auto;padding:25px 24px 44px}.page-title{display:flex;justify-content:space-between;gap:30px;padding:0 0 23px}.eyebrow,.section-head p{font:700 10px 'DM Mono';letter-spacing:.12em;color:var(--teal);margin:0 0 8px}.page-title h1{font-size:31px;line-height:1.15;letter-spacing:-.04em;margin:0}.page-title h1 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}.lede{max-width:690px;margin:10px 0 0;color:var(--muted);line-height:1.65}.read-order{align-self:end;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px;white-space:nowrap}.read-order span{font:700 9px 'DM Mono';letter-spacing:.1em;color:var(--teal)}.read-order b{background:#fff;border:1px solid var(--line);padding:7px 9px;border-radius:7px;color:var(--ink)}.read-order i{font-style:normal;color:var(--teal)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpis article,.panel,.action-board article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpis article{padding:15px 16px;min-height:130px;border-top:3px solid #aec3dc}.kpis article.accent{border-top-color:var(--gold);background:linear-gradient(120deg,#fff,#fff9ea)}.kpis span{font-size:10px;font-weight:800;letter-spacing:.07em;color:var(--muted)}.kpis strong{display:block;margin:6px 0 4px;font-size:29px;letter-spacing:-.05em}.kpis small{font-size:11px;color:var(--muted)}.up,.good{color:var(--teal)!important}.down,.risk{color:var(--red)!important}.kpis footer,.panel footer{display:block;margin-top:11px;padding-top:9px;border-top:1px solid #e8eef5;font:10px 'DM Mono';color:#77859a}.section-head{display:flex;justify-content:space-between;align-items:end;margin:35px 0 12px}.section-head h2{margin:0;font-size:21px;letter-spacing:-.035em}.section-head>span{font:11px 'DM Mono';color:var(--muted)}.grid{display:grid;gap:12px}.structure-grid{grid-template-columns:2fr 1fr}.performance-grid{grid-template-columns:1.55fr 1fr}.conduct-grid{grid-template-columns:1.55fr 1fr}.panel{padding:18px}.panel header{display:flex;justify-content:space-between;gap:15px;align-items:start}.panel h3{margin:0;font-size:16px;letter-spacing:-.025em}.panel header p{margin:4px 0 0;color:var(--muted);font-size:12px}.status{font:700 10px 'DM Mono';padding:5px 7px;border-radius:5px;white-space:nowrap}.positive{background:var(--teal-pale);color:var(--teal)}.neutral{background:#edf2f8;color:#53637c}.tier-list{margin-top:19px}.tier-list>div{display:grid;grid-template-columns:70px 1fr 46px 145px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eff3f7}.tier-list b{font-size:12px}.tier-list span{height:9px;background:#e8eef5;border-radius:9px;overflow:hidden}.tier-list i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#32aa9b);border-radius:inherit}.tier-list strong{font-size:15px}.tier-list small{font-size:11px;color:var(--muted)}.insight-card{background:linear-gradient(135deg,#f5fbfa,#fff);border-left:4px solid var(--teal)}.insight-card.warm{background:linear-gradient(135deg,#fff9ed,#fff);border-left-color:var(--gold)}.number{display:grid;place-items:center;width:24px;height:24px;background:var(--teal);color:#fff;border-radius:50%;font:700 10px 'DM Mono'}.warm .number{background:var(--gold)}.label{font:700 10px 'DM Mono';color:var(--teal);letter-spacing:.08em;margin-right:auto}.insight-card h3{margin:20px 0 8px;font-size:20px;line-height:1.2}.insight-card p{color:#526076;line-height:1.55;margin:0}.recommendation{margin-top:17px;padding:11px 12px;border-radius:8px;background:#fff;border:1px solid #d8e8e5;font-size:11px;line-height:1.5}.recommendation b{display:block;color:var(--teal);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.insight-card button{margin-top:14px;border:0;background:transparent;padding:0;color:var(--teal);font-weight:800;cursor:pointer}.legend{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.dot{height:8px;width:8px;border-radius:50%;display:inline-block}.teal{background:var(--teal)}.amber{background:var(--gold)}.bubble-map{height:275px;position:relative;margin-top:15px;border-left:1px solid #a3b2c7;border-bottom:1px solid #a3b2c7;background:repeating-linear-gradient(0deg,transparent 0 55px,#eaf0f6 56px),repeating-linear-gradient(90deg,transparent 0 95px,#eaf0f6 96px)}.axis{position:absolute;font:10px 'DM Mono';color:#718097}.axis.y{left:-5px;top:-17px}.axis.x{right:0;bottom:-21px}.bubble{position:absolute;border:0;border-radius:50%;background:#c7ece4;color:#14584f;font:700 10px Manrope;box-shadow:inset 0 0 0 2px #85cfc3,0 3px 9px #9dc9c133;cursor:pointer}.bubble:hover{transform:scale(1.08)}.bubble b{display:block;font-size:9px}.b1{width:96px;height:96px;left:44%;top:22%}.b2{width:70px;height:70px;left:29%;top:38%}.b3{width:79px;height:79px;left:60%;top:42%}.b4{width:88px;height:88px;left:12%;top:58%;background:#fee8b9;color:#8b5e0a;box-shadow:inset 0 0 0 2px #edc875}.b5{width:84px;height:84px;left:72%;top:66%;background:#f8d9da;color:#9e3d44;box-shadow:inset 0 0 0 2px #e6a1a5}.signal-panel{display:flex;flex-direction:column}.signal-row{display:grid;grid-template-columns:1.4fr 48px .9fr;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f5;position:relative}.signal-row span{font-weight:700;font-size:12px}.signal-row b{font:700 13px 'DM Mono'}.signal-row small{color:var(--muted);font-size:10px}.signal-row>i{position:absolute;bottom:0;left:0;width:var(--w);height:2px;background:var(--teal)}.signal-row>i.negative{background:var(--red)}.callout{margin-top:auto;background:#eff7f5;border-radius:9px;padding:11px;font-size:11px;line-height:1.45}.callout b{display:block;color:var(--teal);margin-bottom:2px}.health-table{margin-top:16px}.health-table>div{display:grid;grid-template-columns:1.2fr 1fr .8fr .75fr;align-items:center;gap:10px;padding:10px 7px;border-bottom:1px solid #edf1f5}.health-table .table-head{padding:0 7px 8px;font-size:10px;font-weight:800;color:#758399;text-transform:uppercase;letter-spacing:.06em}.health-table b{font-size:12px}.promo{height:8px;background:#e6edf5;border-radius:6px;overflow:hidden}.promo:after{content:'';display:block;height:100%;width:var(--w);background:var(--gold);border-radius:inherit}.health-table strong,.health-table em{font-size:11px;font-style:normal}.cascade{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;gap:8px;align-items:stretch}.cascade article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:10px;padding:14px}.cascade article.action-node{border-top-color:var(--gold);background:#fffaf0}.cascade span{font:700 9px 'DM Mono';color:var(--teal);letter-spacing:.08em}.cascade strong{display:block;font-size:15px;margin:7px 0}.cascade p{font-size:11px;color:var(--muted);line-height:1.5;margin:0}.cascade>i{display:grid;place-items:center;color:var(--teal);font-style:normal;font-size:19px}.action-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.action-board article{padding:15px;border-top:3px solid var(--teal)}.action-board article.research{border-top-color:var(--gold)}.action-board header{display:flex;justify-content:space-between;font:9px 'DM Mono';color:var(--teal)}.action-board header b{font:700 15px Manrope;color:#afbed0}.action-board h3{font-size:15px;line-height:1.28;margin:16px 0 7px}.action-board p{color:var(--muted);font-size:11px;line-height:1.5;margin:0;min-height:50px}.action-board footer{border-top:1px solid #e9eef4;margin-top:12px;padding-top:9px;font-size:10px;color:#536179;display:grid;gap:3px}.action-board em{color:var(--teal);font-style:normal}@media(max-width:980px){.meta{display:none}.filterbar{grid-template-columns:repeat(3,1fr)}.kpis,.action-board{grid-template-columns:repeat(2,1fr)}.structure-grid,.performance-grid,.conduct-grid{grid-template-columns:1fr}.cascade{grid-template-columns:1fr}.cascade>i{transform:rotate(90deg)}.read-order{display:none}}@media(max-width:620px){.topbar{padding:0 10px}.top-actions .secondary{display:none}.filterbar{grid-template-columns:repeat(2,1fr);padding:10px}.tabs{padding:7px 10px}main{padding:18px 12px}.kpis,.action-board{grid-template-columns:1fr}.page-title h1{font-size:25px}.tier-list>div{grid-template-columns:55px 1fr 40px}.tier-list small{display:none}.section-head>span{display:none}.bubble-map{height:240px}}
