
/* Enterprise Digital Twin Platform — Professional UI System */
:root{
  --pro-bg:#f6f7fb;--pro-panel:#ffffff;--pro-panel-2:#f8fafc;--pro-text:#111827;
  --pro-muted:#667085;--pro-subtle:#98a2b3;--pro-border:#e4e7ec;--pro-border-strong:#d0d5dd;
  --pro-primary:#4f46e5;--pro-primary-hover:#4338ca;--pro-primary-soft:#eef2ff;
  --pro-success:#067647;--pro-success-soft:#ecfdf3;--pro-warning:#b54708;--pro-warning-soft:#fffaeb;
  --pro-danger:#b42318;--pro-danger-soft:#fef3f2;--pro-info:#175cd3;--pro-info-soft:#eff8ff;
  --pro-shadow-xs:0 1px 2px rgba(16,24,40,.05);--pro-shadow-sm:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);
  --pro-shadow-md:0 8px 24px rgba(16,24,40,.08);--pro-radius:12px;--pro-radius-lg:16px;
  --sidebar-width:256px;--header-height:64px;
}
html[data-theme="dark"]{
  --pro-bg:#0b0f17;--pro-panel:#111827;--pro-panel-2:#151d2b;--pro-text:#f2f4f7;
  --pro-muted:#98a2b3;--pro-subtle:#667085;--pro-border:#263244;--pro-border-strong:#344054;
  --pro-primary:#818cf8;--pro-primary-hover:#a5b4fc;--pro-primary-soft:#202551;
  --pro-success:#75e0a7;--pro-success-soft:#123326;--pro-warning:#fec84b;--pro-warning-soft:#3b2915;
  --pro-danger:#fda29b;--pro-danger-soft:#3b1f21;--pro-info:#84caff;--pro-info-soft:#142f4d;
  --pro-shadow-xs:0 1px 2px rgba(0,0,0,.25);--pro-shadow-sm:0 1px 3px rgba(0,0,0,.32);--pro-shadow-md:0 12px 28px rgba(0,0,0,.34)
}
html[data-accent]{--accent:var(--pro-primary);--accent-2:#7c3aed}
*{box-sizing:border-box}
html{background:var(--pro-bg)}
body{margin:0;background:var(--pro-bg)!important;color:var(--pro-text)!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;line-height:1.55;-webkit-font-smoothing:antialiased}
body.pro-ready{overflow-x:hidden}
a{color:var(--pro-primary)}
a:hover{text-decoration:none}
.pro-app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.pro-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:100;background:#101828;color:#d0d5dd;border-right:1px solid #1d2939;display:flex;flex-direction:column}
.pro-brand{height:72px;padding:16px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #1d2939;color:white!important;text-decoration:none!important}
.pro-brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#6366f1,#4338ca);display:grid;place-items:center;box-shadow:0 7px 18px rgba(79,70,229,.3);font-weight:800;letter-spacing:-.03em}
.pro-brand-copy{min-width:0}.pro-brand-copy strong{display:block;font-size:.9rem;line-height:1.2;white-space:nowrap}.pro-brand-copy small{display:block;color:#98a2b3;font-size:.7rem;margin-top:3px}
.pro-nav{padding:14px 12px;overflow:auto;flex:1;scrollbar-width:thin}.pro-nav-group{margin-bottom:17px}.pro-nav-title{padding:0 10px 7px;color:#667085;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pro-nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:40px;padding:9px 10px;margin:2px 0;border-radius:8px;color:#cbd5e1!important;font-size:.83rem;font-weight:560;text-decoration:none!important;transition:background .15s,color .15s}
.pro-nav-link:hover{background:#1d2939;color:white!important}.pro-nav-link.active{background:#293056;color:white!important}.pro-nav-link.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:#818cf8}
.pro-nav-icon{width:18px;height:18px;display:grid;place-items:center;color:#98a2b3;flex:0 0 auto}.pro-nav-link.active .pro-nav-icon,.pro-nav-link:hover .pro-nav-icon{color:#a5b4fc}.pro-nav-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.pro-sidebar-footer{padding:12px;border-top:1px solid #1d2939}.pro-status{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;background:#162033;font-size:.73rem;color:#98a2b3}.pro-status-dot{width:7px;height:7px;border-radius:50%;background:#17b26a;box-shadow:0 0 0 3px rgba(23,178,106,.14)}
.pro-main{grid-column:2;min-width:0;min-height:100vh}
.pro-header{height:var(--header-height);position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--pro-panel) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--pro-border);display:flex;align-items:center;padding:0 28px;gap:16px}
.pro-menu{display:none}.pro-crumbs{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;font-size:.78rem;color:var(--pro-muted)}.pro-crumbs a{color:var(--pro-muted)}.pro-crumbs strong{color:var(--pro-text);font-weight:620;overflow:hidden;text-overflow:ellipsis}.pro-sep{color:var(--pro-subtle)}
.pro-header-spacer{flex:1}.pro-global-search{width:min(360px,34vw);position:relative}.pro-global-search input{width:100%;height:38px;border:1px solid var(--pro-border);background:var(--pro-panel-2);color:var(--pro-text);border-radius:9px;padding:0 38px 0 36px;outline:none;font:inherit;font-size:.8rem}.pro-global-search input:focus{background:var(--pro-panel);border-color:var(--pro-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--pro-primary) 14%,transparent)}.pro-search-icon{position:absolute;left:12px;top:10px;color:var(--pro-muted);width:17px;height:17px}.pro-key{position:absolute;right:9px;top:8px;border:1px solid var(--pro-border);background:var(--pro-panel);border-radius:5px;padding:2px 5px;font-size:.62rem;color:var(--pro-muted)}
.pro-icon-button{width:38px;height:38px;border:1px solid var(--pro-border);background:var(--pro-panel);color:var(--pro-muted);border-radius:9px;display:grid;place-items:center;cursor:pointer}.pro-icon-button:hover{color:var(--pro-primary);border-color:color-mix(in srgb,var(--pro-primary) 45%,var(--pro-border));background:var(--pro-primary-soft)}.pro-icon-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.pro-content{max-width:1500px;margin:0 auto;padding:28px 32px 64px}.pro-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.pro-page-header h1{font-size:clamp(1.65rem,3vw,2.25rem)!important;line-height:1.18!important;letter-spacing:-.035em!important;margin:0 0 7px!important;color:var(--pro-text)!important}.pro-page-header p{margin:0!important;max-width:850px;color:var(--pro-muted)!important;font-size:.94rem!important}.pro-page-kicker{display:block;margin-bottom:7px;color:var(--pro-primary);font-size:.69rem;font-weight:750;text-transform:uppercase;letter-spacing:.11em}.pro-page-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Hide legacy navigation and normalize legacy containers */
body.pro-ready>header.topbar,body.pro-ready>nav.topbar{display:none!important}body.pro-ready>main.container,body.pro-ready>main.shell,body.pro-ready>main.content{display:none!important}
.pro-content>.container,.pro-content>.shell,.pro-content>.content,.pro-content>main{display:block!important;max-width:none!important;padding:0!important;margin:0!important;background:transparent!important}
.pro-content .topbar{display:none!important}.pro-content>.container>h1:first-of-type,.pro-content>.shell>.hero:first-child,.pro-content>.content>.hero:first-child{display:none!important}.pro-content>.container>.eyebrow:first-child,.pro-content>.container>.lead:first-of-type{display:none!important}
/* Core components */
.pro-content .hero,.pro-content .twin-hero{background:var(--pro-panel)!important;border:1px solid var(--pro-border)!important;border-radius:var(--pro-radius-lg)!important;box-shadow:var(--pro-shadow-xs)!important;padding:24px!important;margin:0 0 20px!important;background-image:none!important}.pro-content .hero:after{display:none!important}.pro-content .hero h1{font-size:1.45rem!important}.pro-content .hero p{font-size:.9rem!important}.pro-content .hero .badge2{background:var(--pro-primary-soft)!important;color:var(--pro-primary)!important}
.pro-content .grid,.pro-content .card-grid,.pro-content .twin-grid,.pro-content .product-grid,.pro-content .acceptance-grid,.pro-content .hardening-grid{gap:16px!important;margin:0 0 20px!important}
.pro-content .card,.pro-content .twin-card,.pro-content .studio-panel,.pro-content .acceptance-card,.pro-content .suite-card,.pro-content .module-card{background:var(--pro-panel)!important;border:1px solid var(--pro-border)!important;border-radius:var(--pro-radius)!important;box-shadow:var(--pro-shadow-xs)!important;padding:20px!important;color:var(--pro-text)!important;transition:border-color .16s,box-shadow .16s,transform .16s!important}
.pro-content a.card:hover,.pro-content a.twin-card:hover,.pro-content a.studio-panel:hover,.pro-content a.acceptance-card:hover,.pro-content a.suite-card:hover,.pro-content a.module-card:hover{border-color:color-mix(in srgb,var(--pro-primary) 45%,var(--pro-border))!important;box-shadow:var(--pro-shadow-md)!important;transform:translateY(-2px)!important;text-decoration:none!important}
.pro-content .card h2,.pro-content .twin-card h2,.pro-content .studio-panel h2,.pro-content .acceptance-card h2,.pro-content .card h3{font-size:1rem!important;line-height:1.35!important;letter-spacing:-.01em!important;margin:0 0 7px!important;color:var(--pro-text)!important}.pro-content .card p,.pro-content .twin-card p,.pro-content .studio-panel p,.pro-content .acceptance-card p{font-size:.82rem!important;line-height:1.55!important;color:var(--pro-muted)!important;margin:.25rem 0!important}
.pro-content section{margin-bottom:20px}.pro-content h2{font-size:1.25rem;letter-spacing:-.025em}.pro-content h3{font-size:1rem}.pro-content .eyebrow{color:var(--pro-primary)!important;font-size:.68rem!important}.pro-content .lead{color:var(--pro-muted)!important;font-size:.94rem!important}
.pro-content .button,.pro-content .btn{border-radius:8px!important;min-height:38px!important;padding:8px 13px!important;font-size:.78rem!important;font-weight:650!important;box-shadow:none!important}.pro-content .button,.pro-content .btn.primary{background:var(--pro-primary)!important;color:white!important;border:1px solid var(--pro-primary)!important}.pro-content .btn:not(.primary){background:var(--pro-panel)!important;color:var(--pro-text)!important;border-color:var(--pro-border)!important}
.pro-content .badge,.pro-content .status,.pro-content .chip,.pro-content .badge2{display:inline-flex!important;align-items:center!important;border-radius:999px!important;padding:3px 8px!important;background:var(--pro-primary-soft)!important;color:var(--pro-primary)!important;border:0!important;font-size:.65rem!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important}
.pro-content .status-ok{color:var(--pro-success)!important}.pro-content .status-warn{color:var(--pro-warning)!important}.pro-content .status-bad{color:var(--pro-danger)!important}
/* KPI dashboard */
.pro-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.pro-kpi-card{background:var(--pro-panel);border:1px solid var(--pro-border);border-radius:var(--pro-radius);padding:17px 18px;box-shadow:var(--pro-shadow-xs)}.pro-kpi-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pro-kpi-label{font-size:.73rem;color:var(--pro-muted);font-weight:600}.pro-kpi-icon{width:32px;height:32px;border-radius:8px;background:var(--pro-primary-soft);color:var(--pro-primary);display:grid;place-items:center}.pro-kpi-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9}.pro-kpi-value{font-size:1.65rem;font-weight:720;letter-spacing:-.04em;line-height:1;color:var(--pro-text)}.pro-kpi-meta{margin-top:8px;font-size:.68rem;color:var(--pro-muted)}.pro-trend-up{color:var(--pro-success);font-weight:650}.pro-trend-warn{color:var(--pro-warning);font-weight:650}
.pro-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-bottom:20px}.pro-panel{background:var(--pro-panel);border:1px solid var(--pro-border);border-radius:var(--pro-radius);box-shadow:var(--pro-shadow-xs);overflow:hidden}.pro-panel-header{min-height:54px;padding:14px 18px;border-bottom:1px solid var(--pro-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.pro-panel-header h2{font-size:.92rem!important;margin:0!important;letter-spacing:-.01em}.pro-panel-body{padding:18px}.pro-activity{display:grid}.pro-activity-item{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:start;padding:12px 0;border-bottom:1px solid var(--pro-border)}.pro-activity-item:last-child{border-bottom:0}.pro-activity-icon{width:30px;height:30px;border-radius:8px;background:var(--pro-primary-soft);color:var(--pro-primary);display:grid;place-items:center;font-size:.72rem;font-weight:700}.pro-activity-item strong{font-size:.78rem;display:block}.pro-activity-item p{font-size:.7rem!important;margin:2px 0 0!important}.pro-activity-time{font-size:.65rem;color:var(--pro-subtle);white-space:nowrap}
.pro-health-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0}.pro-health-name{font-size:.75rem;font-weight:600}.pro-health-bar{grid-column:1/-1;height:6px;background:var(--pro-panel-2);border-radius:99px;overflow:hidden}.pro-health-bar span{display:block;height:100%;border-radius:99px;background:var(--pro-primary)}.pro-health-score{font-size:.7rem;color:var(--pro-muted)}
/* Tables */
.pro-content .table-wrap{border:1px solid var(--pro-border)!important;border-radius:10px!important;box-shadow:none!important;background:var(--pro-panel)!important}.pro-content table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:transparent!important;font-size:.76rem!important}.pro-content th{background:var(--pro-panel-2)!important;color:var(--pro-muted)!important;font-size:.68rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:700!important;border-bottom:1px solid var(--pro-border)!important;padding:10px 12px!important}.pro-content td{padding:11px 12px!important;border-bottom:1px solid var(--pro-border)!important;color:var(--pro-text)!important}.pro-content tr:last-child td{border-bottom:0!important}.pro-content tbody tr:hover td{background:color-mix(in srgb,var(--pro-primary) 3%,var(--pro-panel))!important}
/* Forms */
.pro-content input,.pro-content select,.pro-content textarea{border:1px solid var(--pro-border)!important;background:var(--pro-panel)!important;color:var(--pro-text)!important;border-radius:8px!important;min-height:38px!important;padding:8px 10px!important;font:inherit!important;font-size:.8rem!important}.pro-content input:focus,.pro-content select:focus,.pro-content textarea:focus{outline:none!important;border-color:var(--pro-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pro-primary) 13%,transparent)!important}
/* Details and code */
.pro-content details{background:var(--pro-panel)!important;border:1px solid var(--pro-border)!important;border-radius:10px!important;box-shadow:none!important;margin-bottom:10px!important}.pro-content details summary{padding:13px 16px!important;font-size:.82rem!important;font-weight:650!important}.pro-content .detail-body{padding:0 16px 15px!important}.code-shell{border-radius:10px!important;border:1px solid #344054!important;box-shadow:none!important;background:#1e222a!important}.code-shell pre{background:#1e222a!important}.copy-btn{border-radius:6px!important;background:#2b303b!important;border-color:#3b4351!important;color:#d7dae0!important}
/* Diagrams */
.pro-content .diagram,.pro-content .graph-shell,.pro-content .canvas{background:var(--pro-panel-2)!important;border:1px solid var(--pro-border)!important;border-radius:12px!important;padding:16px!important}.pro-content svg{max-width:100%;height:auto}
/* Section navigation cards */
.pro-content .twin-grid,.pro-content .product-grid,.pro-content .acceptance-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.pro-content .twin-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pro-content .twin-flow span{background:var(--pro-panel-2)!important;border:1px solid var(--pro-border)!important;border-radius:8px!important;padding:7px 10px!important;font-size:.72rem!important;color:var(--pro-text)!important}
/* Legacy top navigation links inside pages */
.pro-content .nav-actions{display:none!important}
/* Toast/search results */
.pro-command{position:fixed;inset:0;z-index:300;display:none;align-items:flex-start;justify-content:center;padding-top:12vh;background:rgba(16,24,40,.5);backdrop-filter:blur(3px)}.pro-command.open{display:flex}.pro-command-box{width:min(680px,calc(100vw - 32px));background:var(--pro-panel);border:1px solid var(--pro-border);border-radius:14px;box-shadow:0 24px 60px rgba(16,24,40,.25);overflow:hidden}.pro-command-input{padding:14px;border-bottom:1px solid var(--pro-border)}.pro-command-input input{width:100%;height:42px;border:0;background:transparent;color:var(--pro-text);outline:none;font-size:.92rem}.pro-command-results{max-height:430px;overflow:auto;padding:8px}.pro-command-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:8px;color:var(--pro-text)!important}.pro-command-result:hover{background:var(--pro-primary-soft)}.pro-command-result strong{font-size:.78rem}.pro-command-result small{color:var(--pro-muted);font-size:.67rem}
.pro-overlay{display:none}
@media(max-width:1180px){.pro-kpi-grid{grid-template-columns:repeat(2,1fr)}.pro-content .twin-grid,.pro-content .product-grid,.pro-content .acceptance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pro-global-search{width:280px}}
@media(max-width:900px){.pro-app{display:block}.pro-sidebar{transform:translateX(-100%);transition:transform .2s}.nav-open .pro-sidebar{transform:none}.pro-main{min-width:0}.pro-header{padding:0 16px}.pro-menu{display:grid}.pro-global-search{display:none}.pro-content{padding:22px 16px 80px}.pro-overlay{display:block;position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s}.nav-open .pro-overlay{opacity:1;pointer-events:auto}.pro-page-header{display:block}.pro-page-actions{margin-top:14px}.pro-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:620px){.pro-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.pro-kpi-card{padding:14px}.pro-kpi-value{font-size:1.35rem}.pro-content .twin-grid,.pro-content .product-grid,.pro-content .acceptance-grid{grid-template-columns:1fr!important}.pro-content .grid{display:grid!important;grid-template-columns:1fr!important}.pro-content [class*="span-"]{grid-column:auto!important}.pro-header{height:58px}.pro-crumbs span:not(:last-child),.pro-crumbs a{display:none}.pro-page-header h1{font-size:1.55rem!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.pro-sidebar,.pro-header,.pro-overlay,.pro-page-actions{display:none!important}.pro-app{display:block}.pro-main{display:block}.pro-content{max-width:none;padding:0}.pro-panel,.pro-content .card{box-shadow:none!important}}
