.portfolio-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.portfolio-kpis article{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;border:1px solid rgba(172,198,205,.8);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(241,249,249,.72));box-shadow:0 10px 24px rgba(7,27,45,.06);backdrop-filter:blur(12px)}.portfolio-kpi-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#18a899,#075867);box-shadow:0 8px 18px rgba(15,141,131,.2);font-size:19px;font-weight:900}.portfolio-kpi-icon.warning{color:#593800;background:linear-gradient(145deg,#ffe49c,#e6ad3e)}.portfolio-kpi-icon.document{background:linear-gradient(145deg,#437ec3,#173d78)}.portfolio-kpis article>div{display:grid;min-width:0}.portfolio-kpis small{color:#607487;font-size:11px;font-weight:800}.portfolio-kpis strong{font-size:25px;line-height:1.1}.portfolio-kpis p{overflow:hidden;margin:3px 0 0;color:#53687a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.portfolio-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 2px 12px}.portfolio-section-head .eyebrow{margin:0 0 2px}.portfolio-section-head h2{margin:0;font-size:24px;letter-spacing:-.03em}.portfolio-section-head>a{font-size:12px;font-weight:850}.portfolio-visuals{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:14px;margin-top:30px}.portfolio-visuals>.portfolio-section-head{grid-column:1/-1}.portfolio-chart-card{min-height:260px;padding:18px;border:1px solid rgba(174,199,206,.82);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(241,248,249,.8));box-shadow:0 12px 30px rgba(7,27,45,.07);backdrop-filter:blur(12px)}.portfolio-chart-card>header{display:flex;align-items:start;justify-content:space-between;gap:15px}.portfolio-chart-card h3{margin:0;font-size:17px}.portfolio-chart-card header p{margin:2px 0 0;color:#66788b;font-size:11px}.portfolio-chart-card header>span{padding:4px 8px;border-radius:99px;color:#0c6f69;background:#e3f5f2;font-size:10px;font-weight:850}.renewal-bars{display:grid;gap:12px;margin-top:22px}.renewal-row{display:grid;grid-template-columns:92px minmax(80px,1fr) 22px;align-items:center;gap:10px}.renewal-row>span{color:#405668;font-size:11px}.renewal-row>b{text-align:right;font-size:12px}.renewal-track{height:12px;overflow:hidden;border-radius:99px;background:#e1eaed}.renewal-track i{display:block;min-width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f8d83,#4fd1c5)}.renewal-track i.expired{background:#b94a48}.renewal-track i.urgent{background:#d56c32}.renewal-track i.warning{background:#dcaa3a}.renewal-track i.watch{background:#4382bc}.renewal-track i.future{background:#138f83}.readiness-rings{display:flex;align-items:center;justify-content:space-around;gap:16px;margin-top:25px}.readiness-metric{display:grid;justify-items:center;gap:10px;text-align:center}.portfolio-ring{display:grid;width:104px;height:104px;place-items:center;border-radius:50%;background:conic-gradient(#0f9488 calc(var(--progress)*1%),#dce8ea 0);position:relative}.portfolio-ring.rules{background:conic-gradient(#3e77b8 calc(var(--progress)*1%),#dce8ea 0)}.portfolio-ring:after{position:absolute;inset:12px;border-radius:50%;background:#f8fbfb;content:""}.portfolio-ring span{z-index:1;font-size:19px;font-weight:900}.readiness-metric p{display:grid;margin:0}.readiness-metric b{font-size:12px}.readiness-metric small,.chart-caveat{color:#65788a;font-size:10px}.chart-caveat{display:block;margin-top:20px;padding-top:11px;border-top:1px solid #dce6e9}.progress-heading{margin-top:30px}.portfolio-progress-grid{gap:14px}.portfolio-progress-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,250,250,.86));backdrop-filter:blur(10px)}.portfolio-progress-card:before{position:absolute;right:-34px;top:-38px;width:115px;height:115px;border:22px solid rgba(22,158,146,.06);border-radius:50%;content:""}.portfolio-progress-card h3{margin:6px 0 13px}.progress-label{display:flex;justify-content:space-between;color:#53687a;font-size:11px}.portfolio-progress-card>.warning{font-size:12px}.portfolio-progress-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:13px;padding-top:10px;border-top:1px solid #dfe8eb;color:#627589;font-size:10px}.portfolio-progress-card footer b{color:#1f5360}.license-state.urgent{color:#932f22;background:#fee2d5}.license-card-detailed{background:radial-gradient(circle at 94% 4%,rgba(65,211,195,.12),transparent 27%),linear-gradient(145deg,rgba(255,255,255,.94),rgba(240,248,249,.82));backdrop-filter:blur(14px)}.license-card-detailed .license-card-main{padding-right:0}.license-card-detailed .license-facts{grid-template-columns:.8fr .7fr .95fr .75fr 1.2fr}.license-facts .wide{min-width:0}.license-facts small{color:#7a4b00}.license-progress-block{margin:11px 0;padding:12px;border:1px solid #d3e2e5;border-radius:12px;background:rgba(247,251,251,.78)}.license-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.license-progress-head>div{display:grid}.license-progress-head span{color:#607487;font-size:10px}.license-progress-head b{font-size:12px}.license-progress-head>strong{font-size:18px;color:#087c73}.license-progress-block .bar{height:7px;margin:8px 0}.license-rule-source{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#52697a;font-size:10px}.license-rule-source>span{color:#087b71;font-weight:850}.license-rule-source a{font-weight:850}.license-rule-source small{margin-left:auto}.license-components{margin-top:8px;padding-top:8px;border-top:1px solid #e0e9eb}.license-components summary{cursor:pointer;color:#315361;font-size:10px;font-weight:850}.license-components p{display:grid;grid-template-columns:1fr auto auto;gap:9px;margin:7px 0 0;font-size:9px}.license-components em{color:#7c5410;font-style:normal}.license-rule-missing{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:9px}.license-rule-missing>span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#744c08;background:#ffe7a6;font-weight:900}.license-rule-missing p{display:grid;margin:0}.license-rule-missing b{font-size:11px}.license-rule-missing small{max-width:620px;color:#695a3c;font-size:9px;line-height:1.35}.license-rule-missing a{font-size:9px;font-weight:850;white-space:nowrap}.license-card-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding-top:9px;border-top:1px solid #e1e9ed;color:#607487;font-size:9px}.license-card-foot nav{display:flex;gap:6px}.license-card-foot nav a{padding:5px 8px;border-radius:7px;color:#086e68;background:#e4f4f2;font-weight:850}.license-hero dl{flex-wrap:wrap}.license-hero dl div{min-width:82px}
@media(max-width:1100px){.portfolio-kpis{grid-template-columns:repeat(2,1fr)}.portfolio-visuals{grid-template-columns:1fr}.license-card-detailed .license-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.portfolio-kpis{grid-template-columns:1fr}.portfolio-visuals{grid-template-columns:1fr}.readiness-rings{align-items:start}.portfolio-section-head{align-items:start;flex-direction:column}.license-card-detailed .license-facts{grid-template-columns:1fr 1fr}.license-rule-missing{grid-template-columns:27px 1fr}.license-rule-missing a{grid-column:2}.license-card-foot{align-items:flex-start;flex-direction:column}.license-card-foot nav{flex-wrap:wrap}.portfolio-progress-card footer{flex-direction:column}}
@media(max-width:460px){.license-card-detailed .license-facts{grid-template-columns:1fr}.readiness-rings{flex-direction:column}.renewal-row{grid-template-columns:82px 1fr 20px}}
@media(prefers-reduced-motion:reduce){.portfolio-ring,.renewal-track i{transition:none}}

/* Clear renewal countdown and credential-document status. */
.renewal-countdown{display:grid;grid-template-columns:1fr auto;gap:2px 16px;margin:0 0 13px;padding:13px 15px;border:1px solid #b8d9d5;border-left:5px solid #0f8d83;border-radius:11px;background:#effaf8}
.renewal-countdown span{color:#52697a;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.renewal-countdown strong{grid-row:2;color:#102332;font-size:18px}
.renewal-countdown b{grid-column:2;grid-row:1/3;align-self:center;padding:7px 10px;border-radius:999px;color:#075f59;background:#d3f4ee;font-size:13px}
.renewal-countdown.warning{border-left-color:#d7a229;background:#fff9e8}.renewal-countdown.warning b{color:#714906;background:#ffeab4}
.renewal-countdown.urgent,.renewal-countdown.expired{border-left-color:#b33b2e;background:#fff1ee}.renewal-countdown.urgent b,.renewal-countdown.expired b{color:#8f291e;background:#ffdcd5}
.credential-status-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:11px 12px;border:1px solid #d7e4e7;border-radius:10px;color:#40596a;background:#f4f8f9;font-size:11px}
.credential-status-strip b{color:#153e4b}.credential-status-strip a{font-weight:850;white-space:nowrap}
@media(max-width:720px){.credential-status-strip{align-items:flex-start;flex-direction:column}.renewal-countdown{grid-template-columns:1fr}.renewal-countdown b{grid-column:1;grid-row:auto;justify-self:start}}
