/* Approved overview visual; all drawing remains native HTML/CSS/SVG. */
body.overview-tech:not(.access-gated){background:#f3f8ff}
.overview-tech #portalApp .shell{margin-left:0}
.overview-tech #portalApp .sidebar{position:fixed;top:0;left:0;height:100svh;z-index:40;transform:translateX(-100%);visibility:hidden;box-shadow:10px 0 35px #00376926;transition:transform .18s ease}
.overview-tech #portalApp .sidebar.open{transform:translateX(0);visibility:visible}
.overview-tech #portalApp .portal-shell-top .mobile-menu{display:flex!important;align-items:center;justify-content:center;border:1px solid #d7e4f8;border-radius:8px;background:#f8fbff;color:#174b8b;width:33px;min-width:33px;height:34px;padding:0;font-size:17px}
.overview-tech #portalApp .shell>header.portal-shell-header{padding:15px 25px;min-height:80px;background:linear-gradient(110deg,#fff,#f6faff);border-bottom:1px solid #d1e3ff;box-shadow:0 2px 9px #145de708}
.overview-tech #portalApp .shell>main{padding:30px 32px 12px!important;max-width:1720px}
.overview-tech #portalApp .shell>footer.bp-footer{max-width:1656px;width:calc(100% - 64px);margin-top:8px}
.tech-dashboard{position:relative;isolation:isolate}
.tech-dashboard:before{content:'';position:absolute;z-index:-1;pointer-events:none;top:-32px;right:-15px;width:520px;height:130px;opacity:.35;background:radial-gradient(circle at 80% 20%,#81b8ff40 1px,transparent 2px) 0 0/17px 17px;mask-image:linear-gradient(to left,#000,transparent)}
.tech-dashboard .bp-welcome{margin-bottom:27px;align-items:center;gap:22px}
.tech-dashboard .bp-welcome h1{font-size:34px!important;color:#07316a;letter-spacing:-1px;margin-bottom:9px}
.tech-dashboard .bp-welcome p{font-size:16px;line-height:1.5;color:#43658d}
.tech-dashboard .bp-orange{width:48px;height:5px;margin-bottom:13px;background:#fa8b0c}
.tech-dashboard .bp-update{border-color:#c9dfff;background:#f8fbff;box-shadow:0 3px 12px #0d5edf04;font-size:12px;flex:none}
.tech-dashboard .bp-metrics{gap:15px;margin-bottom:20px}
.tech-dashboard .bp-metric{position:relative;isolation:isolate;overflow:hidden;padding:21px 18px;min-height:153px;border-radius:13px;box-shadow:0 3px 12px #1c68bd0d;border-color:#d2e2f9;gap:13px;background:linear-gradient(140deg,#fff,#f3f8ff)}
.tech-dashboard .bp-metric:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:210px;height:210px;right:-95px;bottom:-185px;border:1px solid #bfd8ff6b;border-radius:45%;transform:rotate(-20deg)}
.tech-dashboard .bp-metric-icon{width:43px;height:43px;background:linear-gradient(135deg,#ecf4ff,#d4e5ff);color:#0959ee;box-shadow:inset 0 1px 2px #fff7}
.tech-dashboard .bp-metric-icon .ico{width:26px;height:26px}
#main .tech-dashboard .bp-metric>div>span{font-size:14px!important;line-height:1.4;font-weight:550;color:#143b70}
.tech-dashboard .bp-metric strong{font-size:35px;line-height:1.2;font-weight:750;color:#06326e;letter-spacing:-.9px;margin-top:7px}
#main .tech-dashboard .bp-metric strong small{font-size:25px!important;font-weight:450;letter-spacing:-.5px}
.tech-dashboard .bp-blue{padding-right:103px;border-color:#c8ddff;background:linear-gradient(125deg,#fff,#f0f7ff)}
.tech-execution-ring{position:absolute;right:12px;top:18px;width:77px;height:77px}
.tech-execution-ring svg{width:100%;height:100%}
.tech-execution-ring text{font-family:inherit;font-size:17px;font-weight:750;fill:#103c7d}
.tech-dashboard .bp-progress{height:8px;left:18px;right:18px;bottom:19px;background:#caddff;box-shadow:inset 0 1px 2px #9bb6dd20}
.tech-dashboard .bp-progress i{background:linear-gradient(90deg,#124bff,#147dff)}
.tech-dashboard .bp-green{border-color:#c6eadc;background:linear-gradient(130deg,#fff,#effaf5)}
.tech-dashboard .bp-green .bp-metric-icon{background:linear-gradient(140deg,#e2f9e9,#ccefd9);color:#078b31}
.tech-completed-steps{position:absolute;bottom:19px;left:18px;right:18px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.tech-completed-steps i{height:8px;border-radius:5px;background:#d2e2ec;box-shadow:inset 0 1px 2px #a6c2d21a}
.tech-completed-steps i.done{background:linear-gradient(90deg,#00a878,#078c65)}
.tech-dashboard .bp-orange-card{border-color:#f2dfc9;background:linear-gradient(130deg,#fff,#fff8ed)}
.tech-dashboard .bp-orange-card .bp-metric-icon{background:#fff0d8;color:#f38500}
.tech-dashboard .bp-schedule-state{background:#ffedcf;color:#c77808;font-size:13px;margin:10px 0 2px;padding:5px 12px;font-weight:650}
#main .tech-dashboard .bp-metric>div>small{font-size:12px!important;color:#6a7992;line-height:1.45}
.tech-dashboard .bp-purple{border-color:#dfd2ff;background:linear-gradient(130deg,#fff,#f6f1ff)}
.tech-dashboard .bp-purple .bp-metric-icon{background:linear-gradient(140deg,#eee5ff,#dfd2ff);color:#7734ed}
.tech-dashboard .bp-metric-arrow{color:#7137df;font-size:24px;right:18px;bottom:13px}
.tech-dashboard .bp-middle{grid-template-columns:1.08fr 1fr;gap:17px;margin-bottom:19px}
.tech-dashboard .bp-panel{border-radius:14px;border-color:#cde0fc;box-shadow:0 3px 12px #1c68bd0d;padding:23px 24px;background:#fff}
.tech-dashboard .bp-panel h2{font-size:22px;color:#07336f;letter-spacing:-.5px;gap:12px;margin-bottom:19px;line-height:1.3}
.tech-dashboard .bp-panel h2>.ico{width:38px;height:38px;padding:7px;border-radius:9px;border:1px solid #e0eaff;background:linear-gradient(145deg,#f2f7ff,#e1ebff);color:#1259f1}
#main .tech-dashboard .bp-panel.tech-summary{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(132deg,#08396e,#03284e 75%,#043975);border:1px solid #1477c8;box-shadow:0 5px 16px #0d67b51b,inset 0 1px 0 #48a5fd55;color:#fff}
.tech-summary:before,.tech-summary:after{content:'';position:absolute;pointer-events:none;z-index:-1;right:-165px;bottom:-150px;width:620px;height:310px;border:1px solid #1a6cbf4d;border-radius:50%;transform:rotate(-24deg)}
.tech-summary:after{bottom:-173px;right:-135px;border-color:#1886df3b}
#main .tech-summary h2{color:#fff}
#main .tech-summary h2>.ico{background:linear-gradient(135deg,#155c9d,#07376b);border:1px solid #3b87c488;color:#e3f2ff}
#main .tech-summary>p{color:#edf5ff!important;font-size:16px!important;line-height:1.65!important;margin-bottom:18px}
#main .tech-summary .bp-maturity{display:flex;align-items:center;gap:16px;padding:17px 16px;margin:0 0 17px;border:1px solid #2b6e9d;background:linear-gradient(125deg,#103f70cc,#164b7f88);border-radius:11px;color:#fff}
.tech-summary .bp-maturity-chart{color:#00b6f3;display:block}
.tech-summary .bp-maturity-chart>.ico{width:30px;height:30px}
#main .tech-summary .bp-maturity b{font-size:16px;color:#fff;line-height:1.45}
#main .tech-summary .bp-maturity small,#main .tech-summary .bp-maturity span:not(.ico):not(.bp-maturity-chart){color:#e0edfd;font-size:12px!important;line-height:1.55}
#main .tech-summary .bp-next-level{border-left:1px solid #a7ceeb80;margin-left:auto;padding-left:19px}
.tech-maturity-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:12px;max-width:245px}
.tech-maturity-steps i{height:10px;border-radius:4px;border:1px solid #4a7ca544;background:#31577c88}
.tech-maturity-steps i.filled{background:linear-gradient(90deg,#0662ff,#08a5eb);border-color:#12a2f577}
.tech-next-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px;width:138px;max-width:100%}
.tech-next-steps i{height:8px;border-radius:4px;background:#7595b7aa;border:1px solid #8babcb33}
#main .tech-summary .bp-link{color:#d6e9ff;font-size:14px;margin-top:auto}
.tech-summary{display:flex;flex-direction:column}
#main .tech-commitments{padding:22px 20px 18px;display:flex;flex-direction:column}
.tech-commitments h2{margin-left:4px}
#main .tech-commitments .bp-appointments{margin:0;padding:0;display:grid;gap:8px}
#main .tech-commitments .tech-appointment{position:relative;display:grid;grid-template-columns:45px 21px minmax(0,1fr) auto 12px;gap:9px;align-items:center;padding:11px 10px;margin:0;border:1px solid transparent;border-radius:9px;min-height:83px;text-decoration:none;color:#123d78}
.tech-appointment.done{background:linear-gradient(105deg,#eefaf1,#f4fbf4)}
.tech-appointment.underway{background:linear-gradient(105deg,#edf4ff,#f2f6ff)}
.tech-appointment.planned{background:linear-gradient(105deg,#fff7eb,#fffaf2)}
#main .tech-appointment .bp-date{width:45px;min-height:53px;border-radius:8px;color:#1457e6;background:#dceaff;gap:3px}
#main .tech-appointment .bp-date b{font-size:18px;font-weight:650;line-height:1.1}
#main .tech-appointment .bp-date small{font-size:12px;line-height:1.3;color:inherit}
#main .tech-appointment.done .bp-date{background:#d6f3dc;color:#148336}
#main .tech-appointment.planned .bp-date{background:#ffe9c6;color:#dc7600}
.tech-timeline-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;z-index:1;position:relative;color:#155efa;background:#e1edff;border:1px solid #88bcff;box-shadow:0 0 0 3px #fff}
.tech-timeline-icon>.ico{width:14px;height:14px}
.tech-appointment.done .tech-timeline-icon{color:#fff;background:#12933e;border:0}
.tech-appointment.planned .tech-timeline-icon{background:#fff3df;color:#ef8b00;border-color:#ef9d3f}
.tech-timeline-icon:after{content:'';position:absolute;top:24px;left:9px;width:1px;height:68px;background:#b3d2ec;z-index:-1}
.tech-appointment:last-child .tech-timeline-icon:after{display:none}
#main .tech-appointment>span.tech-appointment-copy{min-width:0;flex:none}
#main .tech-appointment-copy>b{font-size:14px;line-height:1.4;color:#0c3570;display:block;font-weight:650}
#main .tech-appointment-copy>small{font-size:13px;line-height:1.5;color:#45668d;display:block;margin-top:3px}
.tech-appointment-status{padding:5px 10px;border-radius:18px;background:#dce9ff;color:#1556de;font-size:11px;line-height:1.4;font-weight:650;white-space:nowrap;text-align:center;min-width:92px}
.tech-appointment.done .tech-appointment-status{color:#18843a;background:#d6f1da}
.tech-appointment.planned .tech-appointment-status{color:#c97806;background:#ffeacb}
#main .tech-appointment .bp-chevron{font-size:22px;color:#075af1;line-height:1}
.tech-appointment-legend{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin:13px 5px 10px;padding-top:11px;border-top:1px solid #dce8f8;font-size:11px;color:#4e6c94}
.tech-appointment-legend>span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.tech-appointment-legend .ico{width:16px;height:16px}
.tech-appointment-legend .done .ico{color:#14943b}
.tech-appointment-legend .planned .ico{color:#eb8800}
.tech-appointment-legend .underway i{display:block;width:10px;height:10px;background:#1461ff;border-radius:50%;box-shadow:0 0 0 3px #e3eeff}
.tech-commitments>.bp-link{font-size:14px;margin:0 5px;min-height:24px}
.tech-dashboard .bp-deliverables{padding:19px 24px 20px;border-color:#cde1ff;box-shadow:0 3px 12px #1c68bd0d}
.tech-dashboard .bp-deliverables h2{font-size:22px;margin-bottom:10px}
.tech-dashboard .bp-delivery{grid-template-columns:28px minmax(200px,1fr) minmax(200px,1.5fr) auto;gap:14px;padding:14px 0;border-bottom-color:#e1ebf8}
.tech-dashboard .bp-delivery>b{font-size:15px;line-height:1.5;font-weight:650;color:#09376c}
.tech-dashboard .bp-delivery>span:not(.bp-delivery-state){font-size:14px;color:#4b6a8f}
.tech-dashboard .bp-badge{font-size:12px!important;font-weight:600;min-width:138px;padding:5px 12px;line-height:1.5}
.tech-dashboard .bp-badge.green{background:#dbf4dc;color:#218333}
.tech-dashboard .bp-badge.blue{background:#e0ebff;color:#1555df}
.tech-dashboard .bp-badge.orange{background:#ffefda;color:#bc760b}
.tech-dashboard .bp-deliverables>.bp-link{font-size:14px;margin-top:15px}
.overview-tech .bp-footer-signature>span{font-size:13px}
@media(min-width:1550px){.overview-tech #portalApp .shell>main{padding-top:32px!important}.tech-dashboard .bp-metric{min-height:153px}.tech-dashboard .bp-middle{gap:20px}.tech-dashboard .bp-panel{padding:26px}.tech-dashboard .bp-panel h2{font-size:23px}.tech-dashboard .bp-delivery{padding:15px 0}.tech-dashboard .bp-metric strong{font-size:39px}.tech-execution-ring{width:83px;height:83px;right:14px;top:14px}}
@media(max-width:1200px){.overview-tech #portalApp .shell>main{padding:27px 24px 12px!important}.overview-tech #portalApp .shell>footer.bp-footer{width:calc(100% - 48px)}.tech-dashboard .bp-middle{grid-template-columns:1fr 1fr;gap:14px}.tech-dashboard .bp-panel{padding:20px 18px}.tech-dashboard .bp-panel h2{font-size:20px}.tech-dashboard .bp-blue{padding-right:76px}.tech-execution-ring{width:61px;height:61px;right:8px;top:24px}.tech-dashboard .bp-metric{padding-left:14px;gap:8px}.tech-dashboard .bp-metric-icon{width:35px;height:35px}.tech-dashboard .bp-metric-icon>.ico{width:23px;height:23px}.tech-dashboard .bp-metric strong{font-size:31px}#main .tech-dashboard .bp-metric strong small{font-size:21px!important}#main .tech-dashboard .bp-metric>div>span{font-size:13px!important}.tech-completed-steps{left:14px;right:14px}.tech-dashboard .bp-schedule-state{font-size:12px;padding:4px 8px}#main .tech-summary .bp-maturity{padding:14px 12px;gap:11px}#main .tech-summary .bp-maturity b{font-size:14px}.tech-summary .bp-maturity-chart{display:none}#main .tech-summary .bp-next-level{padding-left:11px}.tech-next-steps{width:110px}.tech-maturity-steps{max-width:190px}#main .tech-commitments{padding:20px 14px 17px}#main .tech-commitments .tech-appointment{grid-template-columns:40px 18px minmax(0,1fr) 12px;gap:8px;padding:10px 8px}#main .tech-appointment .bp-date{width:40px;grid-row:1/3;min-height:52px}.tech-timeline-icon{grid-column:2;grid-row:1/3;width:18px;height:18px}.tech-timeline-icon:after{left:8px;top:21px;height:93px}#main .tech-appointment>span.tech-appointment-copy{grid-column:3;grid-row:1}.tech-appointment-status{grid-column:3;grid-row:2;justify-self:start;font-size:10px;min-width:0;padding:3px 9px}#main .tech-appointment .bp-chevron{grid-column:4;grid-row:1/3}#main .tech-appointment-copy>b{font-size:13px}#main .tech-appointment-copy>small{font-size:12px}.tech-appointment-legend{gap:12px;font-size:10px}.tech-dashboard .bp-delivery{grid-template-columns:26px minmax(160px,1fr) minmax(160px,1.4fr) auto;gap:12px}.tech-dashboard .bp-badge{min-width:118px;font-size:11px!important}}
@media(max-width:950px){.tech-dashboard .bp-middle{grid-template-columns:1fr}.tech-dashboard .bp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-dashboard .bp-welcome{flex-wrap:wrap;gap:12px}.tech-dashboard .bp-welcome h1{font-size:32px!important}.tech-dashboard .bp-update{margin:0}.tech-dashboard .bp-metric{min-height:145px}.tech-execution-ring{width:78px;height:78px;right:15px;top:17px}.tech-dashboard .bp-blue{padding-right:100px}.tech-dashboard .bp-metric strong{font-size:35px}#main .tech-dashboard .bp-metric>div>span{font-size:14px!important}#main .tech-summary .bp-maturity b{font-size:16px}.tech-summary .bp-maturity-chart{display:block}.tech-maturity-steps{max-width:240px}#main .tech-commitments .tech-appointment{grid-template-columns:45px 21px minmax(0,1fr) auto 12px;gap:10px;padding:12px 10px}#main .tech-appointment .bp-date{width:45px;grid-row:auto}.tech-timeline-icon{grid-column:auto;grid-row:auto;width:21px;height:21px}.tech-timeline-icon:after{left:9px;top:24px;height:75px}#main .tech-appointment>span.tech-appointment-copy{grid-column:auto;grid-row:auto}.tech-appointment-status{grid-column:auto;grid-row:auto;min-width:92px;font-size:11px;padding:5px 10px;justify-self:auto}#main .tech-appointment .bp-chevron{grid-column:auto;grid-row:auto}#main .tech-appointment-copy>b{font-size:14px}#main .tech-appointment-copy>small{font-size:13px}.tech-appointment-legend{font-size:11px;gap:17px}}
@media(max-width:700px){.overview-tech #portalApp .shell>header.portal-shell-header{padding:12px 15px;min-height:75px}.overview-tech #portalApp .shell>main{padding:24px 16px 10px!important}.overview-tech #portalApp .shell>footer.bp-footer{width:calc(100% - 32px)}.tech-dashboard .bp-welcome{margin-bottom:20px}.tech-dashboard .bp-welcome h1{font-size:28px!important;letter-spacing:-.6px}.tech-dashboard .bp-welcome p{font-size:16px}.tech-dashboard .bp-orange{width:40px;height:4px}.tech-dashboard .bp-update{font-size:11px}.tech-dashboard .bp-metrics{gap:11px;margin-bottom:16px}.tech-dashboard .bp-metric{padding:14px 11px;min-height:154px;display:block}.tech-dashboard .bp-metric-icon{width:30px;height:30px;margin-bottom:8px}.tech-dashboard .bp-metric-icon>.ico{width:20px;height:20px}#main .tech-dashboard .bp-metric>div>span{font-size:12px!important;line-height:1.4}.tech-dashboard .bp-metric strong{font-size:29px}#main .tech-dashboard .bp-metric strong small{font-size:19px!important}.tech-dashboard .bp-blue{padding-right:11px}.tech-execution-ring{position:absolute;width:53px;height:53px;right:8px;top:11px}.tech-dashboard .bp-progress{left:11px;right:11px;height:7px;bottom:14px}.tech-completed-steps{left:11px;right:11px;bottom:14px;gap:3px}.tech-completed-steps i{height:7px}.tech-dashboard .bp-green .bp-metric-icon{margin-bottom:8px}.tech-dashboard .bp-metric strong{margin-top:4px}.tech-dashboard .bp-green>div:not(.tech-completed-steps){padding-bottom:16px}.tech-dashboard .bp-schedule-state{font-size:10px;line-height:1.4;padding:4px 7px;margin-top:7px}#main .tech-dashboard .bp-metric>div>small{font-size:10px!important;margin-top:5px}.tech-dashboard .bp-panel{padding:20px 17px;border-radius:12px}.tech-dashboard .bp-panel h2{font-size:20px;gap:10px;margin-bottom:17px}#main .tech-summary>p{font-size:16px!important;line-height:1.6!important}#main .tech-summary .bp-maturity{padding:14px 12px;gap:12px;flex-wrap:wrap}#main .tech-summary .bp-maturity b{font-size:14px}.tech-summary .bp-maturity-chart{display:none}#main .tech-summary .bp-maturity small,#main .tech-summary .bp-maturity span:not(.ico):not(.bp-maturity-chart){font-size:11px!important}#main .tech-summary .bp-next-level{padding-left:12px;margin-left:auto}.tech-next-steps{width:115px}.tech-maturity-steps{max-width:155px;gap:3px}.tech-maturity-steps i{height:8px}.tech-next-steps i{height:7px}#main .tech-commitments{padding:20px 13px 17px}#main .tech-commitments .tech-appointment{grid-template-columns:37px 17px minmax(0,1fr) 11px;gap:6px;padding:10px 7px;min-height:97px}#main .tech-appointment .bp-date{width:37px;min-height:49px;grid-row:1/3}#main .tech-appointment .bp-date b{font-size:17px}#main .tech-appointment .bp-date small{font-size:11px}.tech-timeline-icon{width:17px;height:17px;grid-column:2;grid-row:1/3}.tech-timeline-icon>.ico{width:12px;height:12px}.tech-timeline-icon:after{left:7px;top:20px;height:104px}#main .tech-appointment>span.tech-appointment-copy{grid-column:3;grid-row:1}#main .tech-appointment-copy>b{font-size:13px}#main .tech-appointment-copy>small{font-size:12px}.tech-appointment-status{grid-column:3;grid-row:2;justify-self:start;min-width:0;font-size:10px;padding:3px 8px}#main .tech-appointment .bp-chevron{grid-column:4;grid-row:1/3;font-size:21px}.tech-appointment-legend{gap:10px;font-size:10px;margin-left:4px;margin-right:4px}.tech-appointment-legend .ico{width:14px;height:14px}.tech-dashboard .bp-deliverables{padding:19px 16px}.tech-dashboard .bp-deliverables h2{font-size:20px}.tech-dashboard .bp-delivery{grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:13px 0}.tech-dashboard .bp-delivery>b{font-size:13px}.tech-dashboard .bp-delivery>span:not(.bp-delivery-state){grid-column:2/-1;grid-row:2;font-size:13px}.tech-dashboard .bp-badge{font-size:10px!important;min-width:0;padding:4px 7px}.tech-dashboard .bp-deliverables>.bp-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){.overview-tech #portalApp .sidebar{transition:none}}

@media(max-width:700px){.tech-execution-ring{width:47px;height:47px;top:9px}}
