@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root{--blue:#245cdb;--blue-dark:#173b89;--ink:#17243a;--muted:#7a8699;--line:#e7ebf1;--bg:#f5f7fa;--green:#178969;--orange:#ce8726;--red:#d46565;--sidebar:240px}*{box-sizing:border-box}body{margin:0;font:14px 'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-decoration:none}button{transition:background .15s,transform .15s}button:hover{filter:brightness(.97)}#sidebar{width:var(--sidebar);height:100vh;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20;padding:27px 17px 0}.brand{display:flex;align-items:center;font:800 34px 'Manrope',sans-serif;letter-spacing:-1.8px;padding:0 13px}.brandmark{background:var(--blue);width:33px;height:35px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:24px;transform:rotate(-7deg);border-radius:8px;margin-right:10px}.brandpoint{color:var(--blue)}.workspace{display:flex;align-items:center;gap:10px;padding:21px 10px 24px;margin:17px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workspace strong{font-size:13px}.workspace small,.sidebar-bottom small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.company-icon{background:#edf2fc;color:var(--blue);font-size:12px;font-weight:700;padding:10px 8px;border-radius:8px}nav{overflow:auto;flex:1;padding-bottom:10px}.navgroup{font-size:10px;letter-spacing:1.6px;color:#9ba5b4;font-weight:700;margin:22px 14px 10px}.navlink{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:7px;color:#687588;font-size:14px;margin-bottom:3px}.navlink:hover{background:#f7f9fc}.navlink.active{background:#edf3ff;color:var(--blue);font-weight:650}.navlink svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}.navcount{margin-left:auto;font-size:11px;background:#e8edf6;padding:2px 6px;border-radius:4px}.sidebar-bottom{display:flex;align-items:center;gap:10px;padding:18px 8px;border-top:1px solid var(--line);font-size:13px}.avatar{background:#e7edf8;color:#446084;width:35px;height:35px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:650;font-size:12px}.avatar.small{width:30px;height:30px;font-size:11px}.mini{margin-left:auto;color:var(--muted)}#shell{margin-left:var(--sidebar)}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px}.crumb{font-size:13px;color:#929bab}.crumb span{margin:0 15px;color:#c2c9d4}.crumb b{color:#536073;font-weight:500}.top-right{display:flex;align-items:center;gap:23px}.demo-label{font-size:10px;letter-spacing:1px;background:#f1f4f9;color:#7b8799;padding:6px 9px;border-radius:4px}.iconbtn{border:0;background:transparent;font-size:20px;color:#7f8ba0;position:relative;padding:4px 7px}.iconbtn i{position:absolute;right:7px;top:5px;width:5px;height:5px;background:var(--orange);border-radius:50%}main{max-width:1560px;margin:0 auto;padding:34px 36px 24px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--blue);margin:0 0 9px}h1{font:750 29px/1.3 'Manrope',sans-serif;letter-spacing:-1px;margin:0 0 7px}h2{font:700 16px/1.4 'Manrope',sans-serif;margin:0}h3{font-size:15px;margin:0 0 7px}p{line-height:1.6}.sub{color:var(--muted);margin:0;font-size:14px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid #dce3ed;border-radius:7px;background:white;padding:10px 15px;color:#44516a;font-size:13px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 6px #245cdb14}.btn.light{background:#f5f8ff;color:var(--blue);border-color:#e3eafa}.btn.danger{color:#b84646}.btn.text{border:0;background:none;color:var(--blue);padding:4px 0}.btn svg{width:16px;height:16px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 20px 17px;position:relative}.metric-label{font-size:13px;color:#748095;display:flex;justify-content:space-between;align-items:center}.metric-label svg{width:17px;height:17px;stroke:#99a6b9;fill:none;stroke-width:1.6}.metric-value{font:750 29px 'Manrope',sans-serif;letter-spacing:-1px;margin:14px 0 11px}.metric-value small{font-size:16px;font-weight:500;color:var(--muted);letter-spacing:0}.metric-foot{font-size:11px;color:#96a0ae;display:flex;gap:6px;align-items:center}.metric-foot b{font-weight:550;color:var(--green);background:#edf9f3;padding:3px 5px;border-radius:4px}.metric-foot b.warn{color:var(--orange);background:#fff5e7}.metric.spark{border-top:3px solid var(--blue);padding-top:17px}.grid-main{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,1fr);gap:22px;margin-bottom:24px}.card{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.card-pad{padding:23px}.cardhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}.cardhead p{font-size:12px;color:var(--muted);margin:5px 0 0}.legend{display:flex;gap:16px;font-size:11px;color:#7b8799;align-items:center}.legend span:before{content:'';width:7px;height:7px;background:var(--blue);display:inline-block;margin-right:6px;border-radius:2px}.legend .pale:before{background:#a8c1f6}.legend .orange:before{background:#e7af69}.chart{width:100%;height:214px;display:block}.chart text{font:11px 'DM Sans',sans-serif;fill:#a0a9b7}.chart .gridline{stroke:#eef1f6;stroke-width:1;stroke-dasharray:4 4}.chart-summary{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:13px;padding-top:17px;font-size:12px;color:var(--muted)}.chart-summary strong{color:var(--green);font-size:13px}.donut-area{display:flex;align-items:center;justify-content:center;position:relative;height:182px}.donut{width:166px;height:166px;border-radius:50%;background:conic-gradient(var(--blue) 0 78%,#a8c1f6 78% 92.6%,#e7af69 92.6%);position:relative;transform:rotate(-90deg)}.donut:after{content:'';position:absolute;inset:17px;background:white;border-radius:50%}.donut-label{position:absolute;text-align:center}.donut-label strong{font:750 28px 'Manrope',sans-serif;display:block;letter-spacing:-1px}.donut-label span{font-size:11px;color:var(--muted)}.balance-row{display:flex;align-items:center;gap:9px;font-size:12px;margin-top:13px;color:#667388}.balance-row i{width:7px;height:7px;border-radius:2px;background:var(--blue)}.balance-row strong{margin-left:auto;color:#40516b;font-size:12px}.balance-row small{width:42px;text-align:right;color:#97a1af}.callout{border:1px solid #dce8fc;background:linear-gradient(110deg,#eef5ff,#f8fbff);padding:17px 21px;border-radius:9px;display:flex;align-items:center;gap:14px;margin-bottom:25px}.callout-icon{color:var(--blue);background:white;width:37px;height:37px;display:flex;align-items:center;justify-content:center;border:1px solid #dce8fc;border-radius:9px;font-size:21px}.callout h3{font-size:13px;color:#2d507b;margin-bottom:3px}.callout p{font-size:12px;color:#7084a3;margin:0}.callout .btn{margin-left:auto}.table-card .cardhead{padding:21px 23px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;font-weight:600;color:#929cac;letter-spacing:.6px;text-transform:uppercase;padding:13px 21px;background:#fbfcfe;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{font-size:13px;padding:16px 21px;border-bottom:1px solid #f0f2f6;color:#69768a}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcff}td strong{font-weight:600;color:#33435c}td small{display:block;font-size:11px;color:#99a3b1;margin-top:5px}.link{color:var(--blue);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:5px 8px;border-radius:5px;background:#edf3fd;color:#5679b5}.badge.green{background:#ecf8f2;color:#258567}.badge.orange{background:#fff5e7;color:#ba802f}.badge.gray{background:#f0f2f6;color:#8290a2}.badge.red{background:#fff0ee;color:#c27665}.progress{height:5px;width:87px;background:#edf0f6;border-radius:4px;overflow:hidden;display:inline-block;margin-right:8px;vertical-align:middle}.progress span{display:block;height:100%;background:var(--blue);border-radius:4px}.list-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}.list-row:last-child{border:0;padding-bottom:0}.alert-icon{width:31px;height:31px;background:#fff5e7;color:#ce923d;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-row h3{font-size:12px;font-weight:550;margin-bottom:5px}.list-row p{color:#939dad;font-size:11px;line-height:1.5;margin:0}.list-row .link{font-size:12px;margin-left:auto;align-self:center}.lower-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,1fr);gap:22px}.table-foot{padding:13px 21px;background:#fcfdff;color:#99a3b0;font-size:11px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}footer{padding:16px 36px 25px;display:flex;justify-content:space-between;color:#a2abba;font-size:10px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 21px;border-bottom:1px solid var(--line)}input,select,textarea{border:1px solid #dce3ed;border-radius:7px;padding:10px 12px;background:#fff;color:#465773;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #abc5fd;outline-offset:1px}.search{width:280px;padding-left:14px}.toolbar .right{margin-left:auto}.tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-bottom:24px}.tab{border:0;background:none;color:#8390a2;padding:0 0 14px;font-size:14px}.tab.active{color:var(--blue);border-bottom:2px solid var(--blue);font-weight:600}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kanban{background:#edf1f6;border-radius:9px;padding:16px}.kanban-head{display:flex;justify-content:space-between;margin-bottom:15px;font-size:13px;font-weight:650;color:#617089}.order-tile{padding:19px;background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:13px}.order-tile h3{margin:12px 0 8px}.order-tile p{font-size:12px;color:var(--muted)}.tile-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:var(--muted);font-size:12px}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.material-tile{padding:22px}.material-tile .sample{height:110px;background:#f6f8fc;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;margin:18px 0;font-family:monospace;color:var(--blue)}.linear-sample{width:85%;height:16px;background:#759ce5;border:1px solid #5783d0;position:relative}.linear-sample:before{content:'';position:absolute;inset:5px 0;border-top:2px solid #c5d8f8}.glass-sample{width:75%;height:78px;background:#e4effa;border:1px solid #8fb6d2;position:relative;display:flex;align-items:center;justify-content:center;color:#678fae;font:12px 'DM Sans',sans-serif}.definition{display:grid;grid-template-columns:1fr 1fr;gap:15px}.definition dt{font-size:11px;color:var(--muted);margin-bottom:5px}.definition dd{font-size:13px;margin:0;color:#3b4b62}.section-gap{margin-top:24px}.notice{background:#f5f8fd;border:1px solid #e4ebf7;color:#6a7e9b;border-radius:7px;padding:14px 17px;font-size:13px;line-height:1.6}.notice.warning{background:#fff9ed;border-color:#f0e3c9;color:#a58446}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field label{font-size:13px;color:#627087}.field input,.field select,.field textarea{width:100%}.field small{font-size:11px;color:var(--muted);line-height:1.5}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);gap:20px}.switch-row p{margin:5px 0 0;font-size:12px;color:var(--muted)}.switch-row input{accent-color:var(--blue);width:18px;height:18px}.timeline{padding-left:18px;border-left:2px solid #e6edf9;margin:20px 0 0 9px}.timeline-item{position:relative;margin-bottom:24px}.timeline-item:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#769ce5;left:-23px;top:4px}.timeline-item p{font-size:12px;color:var(--muted);margin:6px 0}.timeline-item strong{font-size:13px;font-weight:550}.cutbar{display:flex;height:45px;gap:3px;margin:24px 0 9px}.cutbar div{background:#dce8fd;border:1px solid #b8cef6;display:flex;justify-content:center;align-items:center;color:#5278af;font-size:11px}.cutbar .waste{background:#fff0da;border-color:#edc98e;color:#b38943}.cutbar .reuse{background:#d8f0e6;border-color:#a5d6c3;color:#428971}.cost-total{padding:16px;background:#eef4ff;border-radius:8px;font-size:14px;display:flex;justify-content:space-between;color:var(--blue);margin-top:20px}dialog{border:1px solid var(--line);border-radius:13px;padding:0;width:min(640px,calc(100vw - 32px));max-height:90vh;color:var(--ink);box-shadow:0 20px 80px #14284633}dialog::backdrop{background:#17294266;backdrop-filter:blur(3px)}.dialog-head{padding:24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dialog-body{padding:24px}.dialog-foot{padding:18px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.dialog-head .eyebrow{margin-bottom:5px}.empty{text-align:center;padding:50px 20px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:calc(50% + 120px);transform:translateX(-50%) translateY(100px);opacity:0;background:#203552;color:#fff;padding:15px 24px;border-radius:9px;box-shadow:0 8px 24px #13223933;z-index:99;transition:.25s;font-size:13px}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.mobile-menu{display:none}.report-bar{height:12px;display:flex;gap:2px;margin:8px 0 20px;overflow:hidden;border-radius:4px}.report-bar span{background:var(--blue)}.report-bar .reuse{background:#a8c1f6}.report-bar .waste{background:#e7af69}.muted{color:var(--muted)}.photo-empty{height:110px;display:flex;align-items:center;justify-content:center;background:#f7f8fb;border:1px dashed #d8dee8;border-radius:7px;color:#95a0b1;font-size:12px;margin:14px 0}.stat-inline{display:flex;gap:24px;padding:16px 0}.stat-inline strong{font:700 22px 'Manrope',sans-serif;display:block}.stat-inline small{color:var(--muted);font-size:11px}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}@media(min-width:1550px){main{padding-top:40px}.chart{height:235px}}@media(max-width:1200px){:root{--sidebar:210px}#sidebar{padding-left:10px;padding-right:10px}main{padding:26px 24px}.topbar{padding:0 24px}.metric{padding:16px}.metric-value{font-size:25px}.grid-main,.lower-grid{grid-template-columns:1.5fr 1fr}.tile-grid{grid-template-columns:repeat(2,1fr)}.legend{gap:8px;font-size:10px}.metrics{gap:12px}td,th{padding-left:16px;padding-right:16px}}@media(max-width:980px){.grid-main,.lower-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.pagehead{align-items:flex-start}.pagehead .actions{justify-content:flex-end}.donut-area{height:190px}.balance-row{max-width:400px;margin-left:auto;margin-right:auto}}@media(max-width:700px){:root{--sidebar:0px}#sidebar{width:240px;transform:translateX(-100%);transition:.2s;box-shadow:10px 0 50px #20355222}.menu-open #sidebar{transform:translateX(0)}.mobile-menu{display:block}.topbar{height:60px;padding:0 16px;gap:12px}.crumb{flex:1;font-size:12px}.crumb>b{display:none}.crumb span{display:none}.top-right{gap:10px}.demo-label{font-size:8px}.top-right>.iconbtn{display:none}main{padding:24px 16px}.pagehead{flex-direction:column;gap:16px}.pagehead .actions{justify-content:flex-start}h1{font-size:25px}.metric{padding:15px 13px}.metric-value{font-size:24px}.metric-foot{font-size:10px;flex-wrap:wrap}.card-pad{padding:19px}.callout{align-items:flex-start;flex-wrap:wrap;padding:16px}.callout .btn{margin-left:50px}.tile-grid{grid-template-columns:1fr}.toolbar{padding:15px}.toolbar .search{width:100%}.toolbar .right{margin-left:0}.form-row{grid-template-columns:1fr;gap:0}.tabs{gap:19px;overflow:auto;white-space:nowrap}.tab{font-size:13px}.legend{flex-wrap:wrap;justify-content:flex-end}.cardhead{gap:10px}.definition{gap:17px}.dialog-body{padding:20px}.dialog-head{padding:20px}footer{padding:15px 16px;font-size:9px;gap:15px}#toast{left:50%;max-width:90%;width:max-content}.chart-summary{font-size:10px}.chart-summary strong{font-size:11px}}
/* Persistent manufacturing workspace */
.workspace{cursor:pointer}.cut-workspace main{max-width:2000px;padding:25px 22px}.cut-grid{display:grid;grid-template-columns:280px minmax(340px,1fr) 250px;gap:16px;align-items:start}.cut-left,.cut-right{display:flex;flex-direction:column;gap:16px}.cut-left .card-pad{padding:17px}.cut-left h2,.cut-right h2{font-size:14px}.cut-left label{font-size:12px}.cut-left .field{margin-bottom:12px}.cut-left input,.cut-left select{padding:8px;font-size:12px}.cut-section-head{display:flex;justify-content:space-between;align-items:center;padding:14px;background:#f0f3f8;border-bottom:1px solid var(--line)}.cut-section-head span{color:#7e8a9b;font-size:12px}.cut-grid td,.cut-grid th{font-size:11px;padding:11px 9px}.cut-grid .badge{font-size:10px;padding:4px}.demand-table{padding:12px}.demand-head,.demand-row{display:grid;grid-template-columns:1fr 1fr .7fr 22px;gap:6px;align-items:center}.demand-head{color:#8190a3;font-size:11px;margin-bottom:9px}.demand-row{margin-bottom:7px}.demand-row.linear{grid-template-columns:1fr .7fr 22px}.demand-row input{width:100%;padding:8px 5px;font-size:12px}.demand-row .iconbtn{padding:0}.hint{font-size:12px;color:#8590a0;line-height:1.55;padding:13px;margin:0}.cut-center{min-height:750px}.drawing-toolbar{padding:12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px}.drawing-toolbar>span{font-size:10px;color:#8d97a7}.drawing-toolbar .btn{padding:6px 10px;font-size:12px}.sheet-tabs{display:flex;gap:15px;overflow:auto;padding:15px 16px 0;border-bottom:1px solid var(--line)}.sheet-tabs .tab{font-size:12px;white-space:nowrap}.drawing-viewport{height:650px;padding:20px;overflow:auto;background:#fdfcfb;display:flex;align-items:flex-start;justify-content:flex-start}.cut-svg{height:auto;max-height:none;flex-shrink:0;font-family:'DM Sans',sans-serif}.drawing-empty{margin:auto;max-width:400px}.drawing-empty svg{height:70px;width:70px;color:#a5b6d0;margin-bottom:24px}.drawing-empty p{font-size:13px}.drawing-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#7b8392;padding:15px;border-top:1px solid var(--line)}.drawing-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border:1px solid #a69dad}.cut-stats{padding:17px;margin:0}.cut-stats div{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px;font-size:12px}.cut-stats div:last-child{margin:0}.cut-stats dt{color:#7d8798}.cut-stats dd{margin:0;text-align:right;font-weight:600;color:#42516a}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.photo-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px}.saved-drawing{max-height:550px;overflow:auto;background:#faf8fa;border:1px solid var(--line);margin:15px 0}.card .btn.section-gap{margin-top:20px}.form-error[hidden]{display:none}.sidebar-bottom strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;display:block}.dialog-body .cut-stats{background:#f7f9fc;border-radius:8px;margin:16px 0}.svg-mini{height:220px;width:100%}.workspace strong{white-space:normal}.field textarea{min-height:85px}footer{font-size:11px}.empty{font-size:14px;line-height:1.7}@media(max-width:1400px){.cut-grid{grid-template-columns:255px minmax(280px,1fr)}.cut-right{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr}.drawing-viewport{height:630px}}@media(max-width:850px){.cut-grid{grid-template-columns:1fr}.cut-left{display:grid;grid-template-columns:1fr 1fr}.cut-center{min-height:550px}.cut-right{grid-template-columns:1fr 1fr}.cut-right>.card:last-child{grid-column:1/-1}.drawing-viewport{height:550px}}@media(max-width:550px){.cut-left,.cut-right{display:flex}.cut-workspace main{padding:24px 12px}.drawing-viewport{height:500px;padding:12px}.cut-grid td,.cut-grid th{font-size:12px}.cut-left input,.cut-left select{font-size:14px}.cut-stats div{font-size:14px}.drawing-legend{font-size:12px}.hint{font-size:12px}.demo-label{font-size:8px}}
.event-json{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 monospace;background:#f5f7fb;padding:20px;border-radius:8px;max-height:55vh;overflow:auto}.sidebar-bottom strong{font-size:11px}.topbar .avatar{font-size:0}.topbar .avatar:after{content:'●';font-size:12px}.metric-value{overflow-wrap:anywhere}.settings-grid .card>.btn{margin-top:22px}

.cut-svg{height:100%;object-fit:contain}.saved-drawing{height:500px}.drawing-viewport{align-items:center}.drawing-viewport:has(.cut-svg[style*="120%"]){align-items:flex-start}
/* Operator guided flow: same Trazo visual language, simplified sequence */
.operator-guide{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-9px 0 20px;padding:11px 14px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#7b8799;font-size:11px}.operator-guide strong{color:#465773;font-weight:600;margin-right:2px}.operator-guide span{background:#f1f4f9;border-radius:5px;padding:5px 8px}.operator-step{font-size:8px;margin:0 0 3px;letter-spacing:1.3px}.operator-measure-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 12px}.operator-measure-actions .btn.primary{flex:1}.operator-review{padding:15px 16px;background:#fbfcfe;border-bottom:1px solid var(--line)}.operator-review strong{font-size:13px;color:#465773}.operator-review p{font-size:11px;color:#7d899a;margin:5px 0 0;line-height:1.55}.operator-review.found{background:#f4fbf8}.operator-review.found strong{color:#24765f}.operator-options details>summary{cursor:pointer;list-style:none;color:#526178;font-weight:600;font-size:12px}.operator-options details>summary::-webkit-details-marker{display:none}.operator-options details>summary:after{content:'＋';float:right;color:#8793a5}.operator-options details[open]>summary:after{content:'−'}.operator-options-body{padding-top:12px}.operator-confirm{padding:0 17px 17px}.operator-confirm .btn{width:100%}.operator-source-card{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 17px;border-bottom:1px solid var(--line);font-size:12px}.operator-source-card strong{color:#465773}.operator-source-card span{color:#7d899a;text-align:right}.operator-final-stats{background:#f7f9fc;border-radius:8px;margin:16px 0}
@media(max-width:550px){.operator-guide{gap:6px}.operator-guide strong{width:100%}.operator-guide span{font-size:10px}.operator-measure-actions{flex-direction:column}.operator-measure-actions .btn{width:100%}.operator-cut-grid .cut-left{display:flex}.operator-cut-grid .cut-right{display:flex}}

.auth-card{max-width:760px;margin:36px auto}.auth-card .actions{justify-content:flex-start}.auth-card .btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}
/* Standalone staging login */
.demo-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.demo-role-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:22px;text-align:left;display:grid;grid-template-columns:42px 1fr;column-gap:13px;row-gap:4px;color:var(--ink)}.demo-role-card:hover{border-color:#b9c9eb;background:#f8fbff}.demo-role-card .demo-role-icon{grid-row:1/3;width:42px;height:42px;border-radius:9px;background:#edf3ff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:20px}.demo-role-card strong{font:700 15px 'Manrope',sans-serif}.demo-role-card small{color:var(--muted);font-size:12px;line-height:1.45}.auth-card{max-width:820px}@media(max-width:700px){.demo-role-grid{grid-template-columns:1fr}}
