
:root{--ink:#132a34;--muted:#61757b;--line:#dce6e7;--canvas:#f4f7f6;--paper:#fff;--teal:#078b91;--teal-dark:#076b73;--teal-pale:#e6f5f4;--nav:#102d3a;--gold:#b9863f;--red:#b84c51;--green:#21866d;--shadow:0 8px 24px #15323b0d;--radius:14px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--teal)}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.brand{height:41px;width:194px;object-fit:contain;object-position:left center}.brand-small{width:144px;height:31px;object-fit:contain}.app{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#ecf3f1;padding:22px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand-box{padding:0 12px 24px;border-bottom:1px solid #ffffff1c}.nav-label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#91a9ac;font-weight:700;padding:22px 13px 9px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:#c1d1d0;text-align:left;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;font-size:13px;font-weight:600;transition:.18s}.nav button:hover{background:#ffffff10;color:white}.nav button.active{background:#0d8991;color:#fff;box-shadow:0 5px 16px #041b2255}.nav .ico{width:18px;text-align:center;font-size:16px}.side-bottom{margin-top:auto}.profile{display:flex;gap:10px;align-items:center;padding:15px 10px;border-top:1px solid #ffffff1c}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d3efea;color:#126d70;font-weight:800;font-size:12px}.profile strong{font-size:12px;display:block}.profile small{font-size:10px;color:#9cb0b1}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:68px;border-bottom:1px solid var(--line);background:#ffffffd9;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.crumb{font-size:12px;color:var(--muted)}.crumb b{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:12px}.status-pill{font-size:10px;color:#916625;background:#fff4dc;padding:7px 10px;border-radius:999px;font-weight:700}.icon-button{border:1px solid var(--line);background:white;width:34px;height:34px;border-radius:9px;color:var(--muted)}.content{padding:29px 34px 25px;flex:1;width:min(100%,1600px);margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:20px}.page-head h1{font:800 26px Manrope,sans-serif;letter-spacing:-.04em;margin:6px 0}.page-head p{color:var(--muted);font-size:13px;margin:0;max-width:700px;line-height:1.55}.btn{border:1px solid var(--line);background:white;color:var(--ink);padding:9px 13px;border-radius:9px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:8px;justify-content:center;transition:.16s}.btn:hover{border-color:#7fb9b7;transform:translateY(-1px)}.btn.primary{background:var(--teal);color:white;border-color:var(--teal)}.btn.primary:hover{background:var(--teal-dark)}.btn.subtle{background:var(--teal-pale);border-color:transparent;color:var(--teal-dark)}.btn.danger{color:var(--red);border-color:#eed4d4;background:#fffafa}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:19px}.cards{display:grid;gap:14px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.metric{padding:17px 19px;position:relative;overflow:hidden}.metric .label{font-size:11px;color:var(--muted);font-weight:600}.metric .value{font:800 27px Manrope,sans-serif;letter-spacing:-.04em;margin:8px 0 3px}.metric .foot{font-size:10px;color:var(--muted)}.metric .accent{position:absolute;right:16px;top:16px;width:8px;height:8px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px var(--teal-pale)}.metric.red .accent{background:var(--red);box-shadow:0 0 0 5px #f8e9e8}.metric.gold .accent{background:var(--gold);box-shadow:0 0 0 5px #f9f0e1}.metrics-arch{grid-template-columns:1.5fr repeat(5,1fr);margin-bottom:16px}.arch-card{padding:16px 18px;display:flex;align-items:center;gap:13px;min-height:82px;background:linear-gradient(110deg,#e8f4f4,#fff 70%)}.arch-card strong{display:block;font:800 21px Manrope,sans-serif;letter-spacing:-.04em}.arch-card span{font-size:10px;color:var(--muted);line-height:1.4;display:block}.arch-card .big{font:800 24px Manrope;color:var(--teal-dark)}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:15px}.card-head{padding:16px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2,.card-head h3{font:700 14px Manrope,sans-serif;margin:0}.card-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.card-body{padding:0 18px 18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:580px}th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#75878b;padding:10px 9px;border-bottom:1px solid var(--line);font-weight:700}td{padding:11px 9px;border-bottom:1px solid #edf1f1;font-size:11px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfa}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:700;white-space:nowrap}.tag.teal{background:#e4f5f2;color:#187a68}.tag.blue{background:#e8f0fa;color:#4b6e99}.tag.gold{background:#fff2dd;color:#946725}.tag.gray{background:#eef2f2;color:#586d71}.tag.red{background:#fbeaea;color:#a54248}.tag.dot:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.notice{border:1px solid #d5e9e7;background:#f2faf9;border-radius:11px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;color:#3e6769;font-size:11px;line-height:1.5}.notice strong{color:#174f55}.notice.warn{border-color:#efdfbf;background:#fff9ed;color:#785f37}.notice.blue{border-color:#dbe5f1;background:#f5f8fc;color:#526983}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.field{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:9px 11px;font-size:11px;min-height:36px}.field:focus{outline:2px solid #078b9129;border-color:#64b5b3}.search{min-width:220px}.form-label{font-size:10px;color:#607377;font-weight:700;display:block;margin:0 0 6px}.form-field{display:grid;gap:6px;margin-bottom:12px}.form-field input,.form-field select,.form-field textarea{width:100%}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding:0 17px}.tabs button{padding:12px 12px 10px;background:none;border:0;border-bottom:2px solid transparent;color:#748489;font-size:11px;font-weight:700}.tabs button.active{border-color:var(--teal);color:var(--teal-dark)}.tab-panel{padding:18px}.hero-flow{background:linear-gradient(130deg,#102e3a,#174d58);color:#ecfbf9;border-radius:16px;padding:21px;margin-bottom:15px;position:relative;overflow:hidden}.hero-flow:after{content:'';position:absolute;right:-50px;top:-90px;width:310px;height:310px;border:1px solid #9de2dc22;border-radius:50%;box-shadow:0 0 0 28px #9de2dc0a,0 0 0 60px #9de2dc08}.hero-flow .eyebrow{color:#6fd2cc}.hero-flow h2{font:700 18px Manrope;margin:7px 0}.hero-flow p{color:#b6d0d0;font-size:11px;margin:0;max-width:750px;line-height:1.6;position:relative;z-index:1}.flow-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:9px;margin-top:20px;position:relative;z-index:1}.gate-tile{border:1px solid #ffffff24;background:#ffffff0a;color:white;padding:12px;border-radius:10px;text-align:left;min-height:86px}.gate-tile:hover,.gate-tile.selected{border-color:#62c8bf;background:#ffffff18}.gate-tile .n{font-size:9px;color:#8bd8d0}.gate-tile strong{display:block;font-size:11px;margin:7px 0 4px}.gate-tile small{display:block;font-size:9px;color:#adc6c5;line-height:1.35}.gate-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}.code-box{font:11px/1.7 ui-monospace,Consolas,monospace;background:#122f3c;color:#d5f2ed;border-radius:10px;padding:15px;overflow:auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field-grid .card{padding:12px}.field-grid label{font-size:9px;color:var(--muted);display:block}.field-grid strong{font-size:14px;display:block;margin:5px 0}.participant-card{padding:15px;display:flex;align-items:center;gap:13px}.participant-card .avatar{width:38px;height:38px}.participant-card strong{font-size:12px}.participant-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.model-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f1}.model-row:last-child{border-bottom:0}.model-row .badgever{font:700 10px ui-monospace;background:#eef3f3;padding:6px;border-radius:6px}.model-row .meta{flex:1}.model-row strong{font-size:11px;display:block}.model-row small{font-size:9px;color:var(--muted)}.model-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.model-stats span{padding:7px 9px;background:#f3f7f7;border-radius:7px;font-size:9px;color:#52666b}.footer{padding:14px 34px;border-top:1px solid var(--line);background:#ffffffa8;text-align:center;color:#748489;font-size:10px}.footer b{color:#536a70;font-weight:600}.toast{position:fixed;bottom:22px;right:25px;padding:12px 16px;background:#102e38;color:#fff;border-radius:10px;font-size:12px;box-shadow:0 10px 30px #0002;z-index:30;animation:toastin .2s ease}@keyframes toastin{from{transform:translateY(7px);opacity:0}to{transform:none;opacity:1}}.modal-backdrop{position:fixed;inset:0;background:#10252dcc;z-index:20;display:grid;place-items:center;padding:18px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:white;border-radius:16px;box-shadow:0 25px 90px #0017}.modal-head{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start}.modal-head h2{font:700 16px Manrope;margin:0}.modal-head p{font-size:11px;color:var(--muted);margin:5px 0 0}.modal-content{padding:20px 21px}.modal-actions{padding:13px 21px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:8px}.modal-credit{margin-right:auto;color:#748489;font-size:9px}.splash-footer{position:absolute;bottom:21px;color:#a5c2c0;font-size:10px}.login-shell{min-height:100vh;background:radial-gradient(ellipse at 20% 70%,#087d8560,transparent 48%),linear-gradient(125deg,#0c2835,#102f3b 55%,#164a53);display:grid;place-items:center;padding:22px}.login-card{width:min(990px,100%);min-height:515px;background:#f8fbfa;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 30px 100px #0016}.login-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:radial-gradient(ellipse at center,#145361 0%,#0e3442 60%,#0b2633 100%);position:relative;overflow:hidden}.login-art:before{content:'';position:absolute;width:580px;height:250px;border:1px solid #5bcfc23a;transform:rotate(-17deg);border-radius:50%;box-shadow:0 0 0 25px #5bcfc20a,0 0 0 65px #5bcfc20b,0 0 0 106px #5bcfc208}.login-art img{width:min(450px,100%);filter:brightness(0) invert(1);z-index:1}.login-art .line{position:absolute;bottom:22%;font-size:11px;color:#b3d5d3;letter-spacing:.04em}.login-form{padding:62px 54px;display:flex;flex-direction:column;justify-content:center}.login-form h1{font:800 25px Manrope;letter-spacing:-.04em;margin:0 0 8px}.login-form p{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 27px}.login-form .field{font-size:12px;height:42px}.login-form .btn{height:44px;margin-top:8px}.login-foot{position:absolute;bottom:16px;color:#a5c2c0;font-size:10px}.splash{position:fixed;inset:0;z-index:99;background:linear-gradient(125deg,#0c2835,#164a53);display:grid;place-items:center;transition:opacity .45s}.splash img{width:min(450px,75vw);filter:brightness(0) invert(1);animation:glow 1.3s ease-in-out infinite alternate}.splash p{position:absolute;bottom:calc(50% - 120px);color:#a5ceca;font-size:9px;letter-spacing:.19em;text-transform:uppercase}@keyframes glow{from{opacity:.68;transform:scale(.99)}to{opacity:1;transform:scale(1.01)}}.demo-label{font-size:9px;color:#8d6628;background:#fff2d7;border-radius:5px;padding:4px 7px;font-weight:700}.gate-line{height:3px;background:#e2eded;position:absolute;top:21px;left:11%;right:11%}.gate-list{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.gate-item{position:relative;text-align:center;z-index:1}.gate-dot{width:32px;height:32px;border:2px solid #c7d8d8;background:#fff;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;color:#778c8e;font-size:10px;font-weight:800}.gate-item.done .gate-dot{background:#dff5ef;border-color:#44ac92;color:#197860}.gate-item.current .gate-dot{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 0 0 5px #078b9118}.gate-item strong{display:block;font-size:9px;line-height:1.2}.gate-item small{font-size:8px;color:var(--muted)}.progress-track{height:6px;background:#e8eeee;border-radius:8px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--teal);border-radius:8px;transition:width .3s}.empty{padding:32px;text-align:center;color:var(--muted);font-size:12px}.mobile-menu{display:none}@media(max-width:1050px){.app{grid-template-columns:205px minmax(0,1fr)}.content{padding:24px}.topbar{padding:0 24px}.metrics-arch{grid-template-columns:repeat(3,1fr)}.flow-grid{grid-template-columns:repeat(3,1fr)}.gate-list{grid-template-columns:repeat(5,1fr);row-gap:15px}.gate-line{display:none}}@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:12px 14px}.brand-box{display:flex;align-items:center;justify-content:space-between;padding:0 3px 10px;border-bottom:0}.brand{width:160px;height:34px}.nav-label,.side-bottom{display:none}.nav{display:flex;overflow:auto;gap:5px}.nav button{white-space:nowrap;padding:9px;font-size:11px}.nav .ico{display:none}.topbar{height:48px;position:relative;padding:0 16px}.content{padding:19px 14px}.page-head{margin-bottom:16px}.page-head h1{font-size:22px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics-arch{grid-template-columns:repeat(2,1fr)}.split,.gate-detail,.two-col{grid-template-columns:1fr}.flow-grid{grid-template-columns:repeat(2,1fr)}.gate-list{grid-template-columns:repeat(5,1fr)}.gate-item strong{font-size:8px}.field-grid{grid-template-columns:1fr 1fr}.footer{padding:12px}.login-card{grid-template-columns:1fr}.login-art{min-height:190px;padding:30px}.login-art img{width:min(340px,85%)}.login-art .line{bottom:12px}.login-foot{bottom:9px}.login-form{padding:30px 25px}.login-shell{padding:12px}.status-pill{font-size:9px}.crumb{font-size:10px}}@media(max-width:420px){.metrics-arch{grid-template-columns:1fr 1fr}.arch-card:first-child{grid-column:span 2}.flow-grid{grid-template-columns:1fr}.page-head{display:block}.page-head>.btn{margin-top:13px}}
/* Live-workspace components reuse the polished preview system. */
.content>.card{padding:18px;margin:0 0 14px}.content>.card h2{font:700 14px Manrope,sans-serif;margin:0 0 10px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.row .field{flex:1;min-width:180px}label.field{display:grid;gap:6px;border:0;background:transparent;border-radius:0;padding:0;min-height:0;color:#607377;font-size:10px;font-weight:700}label.field input,label.field select{width:100%;font-size:12px}.scroll{overflow:auto}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#fff2dd;color:#946725;font-size:9px;font-weight:700}.error{color:#a12b2b;white-space:pre-wrap;font-size:12px}.content>h1{font:800 26px Manrope,sans-serif}.content button.primary{border:1px solid var(--teal);background:var(--teal);color:white;padding:9px 13px;border-radius:9px;font-size:12px;font-weight:700}.content button.primary:hover{background:var(--teal-dark)}.content button:disabled{opacity:.45;cursor:not-allowed}.content code{font-size:11px;background:#f3f7f7;padding:4px 6px;border-radius:5px}
.constant-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:4px 12px}.gate-edit{display:grid;grid-template-columns:30px 1fr 1.6fr;gap:10px;align-items:center;border-bottom:1px solid #edf1f1;padding:8px 0}.gate-edit>strong{color:var(--teal);font-size:11px}.gate-edit .form-field{margin:0}.rows-editor{width:100%;resize:vertical;line-height:1.6}.sidebar{overflow-y:auto}.brand-box .demo-label{display:inline-block;margin-top:8px}.content .card-pad h2{font:700 14px Manrope,sans-serif;margin:0 0 8px}.content .card-pad p{font-size:11px;line-height:1.55}.content .empty{padding:20px}.content .table-wrap{overflow-x:auto}#msg:empty{display:none}#msg:not(:empty){margin-top:12px;padding:12px 14px;background:#fff7f7;border:1px solid #f0d8d8;border-radius:10px}@media(max-width:850px){.constant-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.gate-edit{grid-template-columns:24px 1fr}.gate-edit label:last-of-type{grid-column:2}}@media(max-width:540px){.constant-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.gate-edit{grid-template-columns:20px 1fr}.status-pill{display:none}}
label.field input,label.field select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:9px 11px;min-height:36px}label.field input:focus,label.field select:focus{outline:2px solid #078b9129;border-color:#64b5b3}.content>.card .table-wrap{border-radius:10px}.content>.split>.card{min-width:0}.content .btn{font-size:11px}.content .page-head .btn{font-size:12px}.gate-edit{grid-template-columns:28px minmax(140px,.8fr) minmax(170px,1fr) minmax(220px,1.6fr)}@media(max-width:850px){.gate-edit{grid-template-columns:24px 1fr}.gate-edit label:nth-of-type(n+2){grid-column:2}}
.equation-form{display:grid;grid-template-columns:1fr 2fr 1.5fr auto;gap:10px;align-items:end;margin-top:14px}.equation-form .field{min-width:0}.equation-form textarea{resize:vertical}@media(max-width:850px){.equation-form{grid-template-columns:1fr 1fr}.equation-form textarea{grid-column:span 2}}@media(max-width:540px){.equation-form{grid-template-columns:1fr}.equation-form textarea{grid-column:auto}}
.flow-canvas{overflow-x:auto;padding-bottom:8px}.flow-chain{display:flex;align-items:stretch;gap:8px;min-width:1040px;padding:8px 2px 14px}.flow-node{position:relative;flex:1;min-width:100px;min-height:145px;border:1px solid #d9e7e7;border-radius:12px;background:linear-gradient(160deg,#fff,#f1f8f7);padding:13px;text-align:left;color:var(--ink);box-shadow:0 5px 14px #173d3b0a;transition:.18s}.flow-node:hover,.flow-node.selected{border-color:#078b91;box-shadow:0 0 0 3px #078b9118,0 8px 20px #173d3b12;transform:translateY(-2px)}.flow-num{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#dff3f0;color:#087d80;font:800 10px Manrope;margin-bottom:13px}.flow-node strong{display:block;font:700 11px Manrope;margin-bottom:7px}.flow-node small{display:block;color:var(--muted);font-size:9px;line-height:1.45;min-height:40px}.flow-node i{display:block;margin-top:12px;font-size:8px;font-style:normal;font-weight:700;color:#267b70}.flow-arrow{align-self:center;color:#118d8c;font-size:20px;font-weight:700}.flow-lower{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:14px}.flow-note{display:grid;gap:5px;padding:11px 12px;border-radius:9px;background:#f5f8f8}.flow-note b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#167c7d}.flow-note span{font-size:10px;color:var(--muted);line-height:1.5}.lab-stage-list{display:grid;gap:0}.lab-stage{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid #edf1f1}.lab-stage:last-child{border-bottom:0}.lab-stage>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e4f5f2;color:#187a68;font:700 9px Manrope}.lab-stage strong{display:block;font-size:10px}.lab-stage small{display:block;color:var(--muted);font-size:9px;line-height:1.4;margin-top:3px}.lab-stage i{font-style:normal;color:#667b80;font-size:8px;white-space:nowrap}.run-result details{border-top:1px solid var(--line);padding:10px 0;font-size:11px}.run-result summary{cursor:pointer;font-weight:700;color:#285a61}.run-result pre{white-space:pre-wrap}.settings-tabs{overflow-x:auto}.settings-tabs button{white-space:nowrap}.content .flow-chain button{white-space:normal}@media(max-width:760px){.flow-lower{grid-template-columns:1fr}.flow-chain{min-width:960px}.lab-stage{grid-template-columns:25px 1fr}.lab-stage i{grid-column:2}.settings-tabs{padding:0 8px}.settings-tabs button{padding:10px 8px;font-size:10px}}
.packet-value{white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;background:#f5f8f8;border:1px solid var(--line);border-radius:8px;padding:10px;font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#415e63}.view-tabs{margin-bottom:13px}
/* Keep dense settings forms and audit tables inside their cards. */
.content,.content .card,.tab-panel,.tab-panel>*{min-width:0}
.tab-panel{overflow-x:hidden}
.settings-tabs{max-width:100%;overscroll-behavior-x:contain}
.row{min-width:0}
.row>.field{flex:1 1 210px;min-width:min(100%,210px)}
.constant-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important}
.equation-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important}
.tab-panel .split{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.tab-panel .table-wrap,.tab-panel .scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.tab-panel input,.tab-panel select,.tab-panel textarea{max-width:100%;min-width:0}
.tab-panel .model-row{flex-wrap:wrap}
@media(max-width:760px){.tab-panel .split{grid-template-columns:minmax(0,1fr)}.tab-panel .constant-grid,.tab-panel .equation-form{grid-template-columns:minmax(0,1fr)!important}.row>.field{min-width:100%}}
.flow-node.flow-current{border-color:#078b91;background:#e7f8f5;box-shadow:0 0 0 5px #078b9122,0 10px 24px #173d3b18;transform:translateY(-3px);animation:flowPulse .65s ease-in-out infinite alternate}
.flow-node.flow-complete{border-color:#55b69e;background:#e4f6f0}
.flow-node.flow-complete .flow-num{background:#168d78;color:#fff}
.flow-node.flow-current .flow-num{background:#078b91;color:#fff}
@keyframes flowPulse{from{box-shadow:0 0 0 3px #078b9118,0 6px 18px #173d3b10}to{box-shadow:0 0 0 7px #078b912b,0 10px 24px #173d3b20}}
/* First-sign-in agreement panel */
.terms-text{max-height:42vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fbfa;color:var(--ink);font:12px/1.65 'DM Sans',sans-serif;margin:14px 0}

/* Refined invitation portal and layered architecture flow */
.login-shell{background:radial-gradient(ellipse at 18% 78%,#087d8550,transparent 44%),linear-gradient(125deg,#081d2b,#0b3341 62%,#0d4952);padding:28px}
.login-card{width:min(1120px,100%);min-height:560px;grid-template-columns:1.08fr .92fr;border-radius:16px;box-shadow:0 32px 100px #001a2a66}
.login-art{align-items:flex-start;justify-content:center;padding:56px;background-color:#062333;background-image:radial-gradient(ellipse at 52% 50%,#0b4e60 0%,#073347 43%,#041d2a 100%);isolation:isolate}
.login-art:before{content:"";position:absolute;inset:-12%;width:auto;height:auto;border:0;transform:none;border-radius:0;box-shadow:none;background:radial-gradient(circle,#48cfdf8f 1px,transparent 1.8px) 0 0/12px 12px;opacity:.28;mask-image:radial-gradient(ellipse at 72% 55%,#000 0%,transparent 68%);z-index:-1}
.login-art:after{content:"";position:absolute;left:-10%;right:-12%;top:35%;height:48%;border-top:1px solid #54d7de4d;border-radius:50%;transform:rotate(-14deg);box-shadow:0 -18px 0 -17px #54d7de45,0 -38px 0 -37px #54d7de38,0 -61px 0 -60px #54d7de30,0 20px 0 -19px #54d7de30,0 44px 0 -43px #54d7de24;z-index:-1}
.login-art-glow{position:absolute;inset:0;background:linear-gradient(115deg,#001b2b33,transparent 42%,#0d87901c);z-index:-1}
.login-art img{width:min(440px,100%);max-height:180px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);margin-top:-38px}
.login-art .login-art-caption{position:absolute;bottom:68px;left:56px;color:#effbfc;font-size:14px;letter-spacing:.03em}
.login-art .login-art-credit{position:absolute;bottom:22px;left:56px;color:#94b7bd;font-size:9px;letter-spacing:.07em}
.login-form{padding:58px clamp(32px,6vw,76px);background:linear-gradient(145deg,#fff 0%,#f7fafb 100%)}
.login-form .eyebrow{color:#087f89}
.login-form h1{font-size:27px;color:#102b3b;margin:9px 0 10px}
.login-form p{font-size:13px;line-height:1.6;margin-bottom:24px}
.login-form .field{height:44px;border-radius:6px;border-color:#d6e0e5;font-size:12px}
.login-form .btn.primary{border-radius:6px;background:#082e42;border-color:#082e42;box-shadow:0 5px 12px #082e4220}
.login-research-note{display:grid;gap:5px;margin-top:20px;padding:12px 13px;border-left:3px solid #e6ba68;background:#fff9ee;color:#78633e;font-size:10px;line-height:1.5}
.login-research-note strong{color:#554523;font-size:10px}
.login-form-credit{margin-top:24px;text-align:center;color:#8b9da2;font-size:9px;letter-spacing:.04em}
.arch-flow-card{padding:18px!important;overflow:hidden}
.arch-flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.arch-flow-heading h2{font:700 14px Manrope;margin:5px 0 4px!important}
.arch-flow-heading p{font-size:10px!important;color:var(--muted);margin:0;line-height:1.5}
.arch-flow-viewport{overflow-x:auto;overscroll-behavior-x:contain;padding:12px 0 8px}
.arch-flow-map{position:relative;min-width:1080px;height:300px;background:linear-gradient(180deg,#fafeff,#f2f9fa);border:1px solid #e0eeee;border-radius:12px;overflow:hidden}
.arch-flow-lines{position:absolute;inset:23px 0 24px;width:100%;height:calc(100% - 47px);pointer-events:none}
.arch-link{fill:none;stroke:#40b6c4;stroke-width:1.3;opacity:.24;transition:opacity .25s,stroke-width .25s}
.arch-link.link-1{stroke:#139aaf}.arch-link.link-2{stroke:#4bc2b5}.arch-link.link-3{stroke:#1d8198}
.arch-flow-column.flow-current .arch-link{opacity:.85;stroke-width:2.8;stroke-dasharray:7 6;animation:archFlowDash .7s linear infinite}
.arch-flow-columns{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:repeat(7,minmax(136px,1fr));gap:4px;padding:12px 8px}
.arch-flow-column{display:flex;flex-direction:column;align-items:center;min-width:0;transition:background .2s}
.arch-column-title{display:grid;justify-items:center;align-content:start;min-height:73px;width:100%;padding:3px 5px;border:0;background:transparent;color:var(--ink);text-align:center}
.arch-column-title>span{display:grid;place-items:center;width:18px;height:18px;margin-bottom:4px;border-radius:50%;background:#ddf2f1;color:#087d80;font:800 8px Manrope}
.arch-column-title strong{font:700 10px Manrope;white-space:nowrap}
.arch-column-title small{font-size:8px;color:var(--muted);margin-top:3px;white-space:nowrap}
.arch-column-title em{font:700 8px Manrope;color:#138093;font-style:normal;margin-top:3px}
.arch-column-title.active>span{background:#078b91;color:white;box-shadow:0 0 0 3px #078b911c}
.arch-dots{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:100%;padding:1px 0 2px}
.arch-dot{position:relative;width:8px;height:8px;min-width:8px;padding:0;border:1px solid #24a5b3;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #d5f0f1;transition:.2s}
.arch-dot:hover,.arch-dot.selected{transform:scale(1.65);background:#08a0a9;border-color:#078b91;box-shadow:0 0 0 4px #bce9e8}
.arch-substages,.arch-stage-label{display:grid;gap:3px;width:100%;padding-top:5px}
.arch-substages button,.arch-stage-label{border:0;background:transparent;color:#587077;font-size:8px;line-height:1.2;text-align:center;padding:4px 2px;border-radius:4px}
.arch-substages button.active,.arch-stage-label:hover,.arch-substages button:hover{background:#e0f3f2;color:#087d80}
.arch-flow-column.flow-current{background:#e4f7f5a6;border-radius:9px;box-shadow:inset 0 0 0 1px #54bdb34a}
.arch-flow-column.flow-current .arch-dot{background:#08a0a9;box-shadow:0 0 0 4px #bce9e8;animation:archNodePulse .55s ease-in-out infinite alternate}
.arch-flow-column.flow-complete .arch-column-title>span{background:#168d78;color:#fff}
.arch-flow-map:has(.arch-flow-column.flow-current) .arch-link{opacity:.66;stroke-width:2;stroke-dasharray:7 7;animation:archFlowDash .65s linear infinite}
.arch-flow-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:9px 2px 12px;color:var(--muted);font-size:9px}
.arch-flow-legend span{display:flex;align-items:center;gap:6px}
.arch-flow-legend i{width:8px;height:8px;border-radius:50%;background:#40b6c4;display:inline-block}
.arch-flow-legend i.active{background:#078b91;box-shadow:0 0 0 3px #c9efea}
@keyframes archFlowDash{to{stroke-dashoffset:-26}}
@keyframes archNodePulse{to{transform:scale(1.55);box-shadow:0 0 0 6px #9cddd8}}
@media(max-width:760px){.login-card{grid-template-columns:1fr;min-height:0}.login-art{min-height:245px;padding:32px}.login-art img{width:min(350px,95%);max-height:120px;margin-top:-16px}.login-art .login-art-caption{left:32px;bottom:49px;font-size:12px}.login-art .login-art-credit{left:32px;bottom:18px}.login-form{padding:34px 28px}.arch-flow-heading{display:block}.arch-flow-heading>.tag{margin-top:10px}.arch-flow-map{min-width:1050px}.arch-flow-legend{gap:10px}}

/* Saved, inspectable calculation trace */
.gate-inspector{margin-top:14px;border-top:3px solid #178b8d}
.trace-inspector-head,.trace-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.trace-inspector-head h2{font:700 17px Manrope;margin:5px 0}
.trace-inspector-head p{margin:0;color:var(--muted);font-size:11px}
.trace-toolbar{align-items:flex-end;margin:15px 0;padding:12px;background:#f5f9f9;border:1px solid #e5eeee;border-radius:9px}
.trace-toolbar .form-field{min-width:210px;margin:0}
.trace-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}
.trace-check{display:grid;grid-template-columns:auto 1fr;gap:5px 9px;padding:10px;border:1px solid #dce9e7;border-radius:8px;background:#fbfdfc;font-size:11px}
.trace-check strong{font:800 9px Manrope;letter-spacing:.04em;color:#147960}
.trace-check span{font-weight:700;color:var(--ink)}
.trace-check small{grid-column:1/-1;color:var(--muted);line-height:1.45}
.trace-check.fail{background:#fff7f6;border-color:#f0cdca}.trace-check.fail strong{color:#a3342d}
.trace-check.warning{background:#fffbf1;border-color:#f0e2b9}.trace-check.warning strong{color:#8a6615}
.trace-check.not_run strong{color:#728187}
.trace-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trace-data-grid details{min-width:0;border:1px solid #e3ebeb;border-radius:8px;padding:10px;background:#fff}
.trace-data-grid summary{cursor:pointer;font:700 11px Manrope;color:#24444b}
.trace-json{max-height:360px;overflow:auto;margin:9px 0 0;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f9fa}
.trace-scope{margin:12px 0 0;border-top:1px solid #e7eeee;padding-top:9px}
.arch-flow-column.flow-current{background:#e4f7f5a6;border-radius:9px;box-shadow:inset 0 0 0 1px #54bdb34a}
.arch-flow-column.flow-current .arch-dot{background:#08a0a9;box-shadow:0 0 0 4px #bce9e8}
.arch-flow-map:has(.arch-flow-column.flow-current) .arch-link{opacity:.34;stroke-width:1.5;animation:none}
@media(max-width:760px){.trace-data-grid{grid-template-columns:1fr}.trace-toolbar .form-field{width:100%}}
