:root{--bg: #e9edf1;--panel: #f7f8fa;--panel-strong: #ffffff;--border: #d3d9e0;--border-strong: #b9c2cc;--text: #1c232b;--muted: #68727e;--accent: #2f6fe0;--accent-strong: #2358bd;--accent-soft: #e2ebfb;--danger: #c92a2a;--ok: #2b8a3e;--warn: #d9480f;--radius: 6px;--topbar: 48px;--right: 320px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}input[type=text],input:not([type]),select,textarea{width:100%;min-width:0;height:28px;padding:0 7px;border:1px solid var(--border);border-radius:5px;background:var(--panel-strong);outline:none}textarea{height:auto;min-height:44px;padding:5px 7px;resize:vertical;line-height:1.3}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2f6fe02e}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.boot{display:grid;place-items:center;height:100%;color:var(--muted);font-size:15px}.boot-error{color:var(--danger)}.app{display:grid;grid-template-rows:var(--topbar) minmax(0,1fr);height:100%}.workbench{display:grid;grid-template-columns:auto minmax(0,1fr) var(--right);min-height:0}.center{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;min-width:0;min-height:0;background:var(--bg)}.topbar{display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--panel-strong);border-bottom:1px solid var(--border);min-width:0;overflow:hidden}.brand{display:flex;align-items:center;gap:7px;font-weight:700;font-size:15px;letter-spacing:.01em;padding-right:4px;white-space:nowrap}.project-name{width:190px;flex:0 1 190px;min-width:90px}.project-name input{font-weight:600;border-color:transparent;background:transparent}.project-name input:hover{border-color:var(--border)}.bar-group{display:flex;align-items:center;gap:2px;padding-left:6px;margin-left:2px;border-left:1px solid var(--border);flex:0 0 auto}.bar-btn{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius);background:transparent;white-space:nowrap}.bar-btn:hover:not(:disabled){background:#eef2f6;border-color:var(--border)}.bar-btn.icon-only .bar-label{display:none}.bar-btn.export-btn{font-weight:600;color:var(--accent-strong)}.bar-field{display:flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap}.bar-field select,.bar-field .scale-input{width:auto;min-width:64px;height:30px;color:var(--text)}.bar-field .scale-input{width:78px}.context-switches{gap:7px}.compact-switch{display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.compact-switch-label{font-size:11px}.compact-switch-buttons{display:inline-flex;overflow:hidden;border:1px solid var(--border);border-radius:5px;background:var(--panel)}.compact-switch-buttons button{height:26px;padding:0 6px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--muted);font-size:11px;font-weight:700}.compact-switch-buttons button:first-child{border-left:0}.compact-switch-buttons button:hover{background:#eef2f6}.compact-switch-buttons button.active{background:var(--accent-soft);color:var(--accent-strong)}.bar-spacer{flex:1 1 0}.save-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--muted);white-space:nowrap;font-size:12px}.save-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.save-pending .save-dot,.save-saving .save-dot{background:#f59f00}.save-local-only .save-dot{background:var(--warn)}.save-error{color:var(--danger)}.save-error .save-dot{background:var(--danger)}.toolbar{position:relative;z-index:5;display:flex;flex-direction:column;gap:6px;padding:8px 6px;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;overflow-x:visible}.tool-section{display:grid;grid-template-columns:repeat(2,36px);gap:3px;padding-bottom:6px;border-bottom:1px solid var(--border)}.tool-section:last-of-type{border-bottom:0}.tool-btn{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#2d3640}.tool-btn:hover{background:#e7ecf2;border-color:var(--border)}.tool-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.tool-btn.open{border-color:var(--border-strong)}.flyout-mark{position:absolute;right:3px;bottom:3px;width:0;height:0;border-left:5px solid transparent;border-bottom:5px solid currentColor;opacity:.6}.flyout{position:fixed;z-index:40;min-width:250px;padding:6px;background:var(--panel-strong);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #141e2d2e}.flyout-title{padding:3px 8px 6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.flyout-item{display:flex;align-items:center;gap:9px;width:100%;height:32px;padding:0 8px;border:0;border-radius:5px;background:transparent;text-align:left}.flyout-item:hover{background:#eef2f6}.flyout-item.active{background:var(--accent-soft);color:var(--accent-strong)}.flyout-item kbd{margin-left:auto;color:var(--muted);font-family:inherit;font-size:11px}.canvas-area{position:relative;min-width:0;min-height:0;overflow:hidden}.canvas-host{position:absolute;inset:0;outline:none;touch-action:none;cursor:default;-webkit-user-select:none;user-select:none}.canvas-host.drawing{cursor:none}.canvas-host.panning{cursor:grabbing}.canvas-layer{position:absolute;inset:0;display:block}.numeric-box{position:absolute;z-index:10;display:flex;flex-direction:column;gap:3px;padding:6px;background:#fffffff7;border:1px solid var(--accent);border-radius:6px;box-shadow:0 6px 18px #141e2d33}.numeric-box label{display:grid;grid-template-columns:56px 96px 20px;align-items:center;gap:5px;color:var(--muted)}.numeric-box label.active{color:var(--text);font-weight:600}.numeric-box input{height:26px;font-variant-numeric:tabular-nums}.numeric-hint{color:var(--muted);font-size:11px;white-space:nowrap}.inline-edit{position:absolute;z-index:10;display:flex;flex-direction:column;gap:3px;transform:translateY(-100%)}.inline-edit input{width:240px;height:30px;border-color:var(--accent);box-shadow:0 6px 18px #141e2d33}.inline-hint{padding:2px 6px;background:#1b1f24db;color:#fff;border-radius:4px;font-size:11px;white-space:nowrap}.sheetbar{display:flex;align-items:center;gap:4px;height:40px;margin:8px 10px 6px;padding:5px 6px;background:#f7f8faf5;border:1px solid var(--border);border-radius:7px;box-shadow:0 7px 18px #141e2d24;min-width:0}.sheet-carousel{display:flex;align-items:center;flex:1 1 auto;min-width:80px}.sheet-tabs{display:flex;gap:3px;flex:1 1 auto;min-width:0;overflow-x:auto;padding:0 14px;scrollbar-width:none;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.sheet-tabs::-webkit-scrollbar{display:none}.sheet-carousel-arrow{display:grid;place-items:center;width:24px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);flex:0 0 auto}.sheet-carousel-arrow:hover{background:#e8edf3;color:var(--text)}.sheet-tab{display:flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid var(--border);border-radius:5px;background:var(--panel-strong);white-space:nowrap;cursor:pointer;flex:0 0 auto}.sheet-tab:hover{border-color:var(--border-strong)}.sheet-tab.active{border-color:var(--accent);background:var(--accent-soft)}.sheet-tab.selected:not(.active){border-color:#e08a12;background:#fff4e6}.sheet-select-all{padding:0 6px;gap:5px;font-variant-numeric:tabular-nums}.sheet-number{display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:4px;background:#e3e8ee;font-size:11px;font-weight:700}.sheet-tab.active .sheet-number{background:var(--accent);color:#fff}.sheet-number.manual{box-shadow:inset 0 0 0 1px #6d7f94}.sheet-meta{color:var(--muted);font-size:11px}.sheet-rename{width:120px!important;height:22px!important}.sheet-action{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--panel-strong);white-space:nowrap;flex:0 0 auto}.sheet-action.icon{width:28px;padding:0;justify-content:center}.sheet-action:hover:not(:disabled){border-color:var(--border-strong);background:#eef2f6}.sheet-action.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sheet-numbering-control{position:relative;flex:0 0 auto}.sheet-numbering-popover{position:absolute;right:0;bottom:calc(100% + 7px);z-index:40;width:286px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-strong);box-shadow:0 12px 34px #141e2d38}.sheet-numbering-head,.sheet-numbering-actions,.sheet-numbering-start{display:flex;align-items:center}.sheet-numbering-head{justify-content:space-between;margin-bottom:7px}.sheet-numbering-close{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent}.sheet-numbering-close:hover{background:#e8edf3}.sheet-numbering-popover p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.4}.sheet-numbering-start{justify-content:space-between;gap:12px;font-size:12px;font-weight:600}.sheet-numbering-start input{width:78px;height:28px;text-align:center;font-variant-numeric:tabular-nums}.sheet-numbering-preview{margin:9px 0;padding:7px 9px;border-radius:5px;background:#eef3f8;color:#405165;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.sheet-numbering-actions{justify-content:space-between;gap:8px}.sheet-numbering-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:29px;padding:0 10px;border:1px solid var(--border);border-radius:5px}.sheet-numbering-actions .primary{border-color:var(--accent);background:var(--accent);color:#fff}.statusbar{display:flex;align-items:center;gap:4px;height:30px;padding:0 6px;background:#2a323c;color:#d9e0e7;font-size:12px;min-width:0}.status-cell{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;white-space:nowrap;flex:0 0 auto}.status-sheet{max-width:140px;overflow:hidden;text-overflow:ellipsis;color:#aab4bf}.status-coords{min-width:190px;font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.status-toggle{height:22px;padding:0 8px;border:1px solid #46515d;border-radius:4px;background:transparent;color:#9aa5b1;font-weight:700;font-size:11px;letter-spacing:.04em}.status-toggle.on{background:#3a6fd0;border-color:#3a6fd0;color:#fff}.status-toggle.chevron{width:20px;padding:0;display:grid;place-items:center;margin-left:-5px;border-left:0;border-radius:0 4px 4px 0;font-weight:400}.snap-control{position:relative;display:flex;align-items:center}.snap-control>.status-toggle:first-child{border-radius:4px 0 0 4px}.snap-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;display:grid;gap:2px;min-width:200px;padding:6px;background:var(--panel-strong);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #141e2d33}.snap-item{display:flex;align-items:center;gap:8px;height:26px;padding:0 6px;border-radius:4px;cursor:pointer}.snap-item:hover{background:#eef2f6}.polar select{width:auto;height:20px;padding:0 3px;background:#36404b;color:#e6ebf0;border-color:#46515d;font-size:12px}.zoom{min-width:52px;justify-content:center;border:0;background:transparent;color:inherit;font-variant-numeric:tabular-nums}.zoom:hover{background:#36404b;border-radius:4px}.status-tool{color:#fff;font-weight:600}.status-prompt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aab4bf}.rightpanel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;background:var(--panel);border-left:1px solid var(--border)}.tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);background:var(--panel-strong)}.tab{position:relative;height:36px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:600;white-space:nowrap}.tab.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.piping-tabs{display:flex;grid-template-columns:none;overflow-x:auto;scrollbar-width:thin}.piping-tabs .tab{flex:0 0 auto;min-width:66px;padding-inline:9px}.badge{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px}.panel-scroll{overflow-y:auto;padding:8px 10px 16px;scrollbar-width:thin}.line-type-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;margin-top:5px}.line-type-button{display:grid;grid-template-rows:12px auto;gap:3px;min-width:0;padding:5px 3px 4px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--muted)}.line-type-button:hover,.line-type-button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent-strong)}.line-type-button small{overflow:hidden;font-size:9px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.line-type-sample{align-self:center;display:block;width:100%;height:2px;background:#263746}.line-type-sample.main{height:4px}.line-type-sample.dashed{background:repeating-linear-gradient(90deg,#263746 0 9px,transparent 9px 13px)}.line-type-sample.dashDot{background:repeating-linear-gradient(90deg,#263746 0 9px,transparent 9px 12px,#263746 12px 14px,transparent 14px 18px)}.font-upload-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.piping-menu-size{padding:5px 10px 6px;border-bottom:1px solid var(--border);color:var(--accent-strong);font-size:11px;font-weight:700}.all-welds-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr);gap:8px;margin-bottom:10px}.all-welds-table-wrap{max-height:min(60vh,560px)}.all-welds-table tbody tr{cursor:pointer}.all-welds-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}@media(max-width:1100px)and (pointer:coarse){:root{--right: 100%}.app{height:100dvh}.workbench{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(300px,1fr) minmax(230px,38dvh)}.center{grid-column:1;grid-row:1}.rightpanel{grid-column:1;grid-row:2;border-top:1px solid var(--border);border-left:0}.toolbar{position:absolute;z-index:12;top:8px;left:8px;max-height:calc(100% - 16px);overflow-y:auto;border:1px solid var(--border);border-radius:9px;box-shadow:0 5px 20px #14202d2e}.tool-btn,.icon-btn,.sheet-action{min-width:38px;min-height:38px}.tabs{position:sticky;top:0;z-index:2}.tab{height:42px}.panel-scroll{padding-bottom:max(16px,env(safe-area-inset-bottom))}.piping-tables.open{max-height:32dvh}}@media(max-width:760px)and (pointer:coarse){.workbench{grid-template-rows:minmax(260px,1fr) minmax(250px,43dvh)}.all-welds-filters{grid-template-columns:1fr}.project-name,.export-btn .bar-label{display:none}}.panel-section{margin-bottom:10px;padding:8px 10px 10px;background:var(--panel-strong);border:1px solid var(--border);border-radius:8px}.panel-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-weight:700;font-size:12px;color:#36404b}.panel-section-body{display:grid;gap:5px}.panel-disclosure{margin-bottom:8px;border:1px solid var(--border);border-radius:7px;background:var(--panel-strong)}.panel-disclosure>summary{padding:8px 10px;color:#36404b;font-size:12px;font-weight:700;cursor:pointer}.panel-disclosure-body{display:grid;gap:5px;padding:0 10px 10px}.revision-card{display:grid;gap:5px;padding:7px 0;border-bottom:1px solid var(--border)}.revision-card:last-of-type{border-bottom:0}.sheet-extra-fields{display:grid;gap:3px;padding-block:4px}.sheet-gallery{position:fixed;inset:0;z-index:1000;overflow:auto;padding:24px;background:#eef2f4;color:#17212b}.sheet-gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;max-width:1500px;margin:0 auto 20px}.sheet-gallery-heading h1,.sheet-gallery-heading p{margin:0 0 6px}.sheet-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px;max-width:1500px;margin:0 auto}.standard-compatibility{position:fixed;inset:0;z-index:1000;overflow:auto;background:#eef2f4;color:#17212b;padding:24px}.standard-compatibility>header,.standard-compatibility>main{max-width:1600px;margin:0 auto}.standard-compatibility>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.standard-compatibility h1,.standard-compatibility h2,.standard-compatibility h3,.standard-compatibility p{margin:0 0 8px}.standard-compatibility>main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.standard-compatibility article{min-width:0;border:1px solid #c8d1d7;border-radius:10px;background:#fff;padding:14px}.standard-compatibility article>svg{display:block;width:100%;max-height:250px;border:1px solid #d9e0e4;background:#fff}.standard-compatibility h3{margin-top:16px;font-size:13px;color:#53616b}.compat-profile{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 12px}.compat-profile svg{grid-row:1 / 3;width:90px;height:90px}.compat-profile span{color:#65727b;font-size:12px}.standard-compatibility table{width:100%;border-collapse:collapse;font-size:10px}.standard-compatibility td{border:1px solid #b8c2c8;padding:3px}.sheet-gallery-card{min-width:0;padding:12px;border:1px solid #cbd5da;border-radius:10px;background:#fff;box-shadow:0 4px 18px #1f2d3414}.sheet-gallery-card header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px}.sheet-gallery-card header span{color:#63727b}.sheet-gallery-card svg{display:block;width:100%;max-height:420px;background:#f8fafb}.field-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:6px;min-height:28px}.field-row.compact{grid-template-columns:26px minmax(0,1fr)}.field-row.stacked{grid-template-columns:minmax(0,1fr);gap:3px;align-items:stretch}textarea.wrap-text{min-height:28px;padding:5px 7px 4px;resize:none;overflow:hidden;overflow-wrap:anywhere;field-sizing:content}.field-label{color:var(--muted);font-size:12px;line-height:1.2}.field-control{display:flex;align-items:center;gap:4px;min-width:0}.field-control .value{font-variant-numeric:tabular-nums}.number-input{position:relative;display:flex;align-items:center;width:100%;min-width:0}.number-input input{font-variant-numeric:tabular-nums;padding-right:26px}.number-input .unit{position:absolute;right:7px;color:var(--muted);font-size:11px;pointer-events:none}.weight-select{display:flex;gap:4px;width:100%;min-width:0}.weight-select select{flex:1 1 auto}.weight-select .number-input{flex:0 0 82px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.auto-fields{padding:5px 0;color:var(--muted);font-size:12px}.auto-fields b{color:var(--text)}.letters{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:100%}.letters input{text-align:center}.roles{display:grid;gap:3px;margin:4px 0}.roles-head,.roles-row{display:grid;grid-template-columns:58px minmax(0,1.6fr) minmax(0,1fr);gap:3px;align-items:center}.roles-head{color:var(--muted);font-size:11px}.roles-row input{height:25px;padding:0 5px;font-size:12px}.role-label{color:var(--muted);font-size:12px}.hint{margin:2px 0;color:var(--muted);font-size:12px;line-height:1.4}.form-error{margin:4px 0;color:var(--danger)}.check-row{display:flex;align-items:center;gap:7px;min-height:26px;cursor:pointer}.chips{display:flex;flex-wrap:wrap;gap:4px;padding-left:102px}.chip{height:24px;padding:0 8px;border:1px solid var(--border);border-radius:12px;background:var(--panel-strong);font-size:12px}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--border-strong);background:#eef2f6}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.danger{color:var(--danger)}.btn.wide{width:100%;margin-top:4px}.button-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:3px}.button-row .btn{padding:0 4px}.icon-btn{display:grid;place-items:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius);background:transparent}.icon-btn:hover:not(:disabled){background:#eef2f6;border-color:var(--border)}.summary-list{margin:0;padding:0;list-style:none}.summary-list li{display:flex;justify-content:space-between;padding:2px 0}.summary-list span{color:var(--muted)}.layer-list{display:grid;gap:6px}.layer-card{display:grid;gap:5px;padding:6px;border:1px solid var(--border);border-radius:6px}.layer-card.active{border-color:var(--accent);background:#f5f8fe}.layer-card.hidden-layer{opacity:.7}.image-layer-card{background:#f8fafc}.image-layer-top{display:flex;align-items:center;gap:8px;min-height:26px;color:#46515d}.image-layer-name{display:grid;min-width:0;flex:1;line-height:1.15}.image-layer-name strong{font-size:12px;font-weight:600}.image-layer-name small{color:var(--muted);font-size:10px}.layer-top{display:grid;grid-template-columns:16px 26px minmax(0,1fr) repeat(3,22px);align-items:center;gap:4px}.layer-style{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) 24px;align-items:center;gap:4px}.layer-top .wrap-text{padding-inline:5px;font-size:12px;overflow-wrap:break-word}.layer-top .icon-toggle{width:22px}.layer-style select{height:25px;font-size:12px}.color-input{width:26px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;background:none}.icon-toggle{display:grid;place-items:center;width:26px;height:26px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted)}.icon-toggle:hover{border-color:var(--border)}.icon-toggle.on{color:#36404b}.icon-toggle.off{opacity:.35}.icon-toggle.warn{color:var(--warn)}.shortcuts{margin:0;display:grid;gap:3px}.shortcuts div{display:grid;grid-template-columns:110px 1fr;gap:6px;font-size:12px}.shortcuts dt{font-weight:600}.shortcuts dd{margin:0;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#141c2661}.modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(560px,100%);max-height:min(680px,calc(100vh - 32px));background:var(--panel-strong);border-radius:10px;box-shadow:0 20px 60px #141e2d4d}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px 16px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:15px}.modal-body{display:grid;gap:8px;align-content:start;padding:12px 16px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:6px;padding:10px 16px;border-top:1px solid var(--border)}.table-link{padding:0;border:0;background:transparent;color:var(--accent-strong);font-weight:650;text-decoration:underline;text-underline-offset:2px}.compact-weld-number{display:grid;grid-template-columns:minmax(44px,1fr) 20px;align-items:center;gap:3px}.extended-weld-modal{position:relative;width:calc(100vw - 24px);height:calc(100vh - 24px);max-height:none;border-radius:8px}.extended-weld-modal>.modal-body{grid-template-rows:auto auto auto minmax(0,1fr);gap:0;padding:0;overflow:hidden}.extended-weld-toolbar,.extended-weld-quick-filters,.extended-weld-secondary-filters{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--panel)}.extended-weld-toolbar select{width:auto;max-width:165px}.extended-weld-toolbar .spacer,.modal-foot .spacer{flex:1}.extended-weld-search{display:flex;align-items:center;gap:5px;width:min(260px,22vw);padding-left:7px;border:1px solid var(--border);border-radius:5px;background:#fff}.extended-weld-search input{border:0!important;box-shadow:none!important;background:transparent!important}.extended-weld-quick-filters{padding-block:5px;overflow-x:auto}.extended-weld-quick-filters button{flex:0 0 auto;padding:3px 8px;border:1px solid var(--border);border-radius:12px;background:#fff;white-space:nowrap}.extended-weld-quick-filters button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.extended-weld-quick-filters span{margin-left:auto;white-space:nowrap;color:var(--muted)}.extended-weld-secondary-filters{padding-block:4px;font-size:12px}.extended-weld-secondary-filters label{display:flex;align-items:center;gap:5px;color:var(--muted)}.extended-weld-secondary-filters input,.extended-weld-secondary-filters select{width:auto;height:25px;color:var(--text)}.extended-weld-grid{min-height:0;overflow:auto;background:#fff}.extended-weld-grid table{border-collapse:separate;border-spacing:0;min-width:100%;table-layout:fixed;font-size:12px}.extended-weld-grid th,.extended-weld-grid td{height:36px;padding:3px 6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff}.extended-weld-grid thead th{position:sticky;top:0;z-index:5;height:31px;background:#eef2f6;text-align:center;font-weight:650}.extended-weld-grid thead tr:nth-child(2) th{top:31px;z-index:6;background:#f7f9fb}.extended-weld-grid th.group{border-bottom-color:var(--border-strong);color:#334154}.extended-weld-grid tbody tr:hover td{background:#f8fbff}.extended-weld-grid tbody tr.selected td{background:var(--accent-soft)}.extended-weld-grid tbody tr.has-warning td.pin-number{box-shadow:inset 3px 0 var(--warn)}.extended-weld-grid .pin{position:sticky;z-index:3}.extended-weld-grid thead .pin{z-index:10}.extended-weld-grid .pin-select{left:0;width:36px;min-width:36px;max-width:36px;text-align:center}.extended-weld-grid .pin-number{left:36px;width:78px;min-width:78px;max-width:78px}.extended-weld-grid .pin-line{left:114px;width:170px;min-width:170px;max-width:170px}.extended-weld-grid .pin-joint{left:284px;width:270px;min-width:270px;max-width:270px;box-shadow:2px 0 3px #1923301f}.extended-weld-grid .pin-number .icon-btn{float:right}.icon-btn.tiny{width:19px;height:19px;min-height:19px;padding:1px}.virtual-spacer td{height:0;padding:0;border:0}.weld-cell-value{display:block;width:100%;min-height:27px;padding:3px 4px;overflow:hidden;border:1px solid transparent;border-radius:3px;background:transparent;text-align:left;text-overflow:ellipsis;white-space:nowrap}.weld-cell-value:hover:not(:disabled){border-color:var(--border);background:#fff}.weld-cell-editor{width:100%;height:28px;min-width:0;padding:2px 5px;border:1px solid var(--accent);border-radius:3px;background:#fff}.weld-readiness{display:inline-block;padding:2px 6px;border-radius:9px}.weld-readiness.ready{color:var(--ok);background:#ebfbee}.weld-readiness.warning{color:var(--warn);background:#fff4e6}.document-count{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--accent-strong)}.extended-column-settings{position:absolute;z-index:30;top:96px;right:10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(420px,calc(100% - 20px));max-height:calc(100% - 110px);border:1px solid var(--border-strong);border-radius:7px;background:#fff;box-shadow:0 12px 34px #19233040}.extended-column-settings>header,.extended-column-settings>footer{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.extended-column-settings>header b{display:flex;gap:6px;align-items:center}.extended-column-settings>footer{border-top:1px solid var(--border);border-bottom:0}.extended-column-settings>div{overflow:auto;padding:6px 10px}.extended-column-settings section{padding:5px 0;border-bottom:1px solid #edf0f3}.extended-column-settings label{display:inline-flex;align-items:center;gap:5px}.extended-column-settings .group-toggle{display:flex}.field-toggles{display:flex;flex-wrap:wrap;gap:5px 14px;padding:5px 0 0 22px;color:var(--muted)}.bulk-fill-modal{width:min(760px,calc(100vw - 32px))}.bulk-fill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bulk-fill-grid label{display:grid;gap:4px}.bulk-fill-grid label>span{color:var(--muted)}.bulk-fill-grid label.check{display:flex;align-items:center;padding-top:20px}.execution-files-modal{width:min(680px,calc(100vw - 32px))}.repair-history-modal{width:min(820px,calc(100vw - 32px))}@media(max-width:1000px){.extended-weld-toolbar select:nth-of-type(n+3){display:none}.bulk-fill-grid{grid-template-columns:1fr 1fr}}.scope{display:grid;gap:4px;margin:0;padding:6px 10px 8px;border:1px solid var(--border);border-radius:6px}.scope legend{padding:0 4px;color:var(--muted);font-size:12px}.scope label{display:flex;align-items:center;gap:7px;min-height:24px}.sheet-picks{display:grid;gap:2px;max-height:180px;overflow-y:auto;padding-left:22px}.muted{color:var(--muted);font-size:12px}.project-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.project-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.project-list li.current{border-color:var(--accent);background:#f5f8fe}.project-info{display:grid;min-width:0}.project-info b,.project-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-info span{color:var(--muted);font-size:12px}.toast{position:fixed;left:96px;bottom:78px;z-index:60;max-width:min(460px,calc(100vw - 420px));padding:9px 14px;background:#1b1f24eb;color:#fff;border-radius:7px;box-shadow:0 8px 24px #141e2d40;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media(max-width:1500px){:root{--right: 300px}.topbar .bar-group:first-of-type .bar-label{display:none}.project-name{flex-basis:150px}.compact-switch-label{display:none}}@media(max-width:1280px){.bar-field>span,.brand span,.sheet-meta{display:none}.bar-group .bar-label{display:none}.export-btn .bar-label{display:inline}.status-sheet,.polar{display:none}}@media(max-width:1000px){:root{--right: 250px}.save-indicator{font-size:0;gap:0}.status-coords{min-width:150px}}@media(max-height:760px){.tool-section{grid-template-columns:repeat(2,32px);gap:2px;padding-bottom:4px}.tool-btn{width:32px;height:32px}.toolbar{gap:4px;padding:6px 5px}}.section-action{display:inline-flex;align-items:center;gap:3px;height:24px;padding:0 7px;border:1px solid var(--border);border-radius:5px;background:var(--panel-strong);color:var(--accent-strong);font-size:12px;font-weight:600}.section-action:hover{border-color:var(--accent)}.icon-toggle.danger:hover:not(:disabled){color:var(--danger)}.block-list{display:grid;gap:4px}.block-row{display:grid;grid-template-columns:minmax(0,1fr) auto 30px 30px;align-items:center;gap:4px}.inline-edit textarea{width:260px;min-height:30px;border-color:var(--accent);box-shadow:0 6px 18px #141e2d33;resize:none}.import-summary{display:grid;gap:2px;padding:8px 10px;background:#f5f8fe;border:1px solid var(--border);border-radius:6px}.chip-list{display:flex;flex-wrap:wrap;gap:4px}.chip.static{cursor:default}.warn-list{margin:0;padding:6px 10px;border-radius:6px;background:#fff4e6;color:#8a4b08;font-size:12px}.modal-foot .spacer{flex:1 1 auto}.materials-modal{width:min(1480px,calc(100vw - 32px));height:min(850px,calc(100vh - 32px));max-height:none}.materials-modal>.modal-body{grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;overflow:hidden}.materials-tabs,.materials-toolbar,.materials-card-actions,.materials-file,.materials-usage-row{display:flex;align-items:center;gap:6px}.materials-tabs{border-bottom:1px solid var(--border)}.materials-tabs button{padding:7px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.materials-tabs button.active{border-color:var(--accent);color:var(--text);font-weight:650}.materials-toolbar{flex-wrap:wrap}.materials-toolbar>input{min-width:230px;flex:1}.materials-toolbar .check{display:flex;align-items:center;gap:4px;white-space:nowrap}.materials-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,370px);min-height:0;border:1px solid var(--border);border-radius:7px;overflow:hidden}.materials-table-wrap,.materials-card{min-height:0;overflow:auto}.materials-card{padding:10px;border-left:1px solid var(--border);background:color-mix(in srgb,var(--panel) 76%,transparent)}.materials-card h3,.materials-card h4{margin:2px 0 9px}.materials-modal.execution-readonly .materials-card input,.materials-modal.execution-readonly .materials-card select,.materials-modal.execution-readonly .materials-card textarea,.materials-modal.execution-readonly .materials-card button,.materials-modal.execution-readonly .materials-card label.icon-btn{pointer-events:none;opacity:.7}.materials-table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.materials-table th,.materials-table td{padding:6px 7px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.materials-table th{position:sticky;top:0;z-index:1;background:var(--panel-strong);color:var(--muted)}.materials-table tbody tr{cursor:pointer}.materials-table tbody tr:hover,.materials-table tbody tr.selected{background:var(--hover)}.materials-table .balance{display:grid;grid-template-columns:repeat(3,auto);gap:7px}.materials-table .balance strong{color:var(--accent)}.materials-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.materials-form label{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:11px}.materials-form label.wide,.materials-custom.wide{grid-column:1 / -1}.materials-form input,.materials-form select,.materials-form textarea{width:100%;color:var(--text)}.materials-custom{display:grid;gap:5px}.materials-custom label{grid-template-columns:90px minmax(0,1fr) auto;align-items:center}.materials-card-actions{flex-wrap:wrap;margin-top:10px}.materials-warning{margin:8px 0;padding:7px;border:1px solid #e7ab4a;border-radius:5px;background:#e7ab4a1f}.materials-file,.materials-usage-row{justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border)}.status{display:inline-flex;padding:2px 6px;border-radius:999px;background:var(--hover)}.status.active{color:#21875d}.status.exhausted{color:#b06a16}.status.archived{color:var(--muted)}.material-trace-card{display:grid;gap:3px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--panel-strong);font-size:12px}.material-trace-card span{color:var(--muted)}.weld-passport-modal,.wps-modal{width:min(1120px,calc(100vw - 32px));height:min(820px,calc(100vh - 32px));max-height:none}.weld-passport-modal>.modal-body{grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.passport-heading,.passport-section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.passport-section-head{justify-content:space-between;margin-top:8px}.passport-section-head h3{margin:0}.passport-status{padding:3px 8px;border-radius:999px;background:var(--hover);font-weight:650}.status-accepted,.status-closed{color:#16734e}.status-rejected,.status-repair{color:#b62e36}.status-inspectionPending{color:#946000}.weld-register-modal{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.weld-register-modal>.modal-head{min-height:48px;padding:0 16px;border:0;background:#1f2937;color:#fff}.weld-register-modal>.modal-head h2{font-size:13px}.weld-register-modal>.modal-head .icon-btn{color:#fff}.weld-register-modal>.modal-body{min-height:0;padding:0;overflow:hidden}.weld-register-modal>.modal-foot{padding:7px 12px;background:var(--panel-strong)}.weld-register-shell{position:relative;height:100%;display:flex;flex-direction:column;min-height:0;background:#f4f6f8;color:#1f2937;font-size:12px}.wr-toolbar,.wr-line-info,.wr-defaults{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border-bottom:1px solid #d7dde5;background:#fff}.wr-toolbar-group{display:flex;align-items:center;gap:6px;padding-right:9px;border-right:1px solid #d7dde5}.wr-toolbar-group:last-child{border-right:0}.wr-toolbar-group>b,.wr-line-info>b,.wr-defaults-title{color:#667085;font-weight:800;white-space:nowrap}.wr-line-picker{min-width:290px}.wr-line-picker .wr-search{min-width:180px}.wr-method-checks{flex-wrap:wrap}.wr-check{height:30px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #d7dde5;border-radius:5px;background:#fff;font-weight:700;white-space:nowrap}.wr-check input{margin:0}.wr-method-toolbar{display:flex;gap:6px;overflow-x:auto}.wr-plan{--fill: 0%;position:relative;width:92px;min-width:92px;height:72px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:6px;border:1px solid #d7dde5;border-radius:6px;background:linear-gradient(to top,#dff3e7 var(--fill),#fff var(--fill))}.wr-plan>*{position:relative;z-index:1}.wr-plan strong{font-size:13px}.wr-plan label{display:flex;align-items:center;gap:4px;color:#667085}.wr-plan input{width:40px;height:22px;padding:0 4px;border:1px solid #d7dde5;border-radius:4px;background:#fff}.wr-plan>b{white-space:nowrap}.wr-plan.hidden{display:none}.wr-export-group{margin-left:auto}.wr-export-group select{min-width:250px}.wr-toolbar .btn,.wr-toolbar select,.wr-toolbar .wr-search input{height:30px}.wr-line-info{background:#f8fafc}.wr-line-info span{display:flex;align-items:center;gap:5px;color:#667085;font-weight:700}.wr-line-info strong{color:#1f2937;font-weight:800}.wr-defaults{background:#f8fafc;overflow-x:auto;flex-wrap:nowrap}.wr-defaults>small{min-width:max-content;color:#667085}.wr-defaults label{min-width:190px;display:flex;align-items:center;gap:5px;color:#667085;font-weight:700;white-space:nowrap}.wr-defaults label select{min-width:105px;height:28px;flex:1}.wr-grid{flex:1 1 auto;min-height:0;margin:0 10px 10px;overflow:auto;border:1px solid #d7dde5;border-radius:7px;background:#fff}.wr-grid table{width:100%;min-width:1760px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:11px}.wr-grid th,.wr-grid td{padding:6px;vertical-align:top;border-right:1px solid #e8edf2;border-bottom:1px solid #e8edf2;color:#1f2937}.wr-grid th{position:sticky;top:0;z-index:20;height:34px;padding:7px;background:#eef2f6;color:#344054;text-align:left;white-space:nowrap}.wr-grid .wr-col-joint{width:64px;min-width:64px;text-align:center}.wr-grid .wr-col-connect{width:245px;min-width:245px}.wr-grid .wr-col-date{width:145px;min-width:145px}.wr-grid .wr-col-material{width:260px;min-width:260px}.wr-grid .wr-col-welder{width:210px;min-width:210px}.wr-grid .wr-col-weld{width:155px;min-width:155px}.wr-grid .wr-col-consumables{width:245px;min-width:245px}.wr-grid .wr-col-equipment{width:220px;min-width:220px}.wr-grid .wr-col-control{width:260px;min-width:260px}.wr-grid .wr-col-pwht{width:180px;min-width:180px}.wr-grid .wr-col-note{width:160px;min-width:160px}.wr-grid .wr-col-master{width:170px;min-width:170px}.wr-grid .wr-pin{position:sticky;left:0;z-index:12;background:inherit}.wr-grid .wr-pin-second{position:sticky;left:64px;z-index:11;background:inherit;box-shadow:3px 0 5px #1f29371f}.wr-grid thead .wr-pin,.wr-grid thead .wr-pin-second{z-index:25;background:#eef2f6}.wr-row.tone-green td{background:#e9f7ee}.wr-row.tone-yellow td{background:#fff7df}.wr-row.tone-red td{background:#fdecec}.wr-row:hover td{filter:brightness(.985)}.wr-joint{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;border:0;background:transparent;color:#1f2937;font-size:16px;font-weight:900;cursor:pointer}.wr-pin small,.wr-pin b{display:block;margin-top:7px}.wr-connection-stack,.wr-stack,.wr-date-stack,.wr-weld-stack,.wr-pwht-stack{display:flex;flex-direction:column;gap:5px}.wr-connection-side,.wr-material-card{padding:6px;border:1px solid #e8edf2;border-radius:5px;background:#ffffff94}.wr-connection-side{display:flex;gap:6px;font-weight:800}.wr-connection-side>b{color:#667085}.wr-side{display:grid;gap:3px}.wr-side b{line-height:1.2}.wr-side small,.wr-stack small,.wr-grid td>small,.wr-grid td div>small{display:block;color:#667085;font-size:9px;line-height:1.25}.wr-between{display:block;color:#667085;text-align:center;font-size:16px;font-weight:800;line-height:14px}.wr-warning{color:#b10d18!important;font-weight:700}.wr-search{display:block;width:100%}.wr-search input{width:100%;min-width:0;height:28px;padding:2px 6px;border:1px solid #d7dde5;border-radius:5px;background:#fff;font-weight:700}.wr-search.warning input{border-color:#c21b25;box-shadow:0 0 0 1px #c21b2533}.wr-grid td input,.wr-grid td select,.wr-grid td textarea{width:100%;min-width:0;height:28px;padding:2px 6px;border:1px solid transparent;border-radius:4px;background:transparent;font:inherit}.wr-grid td input:hover,.wr-grid td select:hover,.wr-grid td textarea:hover,.wr-grid td input:focus,.wr-grid td select:focus,.wr-grid td textarea:focus{border-color:#d7dde5;background:#fff}.wr-grid td textarea{min-height:70px;resize:vertical}.wr-weld-date{font-size:13px!important;font-weight:900!important}.wr-weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.wr-weather-grid label{padding:4px;border:1px solid #e8edf2;border-radius:4px;background:#ffffff94}.wr-weather-grid label span{display:block;color:#667085;font-size:9px}.wr-weather-grid label input{height:20px;padding:0;border:0;font-weight:800}.wr-weather-source{font-weight:400}.wr-welder-details{display:grid;gap:3px;padding:6px;border:1px solid #e8edf2;border-radius:5px;background:#ffffff8c}.wr-welder-details span{display:grid;grid-template-columns:92px 1fr;color:#667085}.wr-welder-details b{color:#1f2937}.wr-weld-stack label,.wr-pwht-stack label{display:grid;grid-template-columns:58px 1fr;gap:5px;align-items:center;color:#667085}.wr-pwht-stack label{grid-template-columns:42px 1fr}.wr-detail-line{color:#667085}.wr-detail-line b{color:#1f2937}.wr-stack>label{display:grid;gap:4px;padding:5px;border:1px solid #e8edf2;border-radius:5px;background:#ffffff94}.wr-inspection{display:grid;gap:5px;padding:5px;border:1px solid #e8edf2;border-radius:5px;background:#ffffff94}.wr-inspection.repeat{border:2px solid #d84a4a;background:#ffdede;box-shadow:inset 0 0 0 1px #b4231814}.wr-inspection>strong{color:#9f1c1c;font-size:10px}.wr-state-buttons{display:flex;flex-wrap:wrap;gap:4px}.wr-state-buttons button{min-height:25px;padding:0 7px;border:1px solid #d7dde5;border-radius:4px;background:#fff;font-size:9px;cursor:pointer}.wr-state-buttons button.active{outline:0}.wr-state-buttons button.active.good{border-color:#77bd91;background:#dff3e7;color:#1f5131}.wr-state-buttons button.active.bad{border-color:#d95d5d;background:#ffd7d7;color:#8f1d1d}.wr-state-buttons button.active.repair{border-color:#e6a052;background:#ffe8cf;color:#7a4208}.wr-state-buttons button.active:not(.good):not(.bad):not(.repair){border-color:#aeb7c1;background:#eef1f4}.wr-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--muted)}@media(max-width:1100px){.wr-toolbar-group{border-right:0}.wr-export-group{margin-left:0}}.passport-warnings{display:flex;gap:8px;padding:8px;border:1px solid #e7ab4a;border-radius:6px;background:#e7ab4a1f;color:#8a4b08}.passport-warnings div{display:flex;flex-wrap:wrap;gap:5px 12px}.passport-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--border)}.passport-tabs button{white-space:nowrap;border:0;border-bottom:2px solid transparent;padding:8px 10px;color:var(--muted);background:transparent;cursor:pointer}.passport-tabs button.active{border-color:var(--accent);color:var(--text);font-weight:650}.passport-content{min-height:0;overflow:auto;padding:4px 2px}.passport-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.passport-form label{display:grid;gap:3px;color:var(--muted);font-size:11px}.passport-form>.wide{grid-column:1 / -1}.passport-form input,.passport-form select,.passport-form textarea{width:100%;color:var(--text)}.passport-form input[type=number],.passport-form input[type=date]{height:28px;min-height:28px;padding:0 7px;border:1px solid var(--border);border-radius:5px;background:var(--panel-strong)}.passport-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.passport-card,.passport-record{padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--panel-strong)}.passport-card h3{margin:0 0 8px}.passport-card dl{display:grid;grid-template-columns:110px 1fr;gap:5px}.passport-card dt{color:var(--muted)}.passport-card dd{margin:0}.passport-record{display:grid;gap:3px;margin-bottom:7px}.passport-record span,.passport-record small,.passport-empty{color:var(--muted)}.passport-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:7px 0}.passport-check-list label{display:flex;align-items:center;gap:6px}.passport-check-list label>span{display:grid;gap:2px}.passport-check-list small{color:var(--muted)}.passport-check-list label.expired{color:#b62e36}.directory-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);min-height:0;gap:10px}.directory-list,.directory-card{min-height:0;overflow:auto}.directory-card{padding:10px;border:1px solid var(--border);border-radius:7px}.attachment-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.attachment-row>span{display:grid;min-width:0;margin-right:auto}.attachment-row small{color:var(--muted)}.execution-files>.btn{margin-top:8px}.link-existing{display:flex;gap:6px;margin-top:7px}.link-existing select{min-width:0;flex:1}.canvas-context-menu{position:absolute;z-index:50;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel-strong);box-shadow:0 8px 24px #0000002e}.canvas-context-menu button{border:0;padding:7px 10px;background:transparent;color:var(--text);cursor:pointer}.canvas-context-menu button:hover{background:var(--hover)}@media(max-width:900px){.materials-workspace{grid-template-columns:1fr}.materials-card{border-top:1px solid var(--border);border-left:0}.passport-two-columns,.directory-layout{grid-template-columns:1fr}}@media(max-width:1500px){.import-btn .bar-label{display:none}}@media(max-width:1500px){.topbar{gap:4px;padding:0 8px}.bar-group{padding-left:4px;margin-left:0}.bar-btn{padding:0 6px}.project-name{flex-basis:130px}}.tool-input{position:absolute;top:10px;left:50%;z-index:8;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:6px 12px;transform:translate(-50%);background:#fffffff7;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 6px 20px #141e2d29}.tool-input-name{color:var(--accent-strong);font-weight:700;white-space:nowrap}.tool-input-field{display:flex;align-items:center;gap:5px;white-space:nowrap}.tool-input-label{color:var(--muted);font-size:12px}.tool-input .number-input{width:108px}.tool-input input{height:28px;font-weight:600}.tool-input-prompt{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1280px){.tool-input-prompt{display:none}}.tool-btn.wide{grid-column:span 2;display:flex;gap:4px;justify-content:flex-start;width:auto;padding:0 4px;font-size:11px;font-weight:600}.tool-btn.wide svg{flex-shrink:0}.tool-btn.wide span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-picker{min-width:0}.table-grid{display:grid;gap:2px;padding:2px 8px 4px}.table-grid-cell{width:18px;height:18px;padding:0;border:1px solid var(--border-strong);border-radius:2px;background:#fff}.table-grid-cell.on{border-color:var(--accent);background:var(--accent-soft)}.table-picker-hint{margin:2px 8px;color:var(--muted);font-size:11px}.dim-preview{display:grid;gap:2px;margin:0 0 2px;padding:6px 8px;border-radius:5px;background:#f1f3f5;font-size:15px;font-weight:700;text-align:center;overflow-wrap:anywhere}.dim-preview small{padding-top:2px;border-top:1px solid var(--border-strong);font-size:12px;font-weight:600}.button-row.two{grid-template-columns:repeat(2,1fr)}.btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.color-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.color-row input[type=color]{width:36px;height:24px;padding:1px 2px}.color-swatch{width:20px;height:20px;padding:0;border:1px solid var(--border-strong);border-radius:4px}.color-swatch.active{outline:2px solid var(--accent);outline-offset:1px}.icon-btn.danger{color:var(--danger)}.positions{display:grid;gap:6px}.position-item{display:grid;gap:3px;padding:5px;border:1px solid var(--border);border-radius:6px;background:#fbfcfd}.positions-row{display:grid;grid-template-columns:42px minmax(0,1fr) 42px auto;gap:3px;align-items:center}.positions-row.secondary{grid-template-columns:minmax(0,1fr) 52px 44px}.positions-row.note{grid-template-columns:minmax(0,1fr)}.positions-row input{height:25px;padding:0 5px;font-size:12px}.positions-row .number-input input{font-weight:700;text-align:center}.position-actions{display:flex;gap:1px}.position-actions .icon-btn{width:25px;height:25px}@media(max-height:820px){.toolbar{gap:4px;padding:6px 5px}.tool-section{grid-template-columns:repeat(2,32px);gap:2px;padding-bottom:4px}.tool-btn{width:32px;height:32px}.tool-btn.wide{width:auto;height:30px;justify-content:center}.tool-btn.wide svg{display:none}}.boot-message{display:grid;gap:10px;justify-items:center;max-width:520px;text-align:center}.auth{display:grid;place-items:center;min-height:100%;padding:24px 16px;overflow:auto;background:linear-gradient(160deg,#eef3fa,#e1e8f0)}.auth-card{display:grid;gap:12px;width:min(420px,100%);padding:26px 28px 22px;background:var(--panel-strong);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 50px #141e2d24}.auth-brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:700}.auth-lead{margin:0;color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:8px;background:#eef2f6}.auth-tab{height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:600}.auth-tab.active{background:var(--panel-strong);color:var(--text);box-shadow:0 1px 3px #141e2d1f}.auth-form{display:grid;gap:10px}.auth-form label{display:grid;gap:4px;color:var(--muted);font-size:12px}.auth-form input{height:36px;font-size:14px}.auth-form .btn{height:38px;font-size:14px}.auth-notice{margin:0;padding:8px 10px;border-radius:6px;background:#fff4e6;color:#8a4b00}.auth-plans{margin:0;color:var(--muted);font-size:12px}.account-btn{display:inline-flex;align-items:center;gap:6px;max-width:260px;height:32px;margin-left:8px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);white-space:nowrap;flex:0 0 auto}.account-btn:hover{border-color:var(--border-strong);background:#eef2f6}.account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis}.plan-badge{padding:1px 7px;border-radius:10px;background:#e9ecef;color:#495057;font-size:11px;font-weight:700}.plan-badge.plan-pro{background:var(--accent);color:#fff}.plan-badge.plan-admin{background:#6f42c1;color:#fff}button.save-indicator{padding:0;border:0;background:transparent;cursor:pointer}.save-limit{color:var(--warn);font-weight:600}.save-limit .save-dot{background:var(--warn)}@media(max-width:1800px){.account-name{display:none}}@media(max-width:1540px){.bar-field>span{display:none}}.account{display:grid}.account-section{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.account-section:first-child{padding-top:0;border-top:0}.account-section h3{margin:0;font-size:13px}.account-profile{display:flex;align-items:center;gap:10px;color:var(--muted)}.account-profile div{display:grid;color:var(--text)}.plan-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fbfcfd}.plan-card>div{display:grid}.plan-card strong{font-size:16px}.plan-usage{font-weight:600;white-space:nowrap}.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.offer{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-strong);text-align:left}.offer:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.offer b{font-size:17px}.test-mode{margin:0;padding:7px 10px;border-radius:6px;background:#e7f5ff;color:#1864ab;font-size:12px}.test-checkout{display:grid;gap:6px;padding:12px;border:2px dashed #74c0fc;border-radius:8px;background:#f8fbff}.table-scroll{overflow-x:auto}.payments-table{width:100%;border-collapse:collapse;font-size:12px}.payments-table th,.payments-table td{padding:5px 6px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.payment-succeeded{color:var(--ok);font-weight:600}.payment-canceled{color:var(--muted)}.payment-pending{color:var(--warn)}.account-form{display:grid;gap:6px;margin-top:6px}.account-form input{height:30px}.danger-zone summary{color:var(--danger);cursor:pointer}.tool-section.piping-section{grid-template-columns:repeat(2,36px)}.tool-section-title{grid-column:span 2;padding:0 2px 2px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.sheet-action.piping-toggle.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.piping-menu{position:absolute;z-index:30;min-width:210px;max-height:calc(100% - 16px);overflow-y:auto;padding:4px;background:var(--panel-strong);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 10px 28px #141e2d38}.piping-menu .flyout-item{width:100%;justify-content:space-between}.piping-menu .flyout-item.sub{padding-left:22px;font-variant-numeric:tabular-nums}.piping-menu-more{color:var(--muted)}.pipeline-card{display:grid;gap:4px;padding:6px 0 8px;border-bottom:1px solid var(--border)}.pipeline-card:last-child{border-bottom:0;padding-bottom:0}.piping-tables{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;background:var(--panel);border-top:1px solid var(--border-strong)}.piping-tables.open{height:clamp(150px,28vh,320px)}.piping-tables-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border-bottom:1px solid var(--border)}.piping-tables-tabs,.piping-tables-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.piping-tables-actions .muted{margin-right:6px;font-size:12px}.piping-tables-tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-weight:600}.piping-tables-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.piping-count{min-width:18px;padding:0 5px;border-radius:9px;background:#e3e8ee;color:var(--text);font-size:11px;text-align:center}.piping-tables-body{min-height:0;overflow:auto;scrollbar-width:thin}.piping-table{width:100%;border-collapse:collapse;font-size:12px}.piping-table th{position:sticky;top:0;z-index:1;padding:5px 6px;background:#eef1f5;border-bottom:1px solid var(--border);color:#46515d;font-weight:600;text-align:left;white-space:nowrap}.piping-table td{padding:1px 6px;border-bottom:1px solid #e6eaef;vertical-align:middle}.piping-table tbody tr{cursor:pointer}.piping-table tbody tr:hover{background:#f1f5fa}.piping-table tbody tr.selected{background:var(--accent-soft)}.piping-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.piping-table .narrow{width:64px;white-space:nowrap}.piping-table td input{width:100%;min-width:70px;height:24px;padding:0 5px;border-color:transparent;background:transparent}.piping-table td input:hover,.piping-table td input:focus{border-color:var(--border-strong);background:var(--panel-strong)}.piping-weld-summary{min-width:1120px}.piping-weld-summary th:nth-child(2),.piping-weld-summary td:nth-child(2){min-width:330px}.certificate-register{min-width:1050px}.certificate-register-toolbar{position:sticky;left:0;display:flex;align-items:center;gap:7px;min-height:38px;padding:4px 7px;border-bottom:1px solid var(--border);background:var(--panel-strong)}.certificate-register-toolbar .muted{margin-left:4px;font-size:11px}.certificate-table{min-width:1180px}.certificate-table th:first-child{width:190px}.certificate-table th:nth-child(2){width:112px}.certificate-table th:nth-child(3){width:135px}.certificate-table th:nth-child(4){width:126px}.certificate-table th:nth-child(5){min-width:285px}.certificate-table th:nth-child(6){width:165px}.certificate-table th:nth-child(7){width:120px}.certificate-table td select{width:100%;min-width:92px;height:24px;padding:0 4px;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit}.certificate-table td select:hover,.certificate-table td select:focus{border-color:var(--border-strong);background:var(--panel-strong)}.certificate-quantity{display:grid;grid-template-columns:minmax(62px,1fr) auto;align-items:center;gap:4px}.certificate-quantity small{color:var(--muted)}.certificate-actions-column{width:76px;text-align:center!important}.certificate-row-actions{display:inline-flex;gap:3px}.certificate-delete.armed{border-color:#d92d20;background:#fee4e2;color:#b42318}.certificate-material-cell{display:grid;grid-template-columns:minmax(145px,1fr) auto;align-items:center;gap:4px}.certificate-material-cell .btn{white-space:nowrap}.piping-material-catalog-modal{width:min(720px,100%)}.piping-material-kind{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.piping-material-kind .btn{justify-content:center}.piping-material-catalog-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;padding-top:4px}.piping-material-catalog-fields label{display:grid;gap:4px;min-width:0}.piping-material-catalog-fields label>span{color:var(--muted);font-size:11px}.piping-material-catalog-fields input,.piping-material-catalog-fields select{width:100%;min-width:0;height:32px}.piping-material-catalog-fields label:first-child{grid-column:1 / -1}.piping-material-preview{display:grid;gap:3px;margin-top:4px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--panel)}.piping-material-preview span,.piping-material-preview small{color:var(--muted)}@media(max-width:680px){.piping-material-kind,.piping-material-catalog-fields{grid-template-columns:1fr}.piping-material-catalog-fields label:first-child{grid-column:auto}}.piping-table td.narrow input{min-width:44px}.piping-table .empty{padding:14px 8px;color:var(--muted);cursor:default}.welder-suggest{position:fixed;z-index:80;display:grid;max-height:248px;overflow-y:auto;padding:4px;background:var(--panel-strong);border:1px solid var(--border-strong);border-radius:7px;box-shadow:0 10px 28px #141e2d38}.welder-option{display:grid;gap:1px;padding:4px 8px;border:0;border-radius:5px;background:transparent;text-align:left;font-size:12px}.welder-option.active{background:var(--accent-soft)}.welder-option.empty{color:var(--muted);cursor:default}.welder-option-name{font-weight:600}.welder-option-meta{color:var(--muted);font-size:11px}.welder-option.certificate-warning .welder-option-name,.welder-option.certificate-warning .welder-option-meta,.expiry-danger{color:var(--danger);font-weight:650}.welders-modal{width:min(1180px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px))}.welders-modal>.modal-body{grid-template-rows:auto minmax(0,1fr);align-content:stretch;min-height:0;overflow:hidden}.welder-directory-layout{grid-template-columns:minmax(620px,1.55fr) minmax(430px,1fr);min-height:0;overflow:hidden}.welder-directory-layout>.table-scroll,.welder-directory-card{min-height:0;overflow:auto}.welder-directory-table{min-width:660px}.welder-directory-table tbody tr{cursor:pointer;border-top:1px solid var(--border)}.welder-directory-table tbody tr:hover td{background:#f8fbff}.welder-directory-table tbody tr.selected td{background:var(--accent-soft)}.welder-directory-table td:last-child{width:196px}.welder-status-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px}.welder-status-buttons .btn{justify-content:center;white-space:nowrap}.welder-status-buttons .btn.active{border-color:var(--ok);background:#ebfbee;color:var(--ok)}.welder-status-buttons .btn.inactive{border-color:var(--warn);background:#fff4e6;color:var(--warn)}.welder-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.welder-card-heading h3{margin:0 0 8px}.expiry-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:10px;background:#fff0f0;color:var(--danger);font-size:11px;font-weight:700}.expiry-field>span{color:var(--danger);font-weight:650}.expiry-field input{border-color:var(--danger);color:var(--danger);background:#fff7f7}.welder-scope{margin:12px 0;padding:10px;border:1px solid var(--border);border-radius:7px}.welder-scope legend{padding:0 5px;font-weight:650}.welder-product-forms{display:flex;align-items:center;gap:14px;min-height:28px;color:var(--muted);font-size:11px}.welder-product-forms>span{margin-right:auto}.welder-product-forms label{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:12px}.qualification-group-picks{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px}.qualification-group-picks button{padding:2px 6px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:11px}.qualification-group-picks button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.welder-comment{display:grid;gap:4px;color:var(--muted);font-size:11px}.welder-comment textarea{color:var(--text)}.welder-delete{margin-top:10px}.welders-table{width:100%;border-collapse:collapse}.welders-table th{padding:4px;color:var(--muted);font-size:12px;font-weight:600;text-align:left}.welders-table td{padding:2px 4px}.welders-table td:last-child{width:34px}.welders-empty{display:flex;align-items:center;gap:6px}@media(max-width:980px){.welder-directory-layout{grid-template-columns:1fr;overflow:auto}.welders-modal>.modal-body{overflow:auto}}.pending-note{color:var(--warn)}.pending-badge{padding:2px 7px;border-radius:10px;background:#fff0e6;color:var(--warn);font-size:11px;font-weight:600;white-space:nowrap}.sheet-action.attention{border-color:var(--warn);color:var(--warn);font-weight:600}.link-button{padding:0;border:0;background:none;color:var(--accent-strong);text-decoration:underline;font:inherit;cursor:pointer}.sheet-search{position:relative;display:flex;align-items:center;flex:0 0 200px;height:28px;padding:0 6px;gap:4px;border:1px solid var(--border);border-radius:5px;background:var(--panel-strong);color:var(--muted)}.sheet-search:focus-within{border-color:var(--accent)}.sheet-search input{width:100%;height:24px!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}.sheet-search input::-webkit-search-cancel-button{display:none}.sheet-search-clear{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:9px;background:#e3e8ee;color:var(--text)}.sheet-found,.sheet-none{flex:0 0 auto;color:var(--muted);font-size:11px;white-space:nowrap}.sheet-none{align-self:center;padding:0 8px}.sheet-line{font-weight:700}.sheet-tab.appendix{border-style:dashed}.sheet-tab.no-pdf .sheet-name{text-decoration:line-through;text-decoration-color:#68727e99}.sheet-tab.dragging{opacity:.45}.sheet-tab.drop-before{box-shadow:-3px 0 0 var(--accent)}@media(max-width:1280px){.sheet-search{flex-basis:150px}}.axis-panel{display:grid;gap:6px;width:290px;max-height:calc(100vh - 16px);overflow-y:auto;padding:6px 10px 8px}.positions-panel{width:min(430px,calc(100vw - 24px));max-height:min(470px,calc(100dvh - 16px));overflow:auto}.positions-panel-list{display:grid;gap:6px;margin:8px 0}.positions-panel-item{display:grid;grid-template-columns:62px minmax(120px,1fr) auto 30px 30px;gap:5px;align-items:center}.positions-panel-count{color:var(--muted);font-size:11px;white-space:nowrap}.signature-panel{width:min(410px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 16px));overflow:auto}.signature-template-list{display:grid;gap:4px;max-height:132px;overflow:auto;margin:7px 0}.signature-template{display:grid;gap:2px;padding:7px 9px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:inherit;text-align:left}.signature-template span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signature-template.active{border-color:var(--accent);background:var(--accent-soft)}.signature-preview{display:grid;min-height:66px;align-content:end;margin:8px 0;padding:8px;border:1px dashed var(--border);color:var(--text)}.signature-preview:after{content:"";display:block;margin-top:3px;border-bottom:1px solid currentColor}.axis-panel .flyout-title{padding:3px 0 0}.axis-panel-row{display:grid;grid-template-columns:1fr 1fr .7fr;gap:6px;margin:0;padding:4px 8px 8px;border:1px solid var(--border);border-radius:var(--radius)}.axis-panel-row legend{padding:0 4px;font-weight:600}.axis-panel-row label,.axis-span,.axis-panel-field{display:grid;gap:2px;min-width:0;color:var(--muted);font-size:11px}.axis-panel-row input,.axis-span input{width:100%;min-width:0}.axis-panel input.invalid{border-color:var(--danger)}.axis-spans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:2px 0 4px 22px}.axis-span{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;gap:6px;color:var(--text);font-size:12px}.axis-hint{padding:8px 12px 0}.axis-checks{display:flex;flex-wrap:wrap;gap:0 14px}.steel-panel{display:grid;gap:9px;width:min(390px,calc(100vw - 20px));max-height:calc(100vh - 16px);overflow-y:auto;padding:8px 10px 10px}.steel-panel .flyout-title{padding:1px 0 2px}.steel-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.steel-kind{display:flex;align-items:center;gap:7px;min-width:0;min-height:40px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);color:var(--text);text-align:left}.steel-kind:hover{background:#eef2f6}.steel-kind.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.steel-kind-symbol{display:grid;flex:0 0 25px;height:25px;place-items:center;font-family:Arial,sans-serif;font-size:22px;font-weight:700;line-height:1}.steel-field{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:12px}.steel-field select,.steel-field input{width:100%;min-width:0}.steel-field input{box-sizing:border-box}.steel-custom{display:grid;gap:9px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:#f7f9fb}.steel-custom-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.steel-custom-dimensions label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:3px;color:var(--muted);font-size:11px}.steel-custom-dimensions input{width:100%;min-width:0;box-sizing:border-box}.steel-preview{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:12px;min-height:130px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#f7f9fb}.steel-preview-svg{width:116px;height:116px;overflow:visible}.steel-preview-svg polygon,.steel-preview-svg circle{fill:none;stroke:var(--accent-strong);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}.steel-preview-wrap{display:grid;gap:6px}.steel-preview-empty{display:grid;width:116px;height:116px;place-items:center;color:var(--muted);font-size:24px}.steel-profile-meta,.steel-profile-details{display:grid;gap:3px}.steel-profile-meta{color:var(--muted);font-size:11px}.steel-profile-meta strong{color:var(--text);font-size:13px}.steel-profile-meta .link-button{justify-self:start;padding:0}.steel-profile-details{padding:6px 8px;border-left:2px solid var(--accent);background:var(--panel-strong);overflow-wrap:anywhere}.steel-preview dl{display:grid;gap:5px;margin:0}.steel-preview dl div{display:grid;grid-template-columns:25px 1fr;gap:6px;padding-bottom:3px;border-bottom:1px solid var(--border)}.steel-preview dt{color:var(--muted);font-style:italic}.steel-preview dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.axis-list,.axis-add{display:grid;gap:3px;padding-top:6px;border-top:1px solid var(--border)}.axis-list-title{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.axis-list-row{display:grid;grid-template-columns:52px minmax(0,1fr) 36px 30px;align-items:center;gap:4px;padding:1px 2px;border-radius:var(--radius)}.axis-list-row.active{background:var(--accent-soft)}.axis-list-row.hidden-axis .axis-label-btn{color:var(--muted);text-decoration:line-through}.axis-label-btn{min-width:0;height:26px;padding:0 4px;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--panel-strong);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.axis-list-row.active .axis-label-btn{border-color:var(--accent);color:var(--accent-strong)}.axis-first,.axis-free{color:var(--muted);font-size:11px}.axis-free{color:var(--warn)}.axis-position{white-space:normal}.wish-launcher{position:fixed;z-index:90;bottom:18px;left:18px;display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 15px 6px 7px;border:1px solid #b8d5cf;border-radius:24px;background:#fff;color:#153f38;box-shadow:0 10px 32px #193e392e;cursor:pointer}.wish-launcher:hover{border-color:#4c9b8e;transform:translateY(-1px)}.wish-launcher span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#dff5ef;color:#17695c}.wish-launcher b{font-size:13px}.wish-panel{position:fixed;z-index:91;bottom:18px;left:18px;width:min(370px,calc(100vw - 36px));overflow:hidden;border:1px solid #cbdad7;border-radius:14px;background:#fff;box-shadow:0 18px 55px #122d2a3d}.wish-panel>header{display:flex;align-items:center;gap:10px;padding:13px 14px;background:linear-gradient(135deg,#163f39,#246e62);color:#fff}.wish-panel>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffffff24}.wish-panel>header div{display:grid;flex:1;gap:2px}.wish-panel>header b{font-size:15px}.wish-panel>header small{color:#d8efeb;font-size:11px}.wish-panel>header button{display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer}.wish-panel>header button:hover{background:#ffffff21}.wish-panel form{display:grid;gap:9px;padding:13px}.wish-panel textarea{box-sizing:border-box;width:100%;min-height:112px;resize:vertical;padding:10px 11px;border:1px solid #cbd6d4;border-radius:8px;font:inherit;line-height:1.45;outline:none}.wish-panel textarea:focus{border-color:#368b7d;box-shadow:0 0 0 3px #368b7d21}.wish-panel form>small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.wish-panel form>p{margin:0;padding:8px 10px;border-radius:7px;background:#e9f7f0;color:#17603f;font-size:12px}.wish-panel form>p[data-error]{background:#fff0f0;color:#a22c2c}.wish-panel footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.wish-panel footer em{color:var(--muted);font-size:11px;font-style:normal}.wish-panel footer button{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:0;border-radius:7px;background:#1d6f62;color:#fff;font-weight:650;cursor:pointer}.wish-panel footer button:disabled{opacity:.48;cursor:default}.wish-admin-backdrop{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:24px;background:#0d1b1f8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wish-admin{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);width:min(1040px,100%);height:min(760px,100%);overflow:hidden;border:1px solid #bacbc8;border-radius:14px;background:#f5f8f7;box-shadow:0 24px 80px #0000004d}.wish-admin>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#173f39;color:#fff}.wish-admin>header>div{display:flex;align-items:center;gap:11px}.wish-admin>header span{display:grid;gap:2px}.wish-admin>header b{font-size:17px}.wish-admin>header small{color:#cee7e2}.wish-admin>header button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer}.wish-admin>header button:hover{background:#ffffff1f}.wish-admin>nav{display:flex;flex-wrap:wrap;gap:7px;padding:11px 15px;border-bottom:1px solid #dbe3e1;background:#fff}.wish-admin>nav button{min-height:32px;padding:0 11px;border:1px solid #ccd8d5;border-radius:17px;background:#fff;color:#425c57;cursor:pointer}.wish-admin>nav button[data-active]{border-color:#2e8072;background:#e3f3ef;color:#155e52;font-weight:650}.wish-admin>nav i{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;padding:0 4px;border-radius:10px;background:#1f695c1a;font-size:10px;font-style:normal}.wish-admin-error{margin:10px 15px 0;padding:9px 11px;border-radius:7px;background:#fff0f0;color:#a22c2c}.wish-admin-list{display:grid;align-content:start;gap:10px;min-height:0;padding:14px 15px 20px;overflow:auto}.wish-admin-list article{display:grid;gap:10px;padding:13px 14px;border:1px solid #d8e0de;border-left:4px solid #3c8d80;border-radius:9px;background:#fff}.wish-admin-list article[data-status=planned]{border-left-color:#d5952a}.wish-admin-list article[data-status=done]{border-left-color:#31905c}.wish-admin-list article[data-status=rejected]{border-left-color:#9aa3a1}.wish-admin-list article>div{display:flex;align-items:center;gap:10px}.wish-admin-list article>div>span{padding:3px 8px;border-radius:10px;background:#e4f2ef;color:#17695c;font-size:11px;font-weight:700}.wish-admin-list article time{flex:1;color:var(--muted);font-size:11px}.wish-admin-list select{min-height:30px;border:1px solid #c9d5d2;border-radius:6px;background:#fff}.wish-admin-list article>p{margin:0;color:#263c38;font-size:14px;line-height:1.5;white-space:pre-wrap}.wish-admin-list article>footer{display:flex;align-items:end;justify-content:space-between;gap:15px;color:var(--muted)}.wish-admin-list article>footer span{display:grid;gap:2px}.wish-admin-empty{display:grid;place-items:center;gap:8px;min-height:180px;color:var(--muted)}@media(max-width:650px){.wish-admin-backdrop{padding:0}.wish-admin{width:100%;height:100%;border:0;border-radius:0}.wish-admin-list article>div{align-items:flex-start;flex-wrap:wrap}.wish-admin-list article time{flex-basis:40%}.wish-admin-list article>footer{align-items:flex-start;flex-direction:column}}
