:root{--nav:#112232;--nav2:#14293b;--navborder:#2c4051;--orange:#e17c35;--orange2:#fff1e8;--ink:#1e2d3b;--muted:#7e8d9d;--line:#e4eaf0;--bg:#f4f6f8;--white:#fff;--teal:#1c9b8b;--blue:#347db9;--red:#cf6c5a;--shadow:0 6px 22px rgba(29,48,63,.035)}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue)}#app{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--nav);color:#b5c4d0;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto}.brand{height:86px;display:flex;gap:11px;align-items:center;padding:0 25px;color:white}.brand-mark{display:grid;place-items:center;height:37px;width:37px;background:var(--orange);border-radius:10px;box-shadow:0 2px 0 #bd652c}.brand-mark span{font-size:37px;line-height:1;color:white;font-weight:800;transform:rotate(-15deg)}.brand strong{font:800 22px/1 'Manrope',sans-serif;letter-spacing:-1px}.brand-dot{color:var(--orange)}.brand small{display:block;color:#9aafbf;letter-spacing:2.2px;font-size:8px;margin-top:7px;font-weight:700}.workspace-tag{margin:10px 14px 20px;padding:12px 10px;border:1px solid #364b5e;background:var(--nav2);border-radius:10px;display:flex;align-items:center;gap:9px}.workspace-icon{width:32px;height:32px;border-radius:8px;background:#376176;display:grid;place-items:center;color:#dbecf2;font-weight:800}.workspace-info{flex:1}.workspace-info b,.workspace-info span{display:block}.workspace-info b{color:#e7eff5;font-size:12px}.workspace-info span{font-size:10px;color:#8ea4b6;margin-top:3px}.chevron{color:#a4b5c3}.navgroup{padding:0 10px 15px}.navlabel{font-size:9px;color:#7f97a7;letter-spacing:1.6px;margin:14px 15px 9px;font-weight:800}.navitem{display:flex;gap:12px;align-items:center;width:100%;border:0;background:none;color:#acbdca;padding:11px 13px;text-align:left;border-radius:8px;font-weight:600;font-size:12px;margin:2px 0}.navitem:hover{background:#1b3548;color:white}.navitem.active{color:#fff;background:#314b5c;position:relative}.navitem.active:before{content:'';position:absolute;left:-10px;height:26px;width:3px;border-radius:2px;background:var(--orange)}.navitem .navicon{font-size:15px;width:20px;text-align:center;opacity:.9}.navitem.active .navicon{color:#ffad6b}.sidebar-bottom{display:flex;gap:9px;align-items:center;border-top:1px solid #2a3e4d;margin-top:auto;padding:22px 18px}.offline-symbol{color:#78c7ae;font-size:15px}.sidebar-bottom b{font-size:11px;color:#d4e3ec}.sidebar-bottom span{font-size:10px;display:block;color:#829cac;margin-top:5px}.app-column{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;position:sticky;top:0;z-index:8}.breadcrumbs{font-size:12px;display:flex;align-items:center;gap:13px;color:#94a2af}.breadcrumbs span:last-child{color:var(--ink);font-weight:700}.crumb-divider{color:#ccd6df}.top-actions{display:flex;align-items:center;gap:11px}.local-pill{color:#59796f;background:#f0f8f5;border:1px solid #daebe4;border-radius:15px;padding:6px 11px;font-size:10px;font-weight:700}.tiny-circle{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2aa37f;margin-right:6px}.text-button,.outline-button,.primary-button,.danger-button{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 14px;color:#44596b;font-weight:700;font-size:11px;transition:filter .15s}.text-button:hover,.outline-button:hover{background:#f1f5f7}.primary-button{background:var(--orange);border-color:var(--orange);color:white;box-shadow:0 3px 8px #da8b5a24}.primary-button:hover{filter:brightness(.95)}.danger-button{color:#ae5049}.btn-small{padding:7px 9px}.avatar{height:32px;width:32px;border-radius:50%;background:#ebdfd4;color:#946143;display:grid;place-items:center;font-weight:800;font-size:10px;margin-left:8px}.main{width:100%;max-width:1560px;margin:0 auto;padding:31px 37px 49px;flex:1}.page-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:23px;gap:22px}.eyebrow{color:var(--orange);font-size:10px;letter-spacing:2.15px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.page-heading h1{margin:0;font:800 27px/1.35 'Manrope',sans-serif;letter-spacing:-.9px}.page-heading p{color:#7b8a98;margin:6px 0 0;font-size:12px;max-width:770px;line-height:1.6}.heading-actions{display:flex;gap:8px;padding-top:8px}.card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.section-title{font:800 14px 'Manrope',sans-serif;letter-spacing:-.2px}.section-subtitle{font-size:11px;color:#95a2af;margin-top:4px}.card-header{padding:20px 21px 15px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-content{padding:0 21px 21px}.mini-tag{border-radius:5px;background:#edf4f8;color:#608396;font-weight:700;padding:6px 9px;font-size:10px}.hero{background:linear-gradient(116deg,#152c3e,#1a4050);border-radius:12px;color:white;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;padding:23px 29px;margin-bottom:22px;min-height:143px}.hero:before,.hero:after{content:'';position:absolute;width:330px;height:330px;border:1px solid #45647155;border-radius:50%;right:90px;top:-220px}.hero:after{width:260px;height:260px;right:-110px;top:-70px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:#e8a878}.hero h2{font:800 21px 'Manrope',sans-serif;letter-spacing:-.5px;margin:0 0 6px}.hero p{font-size:12px;color:#a8c2cf;margin:0}.hero-actions{display:flex;gap:9px;z-index:2}.hero-btn{background:#fdfdfd;color:#203c4b;border:0;border-radius:7px;padding:10px 14px;font-weight:800;font-size:11px}.hero-quiet{background:#2b4b5b;color:#e3eef2}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px}.metric{padding:19px 21px 17px;position:relative;min-height:112px}.metric-label{color:#778b99;font-weight:600;font-size:11px}.metric-value{font:800 25px/1.2 'Manrope',sans-serif;letter-spacing:-1px;margin-top:10px;color:#1e3542}.metric-value small{font-size:12px;letter-spacing:0;font-weight:700;color:#8b9ba7}.metric-foot{margin-top:8px;color:#95a1ad;font-size:10px}.metric-symbol{position:absolute;right:17px;top:16px;border-radius:7px;padding:7px;background:#eef5f7;color:#7397a7;font-size:14px}.layout-two{display:grid;grid-template-columns:minmax(0,1.64fr) minmax(300px,.9fr);gap:18px;margin-bottom:18px}.layout-even{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.map-card{min-height:365px}.diagram-area{padding:0 21px 7px}.diagram-area svg{width:100%;height:auto;display:block}.legend{display:flex;gap:16px;flex-wrap:wrap;color:#8a9bac;font-size:10px}.legend span:before{content:'';display:inline-block;margin-right:6px;width:8px;height:8px;background:var(--orange);border-radius:2px}.legend span:nth-child(2):before{background:#4389ac}.legend span:nth-child(3):before{background:#91acba}.map-footer{border-top:1px solid var(--line);padding:15px 20px;display:flex;align-items:center;gap:10px;font-size:10px;color:#768b9a;flex-wrap:wrap}.map-footer b{font-size:12px;color:#365065}.map-footer .push{margin-left:auto}.result-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f4}.result-row:last-child{border-bottom:0}.result-row .name{color:#6d8191;font-size:11px}.result-row .value{font-weight:800;font-size:13px}.status{border-radius:18px;padding:4px 8px;font-size:9px;font-weight:800;white-space:nowrap}.ok{background:#e8f6ef;color:#23866b}.fail{background:#fff0e8;color:#c46d42}.muted-status{background:#edf1f5;color:#758898}.divider{height:1px;background:var(--line);margin:17px 0}.pill{font-size:10px;background:#f4f6f7;border:1px solid var(--line);padding:6px 9px;border-radius:20px;color:#60788a;font-weight:700}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{min-width:0}.field label{display:block;color:#657b8a;font-weight:700;font-size:11px;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #dfe7ed;background:#fff;color:#243e4f;border-radius:7px;min-height:38px;padding:9px 11px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e79f68;box-shadow:0 0 0 3px #e17c3519}.field textarea{min-height:110px;resize:vertical}.field small{color:#97a5b0;font-size:10px;display:block;margin:5px 0}.form-section{padding:20px 22px}.form-section h3{font:800 13px 'Manrope',sans-serif;margin:0 0 18px}.stack{display:flex;flex-direction:column;gap:18px}.notice{display:flex;gap:10px;align-items:flex-start;background:#fff8ed;border:1px solid #f4e6cc;border-radius:9px;padding:12px 14px;color:#806641;font-size:11px;line-height:1.7;margin-bottom:17px}.notice.teal{background:#eef8f5;color:#4f7c72;border-color:#dbece5}.notice.blue{background:#eef5fa;color:#5d7b90;border-color:#e0ebf2}.notice b{color:#57482f}.chart-wrap{height:220px;position:relative;padding:1px 0 0}.chart-wrap svg{width:100%;height:100%;overflow:visible}.chart-footer{display:flex;gap:20px;margin-top:8px;font-size:10px;color:#8c9cac}.chart-footer .dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;text-transform:uppercase;font-size:9px;letter-spacing:.8px;color:#97a8b5;background:#fafcfd;font-weight:800;padding:12px 13px;border-bottom:1px solid var(--line)}.data-table td{font-size:11px;color:#496172;border-bottom:1px solid #edf1f4;padding:12px 13px}.data-table tr:last-child td{border-bottom:0}.data-table input,.data-table select{width:100%;max-width:140px;border:1px solid #e5edf2;border-radius:5px;padding:7px}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mono{font-family:ui-monospace,SFMono-Regular,monospace}.codepanel{background:#152838;color:#d4e5ec;border-radius:9px;padding:17px;overflow:auto;white-space:pre-wrap;font-size:11px;line-height:1.7}.columns-3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.overview-block{border:1px solid var(--line);border-radius:9px;padding:19px;background:white}.overview-block h3{margin:0 0 8px;font-size:13px}.overview-block p{font-size:11px;color:#8c9dad;line-height:1.6;margin:0}.big-stat{font:800 28px 'Manrope';margin:8px 0}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{display:flex;gap:13px;border:1px solid var(--line);border-radius:9px;padding:15px;background:white;min-height:116px;cursor:pointer}.module-card:hover{border-color:#deb296}.module-icon{width:34px;height:34px;border-radius:8px;background:#edf4f7;display:grid;place-items:center;flex-shrink:0;color:#59849a}.module-card h3{margin:0 0 5px;font-size:12px}.module-card p{margin:0 0 10px;font-size:10px;line-height:1.5;color:#8697a5}.module-card span{font-size:9px;color:#ad7c50;font-weight:700}.tabs{display:flex;gap:5px;margin-bottom:19px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;padding:12px 15px;color:#8596a5;font-weight:700;font-size:11px;border-bottom:2px solid transparent}.tabs button.active{color:var(--orange);border-color:var(--orange)}.check-list .check-item{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);align-items:center}.check-list .check-item:last-child{border:0}.check-item b{font-size:12px}.check-item p{margin:4px 0 0;color:#8798a5;font-size:10px}.check-item .check-info{text-align:right}.empty{padding:48px;text-align:center;color:#98a7b2}.empty h3{color:#3f5769}.badge-num{background:#eff4f6;color:#7895a5;padding:5px 7px;border-radius:6px;font-size:10px;font-weight:800}.file-card{border:1px dashed #c9d7e2;padding:21px;border-radius:9px;text-align:center;background:#fafcfd}.file-card .big-icon{font-size:32px;color:#8ca5b6}.file-card p{color:#8294a4;font-size:11px}.model-assumption{display:flex;justify-content:space-between;color:#7b8e9f;padding:11px 0;border-bottom:1px solid #edf1f5;font-size:11px}.model-assumption b{color:#2e4759}.ai-output{padding:16px 18px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;color:#526779;white-space:pre-wrap;line-height:1.7;min-height:110px;max-height:350px;overflow:auto}.small-annotation{font-size:10px;color:#98a6b1;line-height:1.6}.footer{padding:15px 36px;border-top:1px solid var(--line);color:#9daab5;display:flex;justify-content:space-between;font-size:9px;gap:10px;background:#fff}.footer b{color:#7b8997}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #cad9df;border-top-color:#e17c35;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:fixed;right:24px;bottom:28px;z-index:50;display:none;background:#1f3747;color:white;max-width:480px;padding:14px 18px;border-radius:9px;box-shadow:0 12px 40px #17263445;font-size:12px;line-height:1.5}#toast.show{display:block}@media(max-width:1150px){.sidebar{width:211px}.main{padding:27px 25px}.topbar{padding:0 25px}.metrics{grid-template-columns:repeat(2,1fr)}.layout-two{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.columns-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.sidebar{width:67px}.brand{padding:15px}.brand>div:nth-child(2),.workspace-tag,.navlabel,.navitem span:last-child,.sidebar-bottom>div:last-child{display:none}.brand-mark{width:37px;flex-shrink:0}.navgroup{padding:0 9px}.navitem{justify-content:center;padding:13px}.navitem.active:before{left:-9px}.navitem .navicon{font-size:19px}.sidebar-bottom{justify-content:center}.top-actions .local-pill{display:none}.field-grid.four{grid-template-columns:repeat(2,1fr)}}

/* v0.36: accessible mobile navigation and responsive engineering forms. */
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--ink);font-size:20px}
.sidebar-backdrop{display:none}
@media(max-width:850px){
 .mobile-menu-toggle{display:inline-flex;flex-shrink:0}
 .sidebar{width:min(82vw,304px);height:100dvh;position:fixed;left:0;top:0;z-index:30;transform:translateX(-105%);transition:transform .18s ease;box-shadow:8px 0 30px #182a3455}
 .sidebar.is-open{transform:translateX(0)}
 .sidebar-backdrop.is-open{display:block;position:fixed;inset:0;background:#0f263b88;z-index:29}
 .brand>div:nth-child(2),.workspace-tag,.navlabel,.navitem span:last-child,.sidebar-bottom>div:last-child{display:block}
 .brand{padding:0 22px}.brand-mark{flex-shrink:0}.workspace-tag{display:flex}
 .navgroup{padding:0 12px 14px}.navitem{justify-content:flex-start;padding:12px}.navitem span:last-child{display:inline}.navitem .navicon{font-size:16px}
 .sidebar-bottom{justify-content:flex-start}.sidebar-bottom>div:last-child{display:block}
 .app-column{width:100%;min-width:0}.topbar{gap:10px}.breadcrumbs{min-width:0;overflow:hidden;white-space:nowrap}.breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:620px){
 .topbar{padding:9px 13px;min-height:66px;height:auto;flex-wrap:wrap}.top-actions{gap:5px;margin-left:auto}.top-actions .text-button,.top-actions .primary-button{padding:8px 9px}
 .top-actions .avatar{display:none}.main{padding:16px 12px 26px}.page-heading{flex-wrap:wrap;gap:8px}.page-heading h1{font-size:23px}.heading-actions{flex-wrap:wrap}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:13px;min-height:99px}.metric-value{font-size:20px}.metric-symbol{display:none}
 .layout-even,.layout-two,.module-grid,.columns-3{grid-template-columns:1fr;gap:12px}.field-grid,.field-grid.three,.field-grid.four{grid-template-columns:1fr}
 .card-content{overflow-x:auto}.hero{padding:16px;flex-wrap:wrap;gap:12px}.hero-actions{flex-wrap:wrap}
 .footer{padding:12px;flex-wrap:wrap}.data-table{min-width:420px}.navitem{min-height:40px}
}

.module-card{width:100%;text-align:left;font:inherit;color:inherit}.module-card:focus-visible,.navitem:focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid var(--orange);outline-offset:3px}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

/* v0.37 engineering component catalogue */
.library-record{padding:15px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:7px}.library-record:last-child{border-bottom:0}.library-record p{margin:3px 0;color:#667d8d;font-size:11px;line-height:1.65}.library-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-title strong{font-size:12px}.library-flag{font-size:9px;border-radius:5px;background:#eef4f8;color:#4d6c7f;padding:3px 7px;font-weight:700}.library-record details{max-width:100%;overflow-wrap:anywhere}.library-record details p{font-family:ui-monospace,monospace;font-size:10px}.library-record .outline-button{margin-top:4px}.model-assumption{flex-wrap:wrap;gap:7px;overflow-wrap:anywhere}.card-content .data-table{overflow:auto}.small-annotation a{overflow-wrap:anywhere}.card-content pre{white-space:pre-wrap;overflow-wrap:anywhere}
