:root{font-family:system-ui,-apple-system,sans-serif;color:#e0e0e0;background-color:#1e1e1e;color-scheme:dark;--dxf-ink: #d6d6d6}body{margin:0}#app{display:flex;flex-direction:column;height:100vh;width:100vw}.tabbar{flex:0 0 auto;display:flex;gap:2px;padding:0 8px;background:#1b1b1b;border-bottom:1px solid #333333}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#aaa;padding:.55rem 1.1rem;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent}.tab:hover{color:#ddd}.tab--active{color:#fff;border-bottom-color:#4a90ff}.tab-panels{flex:1 1 auto;min-height:0;position:relative}.tab-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:none}.tab-panel--active{display:block}.split{display:flex;height:100%;width:100%}.pane{flex:1 1 50%;min-width:0;display:flex;flex-direction:column}.pane--left,.pane--right{background:#161616}.pane__title{padding:.5rem .75rem;font-size:.9rem;font-weight:600;border-bottom:1px solid #333333;background:#252525}.pane__toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid #2a2a2a}.btn{padding:.4rem .8rem;font-size:.9rem;border:1px solid #444444;border-radius:4px;background:#2b2b2b;color:#e0e0e0;cursor:pointer}.btn:hover{background:#383838}.mode-group{display:inline-flex;align-items:center;gap:.6rem;padding:.2rem .6rem;border:1px solid #3a3a3a;border-radius:4px;background:#202020}.mode-opt{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;color:#ccc;cursor:pointer;-webkit-user-select:none;user-select:none}.mode-opt input{cursor:pointer}.hidden-file{display:none}.dxf-status{font-size:.85rem;color:#999}.pane__body{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:#777;font-size:.9rem;overflow:hidden;position:relative}.pane__body--types{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:6px;overflow-y:auto}.pane__body--resizable{gap:0}.stack__divider{flex:0 0 6px;background:#333;cursor:row-resize;touch-action:none}.stack__divider:hover,.stack__divider:active{background:#4a90ff}.type-window{flex:1 0 calc((100% - 24px)/4);min-height:90px;display:flex;flex-direction:column;border:1px solid #333333;border-radius:4px;background:#1c1c1c;overflow:hidden;cursor:pointer}.type-window:hover:not(.type-window--selected){outline:2px dashed #4a90d9;outline-offset:-2px}.type-window--static{cursor:default}.type-window--static:hover{outline:none}.type-window--selected{outline:2px solid #ff9f43;outline-offset:-2px}.type-window--selected .type-window__title{color:#ff9f43}.type-window__title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:600;color:#ccc;background:#252525;border-bottom:1px solid #333333}.type-window__title>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-self:start}.type-window__title .mode-group{grid-column:2;justify-self:center;white-space:nowrap}.type-window__title .type-window__controls,.type-window__title .type-window__delete{grid-column:3;justify-self:end}.type-window__controls{display:inline-flex;align-items:center;gap:.5rem}.type-window__has{display:inline-flex;align-items:center;gap:.15rem;font-size:.75rem;font-weight:400;color:#ccc;cursor:pointer;-webkit-user-select:none;user-select:none}.type-window__delete,.type-window__action{padding:.1rem .5rem;font-size:.75rem;border:1px solid #444444;border-radius:4px;background:#2b2b2b;color:#e0e0e0;cursor:pointer}.type-window__delete:hover,.type-window__action:hover{background:#383838}.type-window__filter{padding:.1rem .35rem;font-size:.75rem;border:1px solid #444444;border-radius:4px;background:#2b2b2b;color:#e0e0e0;cursor:pointer}.type-window__filter:disabled{opacity:.5;cursor:default}.type-window__body{font-size:.85rem}.type-count-input{width:3.4rem;padding:.2rem .3rem;font-size:.85rem;border:1px solid #444444;border-radius:4px;background:#2b2b2b;color:#e0e0e0}.type-select{min-width:7rem;padding:.2rem .3rem;font-size:.85rem;border:1px solid #444444;border-radius:4px;background:#2b2b2b;color:#e0e0e0;cursor:pointer}.type-select:disabled{color:#666;cursor:default}.dxf-hud{display:none;position:absolute;top:6px;left:8px;margin:0;font:12px/1.5 ui-monospace,monospace;color:#7fe08a;background:#0000008c;padding:3px 7px;border-radius:4px;pointer-events:none;white-space:pre}body.show-hud .dxf-hud{display:block}.tabbar-right{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem;padding:4px 0}.tabbar-right .btn{padding:.25rem .6rem;font-size:.85rem}.build-badge{font-size:11px;opacity:.55;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default;-webkit-user-select:text;user-select:text;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.pane__body>.dxf-svg{width:100%;height:100%}.pane__body>.dxf-canvas{width:100%;height:100%;display:block;cursor:none}.pane__body>.dxf-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.dxf-cross-h,.dxf-cross-v,.dxf-cross-box{position:absolute;pointer-events:none;display:none;z-index:2}.dxf-cross-h{left:0;width:100%;height:0;border-top:1px solid #8a8a8a}.dxf-cross-v{top:0;height:100%;width:0;border-left:1px solid #8a8a8a}.dxf-cross-box{width:13px;height:13px;border:1px solid #8a8a8a;transform:translate(-50%,-50%)}.dxf-svg *{vector-effect:non-scaling-stroke}.dxf-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:#aaa;font-size:.9rem}.dxf-spinner{width:28px;height:28px;border:3px solid #3a3a3a;border-top-color:#4a90ff;border-radius:50%;animation:dxf-spin .8s linear infinite}@keyframes dxf-spin{to{transform:rotate(360deg)}}.app-busy{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;z-index:1000}.app-busy__box{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.3rem;background:#252525;color:#e0e0e0;border:1px solid #3a3a3a;border-radius:8px;font-size:.95rem}.app-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,12px);padding:.7rem 1.1rem;background:#2b6b3a;color:#eaffea;border-radius:8px;font-size:.95rem;opacity:0;transition:opacity .25s,transform .25s;z-index:1001;pointer-events:none}.app-toast--show{opacity:1;transform:translate(-50%)}.pane__body>.dxf-report{width:100%;height:100%;overflow:auto;box-sizing:border-box;padding:1rem;text-align:left;color:#ddd;font-size:.85rem;line-height:1.6}.dxf-report h3{margin:0 0 .5rem;font-size:1rem}.dxf-report table{border-collapse:collapse;margin-top:.5rem}.dxf-report th,.dxf-report td{border:1px solid #3a3a3a;padding:2px 10px;text-align:left}.dxf-report td:last-child{text-align:right}.split__divider{flex:0 0 6px;background:#333;cursor:col-resize;touch-action:none}.split__divider:hover,.split__divider:active{background:#4a90ff}.pane__title-action{margin-left:.75rem;font-size:.8rem;padding:.15rem .6rem}.pane__title-action.is-on{background:#ff9f43d9;border-color:#ff9f43;color:#1a1a1a;font-weight:600}.menu-btn.is-on{background:#3a3a3a;border-color:#666}.menu-pop{position:fixed;z-index:50;min-width:150px;padding:4px;background:#232323;border:1px solid #4a4a4a;border-radius:6px;box-shadow:0 6px 20px #00000080;display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;width:100%;box-sizing:border-box;padding:.35rem .6rem;font-size:.85rem;text-align:left;border:none;border-radius:4px;background:transparent;color:#e0e0e0;cursor:pointer}.menu-item:hover{background:#383838}.menu-item--toggle{gap:.35rem;-webkit-user-select:none;user-select:none}.pane__title-tools{margin-left:.75rem;display:inline-flex;gap:.4rem;vertical-align:middle}.view3d-sep{width:1px;align-self:stretch;margin:2px 3px;background:#ffffff2e}.view3d-bar{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;z-index:5}.view3d-bar button{font-size:.78rem;padding:.2rem .5rem;border:1px solid #4a4a4a;border-radius:4px;background:#282828d1;color:#e6e6e6;cursor:pointer}.view3d-bar button:hover{background:#464646eb}.view3d-bar button.is-on{background:#ff9f43d9;border-color:#ff9f43;color:#1a1a1a;font-weight:600}.view3d-bar span{align-self:center;font-size:.78rem;color:#e6e6e6;padding-left:4px}.view3d-bar select{font-size:.78rem;padding:.2rem .35rem;border:1px solid #4a4a4a;border-radius:4px;background:#282828d1;color:#e6e6e6;cursor:pointer}.sel3d-box{position:absolute;border:1px solid rgba(80,160,255,.95);background:#50a0ff1a;pointer-events:none;z-index:4}.mgt-dialog{background:#1e1e1e;color:#e0e0e0;border:1px solid #444444;border-radius:8px;padding:1rem 1.25rem;min-width:26rem;max-height:90vh;overflow-y:auto}.mgt-dialog::backdrop{background:#0000008c}.mgt-dialog h3{margin:0 0 .75rem;font-size:1rem}.mgt-dialog__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.3rem 0}.mgt-dialog__row>span{font-size:.85rem;white-space:nowrap}.mgt-dialog__row>input,.mgt-dialog__row>select{width:13rem;background:#161616;color:#e0e0e0;border:1px solid #444444;border-radius:4px;padding:.25rem .4rem}.mgt-dialog__row>input[type=checkbox]{width:auto;padding:0}.mgt-dialog__section{border:1px solid #3a3a3a;border-radius:6px;padding:.4rem .6rem .55rem;margin:.5rem 0;background:#1a1a1a}.mgt-dialog__section-title{font-size:.85rem;font-weight:600;color:#cfe3ff;margin-bottom:.25rem}.mgt-dialog__mode{display:flex;gap:.15rem .9rem;width:13rem;flex-wrap:wrap}.mgt-dialog__radio{display:flex;align-items:center;gap:.25rem;font-size:.82rem;white-space:nowrap;cursor:pointer}.mgt-dialog__radio>input{margin:0}.mgt-dialog__dims{display:flex;flex-wrap:wrap;gap:.35rem;width:13rem}.mgt-dialog__dim{display:flex;flex-direction:column;gap:.1rem;flex:1 1 5.5rem}.mgt-dialog__dim>span{font-size:.72rem;color:#b0b0b0}.mgt-dialog__dim>input{width:100%;background:#161616;color:#e0e0e0;border:1px solid #444444;border-radius:4px;padding:.2rem .3rem}.mgt-dialog__preview{margin-top:.35rem;font-size:.8rem;font-family:ui-monospace,monospace;color:#8fd18f}.mgt-dialog__auto{margin:.6rem 0 .2rem;font-size:.78rem;color:#9ac0e8}.mgt-dialog__buttons{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.unreg-dialog{min-width:22rem}.unreg-dialog__all{display:flex;align-items:center;gap:.4rem;padding:.3rem 0 .4rem;border-bottom:1px solid rgba(255,255,255,.12);font-weight:600;cursor:pointer}.unreg-dialog__list{display:flex;flex-direction:column;gap:.15rem;max-height:18rem;overflow-y:auto;margin-top:.4rem}.unreg-dialog__row{display:flex;align-items:center;gap:.4rem;padding:.2rem .1rem;cursor:pointer}.unmarked-panel{position:fixed;top:4.5rem;right:1rem;z-index:60;width:min(32rem,calc(100vw - 2rem));background:#1e1e1e;color:#e0e0e0;border:1px solid #555555;border-radius:8px;padding:0 0 .75rem;box-shadow:0 6px 24px #00000080}.unmarked-panel__title{padding:.55rem 1rem;font-size:.95rem;font-weight:600;border-bottom:1px solid #3a3a3a;cursor:move;-webkit-user-select:none;user-select:none}.unmarked-panel__note{margin:.5rem 1rem .4rem;font-size:.78rem;color:#9ac0e8}.unmarked-panel__rows{max-height:calc(100vh - 18rem);overflow-y:auto}.unmarked-panel__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;margin:0 .6rem;padding:.25rem .4rem;border-radius:5px;cursor:pointer}.unmarked-panel__row:hover{background:#ffaa281f}.unmarked-panel__row--active{background:#ffaa2833}.unmarked-panel__label{min-width:0;display:flex;flex-direction:column;gap:.1rem;font-size:.85rem}.unmarked-panel__label-main,.unmarked-panel__label-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unmarked-panel__label-note{font-size:.75rem;color:#9a9a9a}.unmarked-panel__row>select{width:9rem;background:#161616;color:#e0e0e0;border:1px solid #444444;border-radius:4px;padding:.25rem .4rem}.unmarked-panel__show{white-space:nowrap}.unmarked-panel__buttons{display:flex;justify-content:flex-end;gap:.5rem;margin:.75rem 1rem 0}.member-props-panel{position:fixed;top:4.5rem;right:1rem;z-index:60;width:min(34rem,calc(100vw - 2rem));background:#1e1e1e;color:#e0e0e0;border:1px solid #555555;border-radius:8px;padding:0 0 .75rem;box-shadow:0 6px 24px #00000080}.member-props-panel__title{padding:.55rem 1rem;font-size:.95rem;font-weight:600;border-bottom:1px solid #3a3a3a;cursor:move;-webkit-user-select:none;user-select:none}.member-props-panel__body{max-height:calc(100vh - 16rem);overflow:auto;padding:.5rem 1rem 0}.member-props-panel__buttons{display:flex;justify-content:flex-end;gap:.5rem;margin:.75rem 1rem 0}.member-props__empty{margin:.5rem 0;font-size:.82rem;color:#9a9a9a}.member-props__count{margin:.2rem 0 .5rem;font-size:.85rem;color:#9ac0e8}.member-props__kv{width:100%;border-collapse:collapse;font-size:.82rem}.member-props__kv th,.member-props__kv td{padding:.18rem .5rem;vertical-align:top;border-bottom:1px solid #2c2c2c}.member-props__kv th{text-align:left;color:#9a9a9a;font-weight:400;white-space:nowrap;width:9rem}.member-props__kv td{color:#e6e6e6;font-variant-numeric:tabular-nums}.member-props__kv-head th{color:#ffcf7a;font-weight:600;padding-top:.5rem;border-bottom:1px solid #444444}.member-props__twohc-row th{white-space:normal}.member-props__breakdown th,.member-props__breakdown td{color:gray}.member-props__table{width:100%;border-collapse:collapse;font-size:.78rem}.member-props__table th,.member-props__table td{padding:.2rem .4rem;border-bottom:1px solid #2c2c2c;text-align:left;white-space:nowrap}.member-props__table td.num,.member-props__table th.num{text-align:right;font-variant-numeric:tabular-nums}.member-props__table tfoot td{border-top:1px solid #555555;font-weight:600}.dup-panel__row{display:flex;align-items:baseline;gap:.5rem;padding:.3rem .2rem;border-bottom:1px solid #2c2c2c;font-size:.82rem;cursor:pointer;white-space:nowrap}.dup-panel__row:hover{background:#2a2a2a}.dup-panel__row.is-active{background:#24323f}.dup-panel__badge{flex:none;padding:0 .35rem;border-radius:4px;font-size:.72rem}.dup-panel__badge--same{background:#5a2a2a;color:#ffb3b3}.dup-panel__badge--diff{background:#4a3a20;color:#ffd28a}.dup-panel__label{font-weight:600;color:#e6e6e6}.dup-panel__axis{color:#9ac0e8}.dup-panel__detail{color:#9a9a9a;font-variant-numeric:tabular-nums;margin-left:auto}.dup-panel__keep{display:inline-flex;gap:.4rem;align-items:center;margin-left:.6rem;color:#ccc;font-size:.8rem;white-space:nowrap}.dup-panel__keep-option{display:inline-flex;gap:.15rem;align-items:center;cursor:pointer}.member-dialog{min-width:46rem}.member-dialog__layout{display:flex;gap:1rem;align-items:flex-start}.member-dialog__list-pane{flex:0 0 18rem}.member-dialog__form-pane{flex:1 1 auto;min-width:22rem;border-left:1px solid #333333;padding-left:1rem}.member-list{width:100%;border-collapse:collapse;font-size:.82rem}.member-list th,.member-list td{border:1px solid #383838;padding:.2rem .35rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:8rem}.member-list th{background:#252525;color:#ccc;font-weight:600}.member-list tbody tr{cursor:pointer}.member-list tbody tr:hover{background:#262626}.member-list__row--selected{outline:2px solid #ff9f43;outline-offset:-2px}.member-list__buttons{display:flex;gap:.4rem;margin-top:.5rem}.member-dialog__empty{color:#888;font-size:.85rem;padding:1rem 0}.quantity-dialog{min-width:56rem;max-width:90vw}.quantity-table-wrap{overflow-x:auto;max-height:55vh;overflow-y:auto;margin-top:.4rem}.quantity-table tbody tr{cursor:default}.quantity-table th.quantity-fire,.quantity-table td.quantity-fire{background:#ff9f4312}.quantity-table th.quantity-fire{background:#2d2820}.quantity-table th.quantity-len{background:#202a2d}.quantity-table td.quantity-face{color:#8fbccc}.quantity-table td.num{text-align:right;font-variant-numeric:tabular-nums}.quantity-row--detail td{color:#9a9a9a}.quantity-row--subtotal td{font-weight:600}.quantity-row--total td{font-weight:700;background:#252525}.quantity-detail-toggle{font-size:.85rem;color:#ccc;-webkit-user-select:none;user-select:none}.quantity-toggles{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.quantity-row--part td{color:#8a9aa5;font-size:.85em}.quantity-row--part td.quantity-part-label{padding-left:1.2rem}.quantity-row--grand td{font-weight:600;background:#1f2a24}.quantity-finish-summary{color:#a6c8d8;font-size:.85rem;margin:.4rem 0 0}.finish-dialog__section{color:#8fa8b5;font-size:.85rem;margin:.7rem 0 .2rem}.finish-dialog__row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.15rem 0}.finish-dialog__row-label{min-width:5.5rem;color:#ccc;font-size:.85rem}.quantity-warn{color:#ff9f43;font-size:.85rem;margin:.4rem 0 0}.member-dialog__add-grade{display:flex;gap:.3rem;align-items:center}.member-dialog__add-grade>input{width:6.5rem;background:#161616;color:#e0e0e0;border:1px solid #444444;border-radius:4px;padding:.2rem .35rem}.grid-dialog{min-width:52rem;max-width:92vw}.grid-dialog__cols{display:flex;gap:1rem;align-items:flex-start}.grid-dialog__col{flex:1 1 0;min-width:0}.grid-dialog__col>h4{margin:.4rem 0 .2rem;font-size:.85rem;color:#cfe3ff}.grid-dialog__name{width:5rem}.grid-dialog__num{width:6rem;text-align:right;font-variant-numeric:tabular-nums}.grid-dialog__name,.grid-dialog__num{background:#161616;color:#e0e0e0;border:1px solid #444444;border-radius:4px;padding:.15rem .3rem}.grid-dialog__num:disabled{color:#666;background:#1b1b1b}.grid-dialog__warn{color:#ff9f43;min-height:1.2em}.rack-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .6rem;overflow-y:auto;height:100%;box-sizing:border-box}.rack-panel__types{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.rack-panel__type-label{font-size:.85rem;color:#ffffffbf;white-space:nowrap}.rack-panel__types>.type-select{max-width:11rem}.rack-panel__type-name{flex:1;background:#161616;color:#e0e0e0;border:1px solid #444444;border-radius:4px;padding:.15rem .35rem;font-size:.85rem}.rack-panel__typecount{display:inline-flex;align-items:center;gap:.3rem}.rack-panel__tabbar{display:flex;gap:2px;border-bottom:1px solid #444444}.rack-panel__tab{background:transparent;color:#bdbdbd;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;padding:.25rem .7rem;font-size:.85rem;cursor:pointer}.rack-panel__tab:hover{background:#ffffff0f}.rack-panel__tab.is-active{background:#1e1e1e;color:#e0e0e0;border-color:#444}.rack-panel__tabbody{flex:1;min-height:0;overflow-y:auto}.rack-form .mgt-dialog__row>input{width:5.5rem}.rack-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1px .8rem;margin-top:2px}.rack-form__grid>.mgt-dialog__row{justify-content:flex-start;gap:.4rem;margin:.1rem 0;min-width:0}.rack-form__grid>.mgt-dialog__row>span{flex:0 0 6.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.rack-form__grid>.mgt-dialog__row>input,.rack-form__grid>.mgt-dialog__row>select{flex:1 1 auto;min-width:0;width:auto}.rack-form__subtitle{grid-column:1 / -1;font-size:.85rem;color:#ffffffb3;margin-top:.25rem}.rack-panel__tabbar--sub{margin-bottom:4px;border-bottom-style:dashed}.rack-panel__tabbar--sub>.rack-panel__tab{padding:.15rem .6rem;font-size:.8rem}.rack-chip{min-width:1.9rem;padding:.15rem .4rem;background:#262626;color:#bdbdbd;border:1px solid #444444;border-radius:4px;font-size:.8rem;cursor:pointer}.rack-chip:hover{background:#303030}.rack-chip.is-on{background:#ff9f4338;border-color:#ff9f43;color:#ffd7a8}.rack-chip.is-taken{opacity:.55;font-style:italic}.rack-chip.is-partial{border-color:#ff9f43;border-style:dashed;color:#ffd7a8}.rack-chip:disabled{cursor:not-allowed}.rack-chip.is-editing{border-width:2px;border-color:#5ac8fa}.view3d-selinfo{position:absolute;bottom:8px;right:8px;z-index:5;display:none;flex-direction:column;align-items:flex-end;gap:2px;padding:.3rem .55rem;border:1px solid #4a4a4a;border-radius:4px;background:#282828d1;color:#e6e6e6;font-size:.78rem;max-width:min(60%,420px);pointer-events:none}.view3d-selinfo.is-visible{display:flex}.view3d-selinfo div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.order-dialog{min-width:46rem;max-width:60rem}.order-head{margin:0 0 .5rem;font-size:.85rem;color:#9ac0e8}.order-section-title{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 .35rem;padding:.3rem .55rem;background:#26313d;border-left:3px solid #5a9bd8;font-size:.88rem;font-weight:600}.order-badge{background:#5a9bd8;color:#101820;font-size:.8rem;font-weight:700;padding:.05rem .55rem;border-radius:.7rem}.order-frame{display:flex;gap:.9rem;align-items:flex-start}.order-frame--beam{flex-direction:column}.order-frame>table{flex:1}.order-sum td{background:#2a2a20;font-weight:600}.order-sum__label{text-align:right}.process-root{display:flex;flex-direction:column;height:100%;width:100%;background:#161616}.process-3d{flex:1 1 55%;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid #333333}.process-progress{margin-left:.75rem;font-weight:400;color:#4a90ff}.process-gantt{flex:1 1 45%;min-height:0;display:flex;flex-direction:column}.process-timeline{flex:0 0 auto;padding:.75rem 1.25rem 1rem;background:#1c1c1c;border-bottom:1px solid #333333}.process-timeline__labels{display:flex;justify-content:space-between;font-size:.85rem;color:#ccc;margin-bottom:.6rem}.process-timeline__head{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#ccc;margin-bottom:.5rem}.process-timeline__lead{font-weight:600}.process-timeline__total{color:#999}.process-timeline__cur{margin-left:auto;color:#ff9f43;font-weight:600}.process-timeline__ruler{position:relative;height:16px;margin-bottom:2px}.tl-tick{position:absolute;top:0;bottom:0;border-left:1px solid #3a3a3a}.tl-tick__label{position:absolute;left:2px;top:1px;font-size:.68rem;color:#9a9a9a;white-space:nowrap}.gantt-grid{position:absolute;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.06);pointer-events:none}.process-timeline__track{position:relative;height:10px;border-radius:5px;background:#2b2b2b;cursor:pointer}.process-timeline__range{position:absolute;top:0;bottom:0;background:#4a90ff59;border-radius:5px;pointer-events:none}.process-timeline__handle{position:absolute;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #1c1c1c;cursor:grab;touch-action:none}.process-timeline__handle:active{cursor:grabbing}.process-timeline__handle--start,.process-timeline__handle--end{background:#4a90ff}.process-timeline__handle--current{width:18px;height:18px;background:#ff9f43;z-index:1}.process-gantt .pane__title{display:flex;align-items:center;gap:.6rem}.btn.gantt-add{padding:.2rem .6rem;font-size:.8rem;font-weight:400}.gantt-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.6rem 1.25rem}.gantt-plot{position:relative}.gantt-cur{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff9f43;pointer-events:none;z-index:2}.gantt-phase{margin:6px 0}.gantt-row{position:relative;height:30px}.gantt-detail-row{position:relative;height:16px;margin-top:2px}.gantt-detail{position:absolute;top:0;bottom:0;border-radius:3px;border:1px solid rgba(255,255,255,.35);opacity:.72;cursor:pointer;overflow:hidden;display:flex;align-items:center}.gantt-detail:hover{opacity:1;outline:1px solid #ffffff}.gantt-detail__label{padding:0 4px;font-size:.7rem;color:#14202b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.gantt-row__addd{position:absolute;top:50%;right:24px;transform:translateY(-50%);height:18px;padding:0 5px;line-height:1;font-size:.7rem;border:1px solid #444444;border-radius:9px;background:#2b2b2b;color:#ccc;cursor:pointer;z-index:3}.gantt-row__addd:hover{background:#383838;color:#fff}.proc-dialog{border:1px solid #3a3a3a;border-radius:8px;background:#202020;color:#e0e0e0;padding:1rem 1.25rem;min-width:16rem}.proc-dialog::backdrop{background:#00000073}.proc-dialog__title{margin:0 0 .75rem;font-size:1rem}.proc-dialog__field{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;font-size:.9rem}.proc-dialog__field input{flex:1 1 auto;padding:.3rem .45rem;border:1px solid #444444;border-radius:4px;background:#2b2b2b;color:#e0e0e0}.proc-dialog__btns{display:flex;align-items:center;gap:.5rem;margin-top:1rem}.gantt-bar{position:absolute;top:3px;bottom:3px;border-radius:4px;display:flex;align-items:center;min-width:8px;cursor:grab;touch-action:none;overflow:hidden}.gantt-bar:active{cursor:grabbing}.gantt-bar__name{flex:1 1 auto;padding:0 .5rem;font-size:.8rem;color:#14202b;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.gantt-bar__grip{flex:0 0 auto;width:7px;align-self:stretch;cursor:ew-resize;touch-action:none;background:#00000038}.gantt-row__del{position:absolute;top:50%;right:0;transform:translateY(-50%);width:18px;height:18px;padding:0;line-height:1;border:none;border-radius:50%;background:#333;color:#ccc;cursor:pointer;z-index:3}.gantt-row__del:hover{background:#c0392b;color:#fff}.safety-dialog{background:#252526;color:#e0e0e0;border:1px solid #555555;border-radius:8px;padding:1rem 1.25rem;min-width:620px;max-width:90vw;max-height:85vh;overflow:auto}.safety-dialog::backdrop{background:#0000008c}.safety-dialog__sub{font-size:.8rem;color:#aaa;margin:.35rem 0 .75rem;line-height:1.5}.safety-dialog__table{border-collapse:collapse;width:100%;font-size:.82rem}.safety-dialog__table th,.safety-dialog__table td{border:1px solid #444444;padding:.28rem .5rem;text-align:center;white-space:nowrap}.safety-dialog__table th{background:#2f2f30;font-weight:600}.safety-dialog__row--ok td:last-child{color:#7fd07f;font-weight:600}.safety-dialog__row--ng td{background:#3a2020}.safety-dialog__row--ng td:last-child{color:#ff6b6b;font-weight:700}.safety-dialog__warnings{font-size:.78rem;color:#999;margin:.6rem 0 0}.safety-dialog__row--na td{color:#888}.safety-dialog__details{margin-top:.7rem;font-size:.8rem}.safety-dialog__details>summary{cursor:pointer;color:#9ab8d8;margin-bottom:.4rem}.safety-dialog__form{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin:.4rem 0 .8rem;font-size:.85rem}.safety-dialog__field input{width:5.5rem;background:#1e1e1e;color:#e0e0e0;border:1px solid #555555;border-radius:4px;padding:.2rem .35rem}
