:root{color-scheme:light;--bg: #eef2f5;--surface: #ffffff;--surface-2: #f7f9fb;--line: #d1d8df;--line-strong: #aebbc8;--text: #15202b;--muted: #657383;--right: #00a4ad;--left: #e85d82;--accent: #2f6df6;--warn-bg: #fff5e1;--warn-fg: #8a6212;--warn-line: #f1d28a;--notice-bg: #f3eee7;--notice-fg: #8a6f4a;--notice-line: #d9c8ad;--danger-bg: #fdecec;--danger-fg: #b87a7a;--danger-line: #f1c8c8;--success-bg: #ecf6ee;--success-fg: #5d8a6a;--success-line: #c2dcca;--console-bg: #000080;--console-fg: #ffffff;--shadow: 0 18px 50px rgba(31, 45, 61, .1);--radius: 6px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Segoe UI,Malgun Gothic,Arial,sans-serif;font-size:13px;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:600;min-height:30px;padding:0 12px;cursor:pointer}button:hover{border-color:var(--line-strong);background:var(--surface-2)}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:transparent;border-color:transparent;color:var(--muted);min-height:24px;padding:0 8px;font-size:12px}button.ghost:hover{background:#0000000a}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;min-height:28px;padding:0 8px}input[readonly]{background:var(--surface-2);color:var(--muted)}input.cal-result-pending[readonly]{color:#475569;font-weight:600}input.cal-result-pass[readonly]{background:#ecfdf5;border-color:#10b981;color:#047857;font-weight:700}input.cal-result-fail[readonly]{background:#fef2f2;border-color:#ef4444;color:#b91c1c;font-weight:700}input.is-selected-option{border-color:#5bc4f5;box-shadow:0 0 0 2px #5bc4f54d;outline:none}input[type=number]{text-align:right}input[type=checkbox],input[type=radio]{min-height:auto;accent-color:var(--accent)}label{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:600;min-width:0}label>input,label>select{font-weight:500;color:var(--text)}.app-shell{display:flex;flex-direction:column;width:100%;min-height:100vh;padding:18px 22px 22px;gap:12px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:8px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:block;width:148px;height:auto;object-fit:contain}.brand-product{padding-left:12px;border-left:1px solid var(--line-strong)}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:var(--text);color:#fff;font-weight:800;font-size:18px}.brand h1{font-size:18px;letter-spacing:.02em;margin:0}.brand p{color:var(--muted);font-size:12px;font-weight:600;margin-top:2px}.header-meta{display:flex;align-items:center;gap:16px}.version-line{display:flex;flex-direction:column;gap:2px;text-align:right}.version-line span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.version-line strong{font-size:13px;font-weight:700}.status-pill{min-width:90px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-weight:700;text-align:center}.module-tabs{display:flex;gap:0;border-bottom:1px solid var(--line-strong);overflow-x:auto}.tab-button{flex:0 0 auto;min-height:30px;padding:6px 18px;border:1px solid var(--line-strong);border-bottom:none;border-radius:4px 4px 0 0;background:var(--surface-2);color:var(--muted);font-weight:600;margin-right:2px;margin-bottom:-1px;cursor:pointer}.tab-button:hover:not(.is-active):not(:disabled){background:var(--surface);color:var(--text)}.tab-button.is-active{background:var(--surface);color:var(--text);border-bottom:1px solid var(--surface);font-weight:700}.tab-button:disabled{background:var(--bg);color:#b6bec6;cursor:not-allowed;opacity:.55}.tab-button.is-locked{background:var(--bg);color:#b6bec6;cursor:pointer;opacity:.55}.tab-button.is-locked:hover,.tab-button.is-locked.is-active{background:var(--bg);color:#b6bec6;border-bottom:none;opacity:.55}.warning{margin:0;padding:8px 12px;border:1px solid var(--warn-line);border-radius:6px;background:var(--warn-bg);color:var(--warn-fg);font-size:12px;font-weight:600}.stat-legacy-notice{margin:0;padding:8px 12px;border:1px solid var(--warn-line);border-radius:6px;background:var(--warn-bg);color:var(--warn-fg);font-size:12px;line-height:1.5}.link-button{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.link-button:hover{text-decoration:none}.tab-panel{display:none}.tab-panel.is-active{display:grid;gap:14px}.tool-panel{position:relative;padding:18px 16px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);display:grid;gap:10px}.tool-panel>h3{position:absolute;top:-8px;left:12px;padding:0 6px;background:var(--surface);font-size:12px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:.02em}.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.section-grid.two-cols{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.setting-grid{--setting-panel-height: 112px;grid-template-areas:"communication communication" "save-path save-path" "data data" "transfer transfer" "lms lms";grid-template-rows:repeat(3,var(--setting-panel-height)) auto auto;align-items:stretch}.setting-save-path-panel{grid-area:save-path}.setting-communication-panel{grid-area:communication}.setting-data-panel{grid-area:data}.setting-transfer-panel{grid-area:transfer}.setting-grid>.lms-panel.full-row{grid-area:lms}.setting-save-path-panel,.setting-communication-panel,.setting-data-panel{height:var(--setting-panel-height);align-content:start}.footer-row{display:flex;justify-content:flex-end;margin-top:4px}.primary-action{background:var(--accent);color:#fff;border-color:var(--accent);min-width:140px;font-weight:700}.primary-action.narrow{min-width:0;padding:0 14px}.primary-action:hover{background:#1f59e2;border-color:#1f59e2}.action-transfer{background:#0e9f6e;color:#fff;border-color:#0e9f6e;font-weight:700}.action-transfer.narrow{min-width:0;padding:0 14px}.action-transfer:hover{background:#057a55;border-color:#057a55}.action-preview{background:#fff;color:var(--accent);border-color:var(--accent);font-weight:700}.action-preview.narrow{min-width:0;padding:0 14px}.action-preview:hover{background:#f0f7ff;border-color:#1f59e2}.delta-action-row{display:flex;gap:8px;margin-top:4px}.delta-action-row button{flex:1;min-height:40px}.action-row{display:flex;flex-wrap:wrap;gap:8px}.cal-btn{min-width:80px}.toolbar-toggle-group{display:inline-flex;align-items:center;gap:6px}.toolbar-toggle-label{font-size:12px;font-weight:600;color:var(--muted)}.oh-ref-inline{display:inline-flex;align-items:center;gap:6px}.oh-ref-inline .oh-ref-label{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;white-space:nowrap}.action-row.tip-controls button{min-width:84px}.form-row{display:grid;gap:4px}.form-row.two-cols{grid-template-columns:1fr 1fr;gap:10px}.form-row.is-inline{display:flex;align-items:center;gap:8px}.form-row.is-inline>label{flex:0 0 auto;margin:0}.form-row.is-inline>.input-with-button{flex:1}.form-row>label{color:var(--muted);font-size:12px;font-weight:600}.input-with-button{display:flex;gap:6px}.input-with-button>input,.input-with-button>select{flex:1;min-width:0}.inline-check{display:flex;align-items:center;gap:6px;color:var(--text);font-size:12px;font-weight:600}.inline-check input{margin:0}.help-text{color:var(--muted);font-size:12px;line-height:1.5}.muted{color:var(--muted)}.radio-row,.radio-stack{display:flex;gap:14px}.radio-stack{flex-direction:column;gap:6px}.radio-row label,.radio-stack label{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:500}.size-option-radios{display:flex;gap:16px;padding:6px 2px;border-bottom:1px dashed var(--line)}.size-option-radios label{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:500}.size-controls-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--line);padding:2px 0}.size-controls-header .size-option-radios{border-bottom:none;padding:0}.sync-label-on{display:none}.sync-label-off{display:inline}.sync-toggle-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.sync-toggle-label{font-size:12px;font-weight:600;color:var(--muted)}.rx-lens-row{display:flex;align-items:stretch;gap:4px;padding:4px 0 2px;border-top:1px solid var(--border)}.rx-group{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:6px;padding:6px 10px 8px;flex:1;min-width:0}.rx-group-center{flex:1;border-color:var(--line);background:var(--surface)}.rx-group-label{font-size:12px;font-weight:700;line-height:1;letter-spacing:.03em;text-align:center;width:100%}.rx-group-R{border-color:var(--eye-R)}.rx-group-R .rx-group-label{color:var(--eye-R)}.rx-group-L{border-color:var(--eye-L)}.rx-group-L .rx-group-label{color:var(--eye-L)}.rx-group-center .rx-group-label{color:var(--muted);text-align:center}.rx-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:flex-start}.rx-group-center .rx-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-field{display:flex;flex-direction:column;align-items:center;font-size:12px;font-weight:600;color:var(--text);gap:3px;flex:1;min-width:0}.rx-field input{width:100%;min-width:52px;text-align:center;font-size:13px}.setting-subgroups{display:flex;flex-wrap:wrap;gap:12px}.setting-group{border:1px solid var(--line);border-radius:6px;padding:8px 12px 10px;min-width:0}.setting-group legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 4px}.setting-group.full-span{flex:1 1 100%}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.size-table{display:grid;grid-template-columns:80px repeat(4,minmax(0,1fr));gap:4px;margin-top:6px}.size-table .head{text-align:center;font-size:11px;font-weight:700;color:var(--muted)}.size-table .label{display:flex;align-items:center;font-weight:600;background:var(--surface-2);border-radius:4px}.size-table input.cell{text-align:right}.size-table input.cell[readonly]{background:#fff;border-color:#b7cce3;color:#334155;font-weight:600;opacity:1;box-shadow:inset 0 0 0 1px #3b82f60f}.size-table.size-rl{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr) 8px minmax(0,1fr) minmax(0,1fr)}.size-table.size-rl.sync-on{grid-template-columns:60px minmax(0,1fr) 8px minmax(0,1fr) minmax(0,1fr)}.size-group-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:2px 4px 3px;border-radius:4px 4px 0 0;grid-row:1}.delta-group-label{grid-column:2 / 4;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.frame-group-label{grid-column:5 / 7;color:#334155;background:color-mix(in srgb,#334155 6%,transparent);border-bottom:1px solid color-mix(in srgb,#334155 20%,transparent)}.size-table.size-rl.sync-on .delta-group-label{grid-column:2 / 3}.size-table.size-rl.sync-on .frame-group-label{grid-column:4 / 6}.size-table.size-rl>.col-head{grid-row:2}.row1-spacer{grid-row:1}.row1-spacer-left{grid-column:1}.row1-spacer-mid{grid-column:4}.size-table.size-rl.sync-on .row1-spacer-mid{grid-column:3}.size-divider{display:flex;justify-content:center;align-self:stretch}.size-divider:after{content:"";display:block;width:1px;background:var(--line-strong);border-radius:1px}.size-table.size-rl.sync-on [data-delta-col=L],.size-table.size-rl.sync-on .sync-label-off{display:none}.size-table.size-rl.sync-on .sync-label-on{display:inline}.general-rows{display:flex;flex-direction:column;gap:10px}.general-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px}.general-label{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.job-format-row{align-items:flex-start}.job-format-control{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:6px;width:min(100%,260px)}.job-format-control input{width:100%;min-width:0;font-family:Consolas,Courier New,monospace}.job-format-control input.is-invalid{border-color:#d33;box-shadow:0 0 0 2px #d333331f}.format-help{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.format-help:hover,.format-help:focus{color:var(--text);border-color:var(--accent);outline:none}.format-tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:none;width:min(360px,calc(100vw - 48px));padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 10px 28px #14233c2e;color:var(--text);font-size:11px;font-weight:500;line-height:1.45}.format-tooltip:before{content:"";position:absolute;top:-6px;right:10px;width:10px;height:10px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;transform:rotate(45deg)}.format-help:hover+.format-tooltip,.format-help:focus+.format-tooltip{display:block}.toggle-switch{display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;display:flex;align-items:center;width:58px;height:24px;background:#c5c5c5;border-radius:12px;padding:2px;transition:background-color .2s}.toggle-track:before{content:"OFF";position:absolute;right:6px;font-size:9px;font-weight:700;color:#fff;pointer-events:none;line-height:1}.toggle-track:after{content:"";width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .2s;flex-shrink:0}.toggle-switch input:checked~.toggle-track{background:var(--accent)}.toggle-switch input:checked~.toggle-track:before{content:"ON";right:auto;left:6px}.toggle-switch input:checked~.toggle-track:after{transform:translate(34px)}.config-design-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px}.layout-rows{display:flex;flex-direction:column;gap:14px}.layout-row{display:grid;grid-template-columns:160px 1fr;align-items:start;gap:16px}.layout-position-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.layout-position-row .layout-row{grid-template-columns:1fr;gap:8px}.layout-label{font-size:13px;font-weight:600;color:var(--text);padding-top:4px;white-space:nowrap}.layout-bevel-pos .bevel-pos-grid,.layout-groove-pos .bevel-pos-grid{display:grid;grid-template-columns:minmax(92px,1fr) minmax(72px,92px);gap:6px 12px;align-items:center}.bevel-pos-opt{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:#000}.bevel-pos-grid input[type=number]{width:100%;text-align:right}@media (max-width: 720px){.layout-position-row{grid-template-columns:1fr}}.config-design-grid label{font-size:12px;color:var(--text);white-space:nowrap}.config-design-grid input[type=number]{width:72px;text-align:right}.radio-row{display:flex;gap:14px}.radio-row label{display:inline-flex;align-items:center;gap:5px;font-weight:500}.field-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.edger-grid{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(220px,260px);gap:12px;padding-right:10px;align-items:stretch}.edger-list{align-self:stretch;display:flex;flex-direction:column}.edger-list .file-list{flex:1;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);max-height:240px;min-height:320px;overflow-y:auto}.edger-list .file-list li{padding:4px 10px;cursor:pointer;border-bottom:1px solid var(--line);font-size:12px}.edger-list .file-list li:last-child{border-bottom:none}.edger-list .file-list li.is-active{background:#d6e6ff;color:var(--text)}.edger-list .file-list li:hover{background:#eaf2ff}.folder-info{margin:0;padding:4px 6px;font-size:11px;color:var(--muted);background:var(--surface-2);border-radius:4px;border:1px dashed var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-panel.full-row{grid-column:1 / -1}.tool-panel[hidden]{display:none}.lms-panel h3{display:flex;align-items:center;gap:10px}.lms-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin:6px 0;background:var(--surface-2);border:1px solid var(--line);border-radius:6px}.lms-toggle-label{font-size:12.5px;font-weight:600}.lms-status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;font-size:11px;font-weight:600;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}.lms-status-pill.is-online{border-color:#0e9f6e;background:#f0fdf4;color:#065f46}.lms-status-pill.is-offline{border-color:#ef4444;background:#fef2f2;color:#991b1b}.lms-status-pill.is-error{border-color:#f59e0b;background:#fffbeb;color:#92400e}.lms-panel .help-text{margin:0 0 10px}.lms-firewall-banner{border:1px solid #f59e0b;background:#fffbeb;color:#78350f;border-radius:6px;padding:10px 12px;margin:0 0 12px;font-size:12px;line-height:1.5}.lms-firewall-banner.is-error{border-color:#ef4444;background:#fef2f2;color:#991b1b}.lms-firewall-banner-body strong{display:block;font-size:13px;margin-bottom:4px}.lms-firewall-banner-body p{margin:0 0 6px}.lms-firewall-banner-body p:last-child{margin-bottom:0}.lms-firewall-manual code{background:#0000000f;border-radius:3px;padding:1px 5px;font-size:11px;word-break:break-all}.helper-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:100%;padding:10px 22px;font-size:13px;font-weight:600;line-height:1.3;border:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:help}.helper-row{display:flex;align-items:center;gap:6px}.helper-folder-form{display:flex;gap:4px;align-items:center}.helper-folder-input{flex:1;min-width:0;font-size:10.5px;padding:3px 6px;border-radius:3px;border:1px solid currentColor;background:#fff;color:#111;font-family:ui-monospace,SFMono-Regular,monospace}.helper-action-cancel{background:transparent}.helper-banner.is-online{border-color:#0e9f6e;background:#f0fdf4;color:#065f46}.helper-banner.is-offline{border-color:#ef4444;background:#fef2f2;color:#991b1b}.helper-banner.is-warning{border-color:#f59e0b;background:#fffbeb;color:#92400e}.helper-banner.is-warning .helper-label{font-weight:700}.helper-banner.is-flashing{animation:helper-flash .4s ease-in-out 4}.helper-folder-input.is-flashing-input{animation:helper-flash-input .4s ease-in-out 4}@keyframes helper-flash{0%,to{background:#fffbeb;box-shadow:none}50%{background:#fef3c7;box-shadow:0 0 0 4px #fde68a}}@keyframes helper-flash-input{0%,to{box-shadow:none}50%{box-shadow:0 0 0 3px #f59e0b80}}.helper-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.helper-dot-on{background:#10b981;box-shadow:0 0 6px #10b98180}.helper-dot-off{background:#ef4444}.helper-dot-warn{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.helper-action-btn{font-size:11px;font-weight:600;padding:2px 10px;border-radius:4px;border:1px solid currentColor;background:#fff9;color:inherit;cursor:pointer}.helper-action-btn:hover{background:#fffffff2}.helper-label{flex:1;font-weight:600;min-width:0}.helper-download{font-size:11px;font-weight:600;color:#1d4ed8;text-decoration:underline;white-space:nowrap;margin-left:auto}.helper-download:hover{color:#1e3a8a}.helper-install-hint{flex-basis:100%;margin-left:14px;font-size:10px;font-weight:500;color:inherit;opacity:.9}.helper-update{font-size:11px;font-weight:500;color:#b45309;margin-left:4px}.helper-folder{color:#4b5563;font-size:10px;font-family:ui-monospace,SFMono-Regular,monospace;background:#0000000a;padding:1px 6px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.helper-install-link{color:#92400e;text-decoration:underline;font-weight:700}.helper-install-link:hover{color:#b45309}.folder-info.is-active{color:var(--accent);border-color:var(--accent);background:#2f6df60f}@keyframes folder-pulse{0%,to{box-shadow:0 0 #b4782800;background:var(--notice-bg);border-color:var(--notice-line)}50%{box-shadow:0 0 0 5px #b4782840;background:#dfd0b6;border-color:#b8914e}}.folder-info.is-clickable{cursor:pointer;color:var(--notice-fg);border-color:var(--notice-line);border-style:solid;background:var(--notice-bg);font-weight:600;animation:folder-pulse 1.6s ease-in-out infinite}.folder-info.is-clickable:hover{animation:none;filter:brightness(.93)}.selected-file{display:block;margin:0;font-size:12px;color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edger-order-column{align-self:stretch;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}.edger-order{align-self:stretch;display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-height:0}.order-form{display:flex;flex:1 1 auto;flex-direction:column;gap:5px;min-height:0}.order-form label{display:grid;flex:0 0 auto;gap:3px;min-width:0;font-size:11px;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0;min-height:0}.order-form input,.order-form textarea{width:100%;min-width:0;font-size:12px;font-weight:500;color:var(--text);text-transform:none;letter-spacing:0}.order-form textarea{min-height:0;height:100%;resize:none;overflow:auto;line-height:1.35}.order-form .order-memo-field{flex:1 1 0;grid-template-rows:auto minmax(40px,1fr);min-height:0}.order-action-stack{display:grid;flex:0 0 auto;grid-template-columns:1fr;gap:7px;margin-top:0;width:100%}.order-action-stack button{width:100%;min-height:38px;padding:0 12px}.transfer-row{width:100%;margin:8px 0 0;min-height:36px}.transfer-target{margin:6px 0 0;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);font-size:11px;line-height:1.35;display:grid;gap:1px;word-break:break-all}.transfer-target-label{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.transfer-target-value{color:var(--text);font-weight:600}.transfer-target.is-configured{border-color:var(--accent);background:#2f6df60f}.transfer-target.is-configured .transfer-target-value{color:var(--accent)}.file-info{margin-top:6px;padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;display:grid;gap:4px}.file-info[hidden]{display:none}.file-info-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.file-info-row span{flex-shrink:0;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.file-info-row strong{min-width:0;color:var(--text);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}.job-history{margin-top:8px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:5px}.job-history[hidden]{display:none}.jh-row{display:flex;gap:8px;align-items:flex-start}.jh-row[hidden]{display:none}.jh-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;min-width:28px;padding-top:1px;flex-shrink:0}.jh-val{font-size:11px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.jh-xfer-detail{display:flex;flex-direction:column;gap:2px}.jh-dest{font-size:10px;color:var(--muted);word-break:break-all;line-height:1.3}.rename-wrap{display:inline-flex;align-items:center;width:100%;gap:2px}.rename-ext{color:#6b7280;font:inherit;padding:0 2px;-webkit-user-select:none;user-select:none;pointer-events:none}.transfer-section{margin:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);display:grid;gap:10px}.transfer-section legend{padding:0 6px;font-size:12px;font-weight:700;color:var(--text)}.transfer-section[hidden]{display:none}.transfer-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.transfer-actions output{flex:1;text-align:left;font-size:12px;color:var(--muted);font-weight:600}.transfer-actions output.is-error{color:var(--danger-fg)}.transfer-actions output.is-success{color:var(--success-fg)}.transfer-actions output.is-busy{color:var(--accent)}.lms-target-actions{display:flex;align-items:end;gap:8px}.lms-target-actions .action-test{margin-top:18px}.credentials-remember{display:flex;align-items:center;gap:8px;margin:12px 0 8px;padding:8px 12px;font-size:12px;border-radius:6px;background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.credentials-remember .muted-hint{color:#b45309;font-weight:400;font-size:11px}.action-test{font-size:13px;font-weight:600;padding:8px 22px;min-height:38px;border-radius:6px;border:1px solid var(--accent);background:#fff;color:var(--accent);cursor:pointer}.action-test:hover{background:#f0f7ff}.action-test:active{background:#dfeeff}.setup-save-btn{font-size:16px;font-weight:800;letter-spacing:.5px;padding:12px 48px;min-height:52px;min-width:160px;border-radius:8px}.edger-lens{display:grid;grid-template-columns:minmax(560px,1fr) minmax(220px,clamp(220px,22vw,320px));grid-template-rows:auto auto auto auto;grid-template-areas:"toolbar toolbar" "canvas  side" "rx      side" "size    size";gap:8px;min-width:0;align-items:start}.lens-toolbar{display:flex;align-items:center;grid-area:toolbar}.job-name-display{flex:1 1 auto;font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.lens-toolbar .toolbar-toggle-group{flex:0 0 auto}.lens-toolbar>label{flex:0 0 auto}.lens-toolbar input[type=number]{width:56px}.lens-copy-actions{display:inline-flex;align-items:center;gap:4px;padding:0 4px;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);flex-shrink:0}.lens-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:0;height:100%;padding:0 8px;border:1px solid transparent;border-radius:4px;background:#fff;color:var(--text);font-size:12px;font-weight:800;cursor:pointer}.lens-copy-btn:hover:not(:disabled){border-color:#b7cce3;background:#eef6ff}.lens-copy-btn:disabled{cursor:default;color:#94a3b8;background:#f1f5f9}.smooth-wand-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;flex:0 0 auto}.smooth-wand-btn:hover{background:#f3f4f6}.smooth-wand-btn.is-active{border-color:#f59e0b;color:#b45309;background:#fffbeb;box-shadow:0 0 0 2px #fde68a}.lens-canvas-frame.is-smoothing{cursor:crosshair}.lens-canvas-frame.is-smoothing canvas{cursor:crosshair}.smooth-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9100;pointer-events:none}.smooth-modal[hidden]{display:none}.smooth-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a2e;pointer-events:auto}.smooth-modal-dialog{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:320px;max-width:calc(100vw - 48px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;gap:12px;font-size:12.5px;pointer-events:auto}@media (max-width: 900px){.smooth-modal-dialog{right:50%;top:auto;bottom:24px;transform:translate(50%)}}.smooth-modal-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.smooth-modal-title{font-weight:700;font-size:14px;color:var(--text)}.smooth-arc-info{font-weight:400;font-size:11px;color:var(--muted);white-space:nowrap}.smooth-slider-row{display:grid;grid-template-columns:64px 1fr 56px;align-items:center;gap:10px}.smooth-slider-row input[type=range]{width:100%;min-width:0}.smooth-slider-label{font-weight:600;font-size:12px;color:var(--text)}.smooth-strength-val{font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:600;color:var(--text);padding:2px 6px;background:var(--surface-2);border-radius:4px;min-width:50px}.smooth-mode-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px}.smooth-mode-options{display:flex;gap:12px;font-size:11.5px}.smooth-mode-opt{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.smooth-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.smooth-modal-actions button{padding:7px 14px;font-size:12px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:600}.smooth-modal-actions button:hover{background:#f3f4f6}.smooth-modal-actions .primary-action{background:var(--accent);color:#fff;border-color:var(--accent)}.smooth-modal-actions .primary-action:hover{background:#1d4ed8}.lens-canvas-frame{position:relative;border:1px solid var(--line-strong);border-radius:4px;background:#fff;overflow:hidden;height:clamp(300px,38vh,400px);grid-area:canvas;min-width:560px}.canvas-controls-overlay{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:10}.canvas-controls-row{display:flex;align-items:center;gap:6px}#lens-canvas{display:block;width:100%;height:100%;background:#fff}.oh-ref-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.oh-ref-group .oh-ref-label{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.oh-ref-group label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.canvas-overlay{position:absolute;bottom:6px;left:8px;font-size:11px;color:var(--muted);background:#ffffffd9;padding:2px 6px;border-radius:3px;z-index:5}.canvas-copy-overlay{position:absolute;top:8px;left:8px;z-index:10}.edger-right{display:grid;gap:12px;align-content:start}.edger-bottom-controls{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;grid-area:side;align-self:stretch;min-width:0}.edger-bottom-panel{min-width:0;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:flex-start}.rx-lens-row{grid-area:rx}.size-section{grid-area:size;display:flex;flex-direction:column;gap:8px}.size-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.size-group-title{margin:0;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.edger-bottom-panel h4{margin:0 0 8px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.edger-bottom-panel .radio-row{flex-direction:row;flex-wrap:wrap;gap:10px;white-space:normal}.edger-bottom-panel .radio-row label{font-size:12px;display:flex;align-items:center;gap:5px;flex:0 0 auto}.edger-bottom-panel .form-row.two-cols{gap:8px;margin-top:8px}.edger-bottom-panel .form-row.three-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin-top:8px}.edger-bottom-panel .frame-dimensions label{min-width:0}.edger-bottom-panel .frame-dimensions input{width:100%}.edger-bottom-panel .frame-polish-option{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-top:8px;font-size:12px;font-weight:700;color:var(--text)}.edger-bottom-panel .suffix-input{margin-top:10px}.design-grid{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:4px}.design-grid .head{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0}.design-grid .label{display:flex;align-items:center;font-size:12px;font-weight:600;padding:0 6px;background:var(--surface-2);border-radius:4px}.design-grid input.cell{text-align:right}.design-grid .muted{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.suffix-input{display:flex;align-items:center;gap:6px}.suffix-input input{flex:1}.suffix-input .suffix{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:0 6px;height:28px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:12px}:root{--eye-R: #00bcbd;--eye-L: #fb7299}.eye-toggle-group{display:flex;align-items:center;gap:8px}.eye-toggle-label{font-size:12px;font-weight:600;color:var(--muted);min-width:24px}.eye-toggle{display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.eye-btn{padding:4px 14px;border:none;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.eye-btn+.eye-btn{border-left:1px solid var(--line)}#btn-eye-R.is-active{background:var(--eye-R);color:#fff;border-color:var(--eye-R)}#btn-eye-L.is-active{background:var(--eye-L);color:#fff;border-color:var(--eye-L)}.eye-btn:hover:not(.is-active){background:var(--line);color:var(--text)}.windows-test-panel{padding:16px 18px 24px;border:1px solid #d1d1d1;border-radius:6px;background:#fafafa;display:grid;gap:12px}.test-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.test-refresh-toggle{display:flex;align-items:center;gap:8px;color:#555;font-size:13px;font-weight:500}.test-grid{display:grid;grid-template-columns:100px 70px 1fr 100px 100px 100px;align-items:center;gap:8px}.test-heading{padding:6px 0;border-bottom:1px solid #8e8e8e;color:#555;font-size:14px;font-weight:600}.test-heading-movement{grid-column:span 3;text-align:center}.test-label{color:#444;font-size:13px;font-weight:600}.test-label.indented{padding-left:24px;font-weight:500}.test-sensor{color:#777;font-size:12px;font-weight:500;text-align:center}.test-double-cell{display:grid;grid-template-columns:1fr 1fr;gap:6px}.test-value{background:#f0f0f0;text-align:center}.test-value.full{width:100%}.test-pi{background:#f0f0f0;text-align:center}.test-pi-spacer{height:1px}.test-ax-cell{display:flex;gap:6px;align-items:center}.test-ax-pi{flex:1;background:#f0f0f0;text-align:center}.test-ax-move{width:68px;text-align:right}.test-ax-move-btn{cursor:pointer;background:var(--surface-2);color:var(--accent);font-weight:600}.test-ax-move-btn:hover{border-color:var(--accent);background:#2f6df60f}.test-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:8px;border-top:1px dashed #c8c8c8}.serial-status{font-size:13px;color:#555}.serial-status strong{color:var(--text)}.test-serial-actions{display:flex;flex-wrap:wrap;gap:6px}.cs-groups{display:grid;gap:14px}.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cs-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cs-subgroup{border:1px solid var(--line-strong);border-radius:6px;padding:8px 12px 12px;display:grid;gap:10px;margin:0}.cs-subgroup legend{padding:0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cs-subgroup label{background:var(--surface-2);padding:8px 10px;border-radius:4px;border:1px solid var(--line);display:grid;gap:4px}@media (max-width: 720px){.cs-split{grid-template-columns:1fr}}.cs-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.cs-grid label{background:var(--surface-2);padding:8px 10px;border-radius:4px;border:1px solid var(--line)}.cs-range{margin-top:2px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.02em}.cs-grid input[aria-invalid=true]{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger-fg)}@media (max-width: 980px){.cs-grid,.cs-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.cs-grid,.cs-grid.two,.cs-grid.four{grid-template-columns:1fr}}.about-panel{max-width:760px}.about-headline{font-size:18px;font-weight:700;margin:4px 0 8px}.stat-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:6px}.stat-summary label{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:6px 10px;color:var(--text)}.stats-grid{display:grid;grid-template-columns:80px repeat(6,minmax(0,1fr));gap:4px}.stats-grid .head{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0}.stats-grid .label{display:flex;align-items:center;background:var(--surface-2);border-radius:4px;padding:0 8px;font-weight:600;font-size:12px}.stats-grid input.cell{text-align:right}.upgrade-status{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.upgrade-status strong{color:var(--text);font-weight:700}.upgrade-status strong.is-online{color:var(--success-fg)}.upgrade-status strong.is-offline{color:var(--danger-fg)}.upgrade-instructions{color:var(--text);font-size:16px;font-weight:600;line-height:1.55}.progress-row{display:grid;gap:6px}.progress-row progress{width:100%;height:14px}.progress-row output{font-size:12px;color:var(--muted)}.console-panel{margin-top:auto;border:1px solid var(--line-strong);border-radius:6px;background:var(--console-bg);color:var(--console-fg);display:grid;gap:6px;padding:10px 12px 12px}.console-panel header{display:flex;align-items:center;justify-content:space-between}.console-panel h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#c5d8ff}.console-panel .ghost{color:#c5d8ff}.console-panel .ghost:hover{background:#ffffff1a}.console-panel textarea{width:100%;min-height:100px;max-height:220px;border:1px solid #1c2da4;background:#00006a;color:var(--console-fg);font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5;padding:8px 10px;resize:vertical}@media (max-width: 1280px){.edger-grid{grid-template-columns:200px minmax(0,1fr) minmax(210px,240px)}}@media (max-width: 1320px){.edger-lens{grid-template-columns:minmax(560px,1fr);grid-template-rows:auto;grid-template-areas:"toolbar" "canvas" "side" "rx" "size"}.edger-bottom-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-template-rows:auto}}@media (max-width: 1080px){.edger-grid{grid-template-columns:1fr}}@media (max-width: 980px){.edger-grid{grid-template-columns:1fr}.edger-lens{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"toolbar" "canvas" "side" "rx" "size"}.lens-toolbar{grid-template-columns:1fr}.edger-bottom-controls{height:auto;grid-template-rows:repeat(3,auto)}.section-grid,.section-grid.two-cols{grid-template-columns:1fr}.setting-grid{grid-template-rows:none;grid-template-areas:"communication" "save-path" "data" "transfer" "lms"}.setting-save-path-panel,.setting-communication-panel,.setting-data-panel{height:auto;min-height:var(--setting-panel-height)}.span-2{grid-column:auto}.test-grid{grid-template-columns:90px 60px 1fr 1fr 1fr 1fr}}@media (max-width: 720px){.lens-canvas-frame{min-width:0}.edger-bottom-panel .radio-row{flex-wrap:wrap}}.admin-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9000}.admin-modal[hidden]{display:none}.admin-dialog{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:24px 28px;width:320px;display:flex;flex-direction:column;gap:14px}.admin-dialog-title{font-size:14px;font-weight:700;color:var(--text);margin:0}.iioma-notice-dialog{width:380px;gap:8px}.iioma-notice-brand{font-size:18px;font-weight:800;letter-spacing:.5px;color:var(--accent);margin:0}.iioma-notice-title{font-size:14px;font-weight:700;color:var(--text);margin:0}.iioma-notice-body{font-size:12.5px;line-height:1.5;color:var(--text-muted, #4b5563);margin:0;white-space:pre-wrap;word-break:keep-all}.admin-input{width:100%;min-height:36px;font-size:14px;letter-spacing:.1em}.admin-code-input{-webkit-text-security:disc;text-security:disc}.admin-error{margin:0;font-size:12px;color:var(--danger-fg)}.admin-error[hidden]{display:none}.admin-actions{display:flex;justify-content:flex-end;gap:8px}.port-dialog{width:min(420px,calc(100vw - 32px))}.port-select-label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.port-select{width:100%;min-height:36px;color:var(--text);font-size:13px;font-weight:600}.port-modal-message{min-height:18px;color:var(--muted);font-size:12px;line-height:1.4}.dim-editor{position:fixed;z-index:300;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 28px #1f2d3d2e;padding:12px 14px;min-width:175px;display:flex;flex-direction:column;gap:6px}.dim-editor[hidden]{display:none}.dim-editor-label{font-size:13px;font-weight:700;color:var(--text)}.dim-editor-range{font-size:11px;color:var(--muted);margin-top:-2px}.dim-editor-input{width:100%;font-size:16px;text-align:center;padding:6px 8px}.dim-editor-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.data-manager-btn{width:100%;margin:6px 0 2px;padding:5px 0;font-size:12px;font-weight:600;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:var(--radius);cursor:pointer}.data-manager-btn:hover{background:var(--line);color:var(--text)}.dm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;display:flex;align-items:center;justify-content:center}.dm-overlay[hidden]{display:none}.dm-modal{background:var(--surface);border-radius:10px;box-shadow:0 24px 60px #00000040;width:min(760px,96vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.dm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--line)}.dm-title{font-size:15px;font-weight:700;color:var(--text)}.dm-close{background:transparent;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}.dm-close:hover{color:var(--text)}.dm-toolbar{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}.dm-selectall-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer}.dm-action-btn{padding:5px 14px;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:var(--surface)}.dm-action-btn.danger{border-color:var(--danger-line);color:var(--danger-fg);background:var(--danger-bg)}.dm-action-btn.danger:hover:not(:disabled){background:var(--danger-line)}.dm-action-btn:disabled{opacity:.45;cursor:default}.dm-count{font-size:12px;color:var(--muted);margin-left:auto}.dm-table-wrap{overflow-y:auto;flex:1}.dm-table{width:100%;border-collapse:collapse;font-size:12px}.dm-table th{position:sticky;top:0;background:var(--surface-2);border-bottom:1px solid var(--line);padding:7px 10px;text-align:left;font-weight:700;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.dm-table td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.dm-table tr:last-child td{border-bottom:none}.dm-table tr:hover td{background:var(--surface-2)}.dm-table tr.is-selected td{background:#2f6df60f}.dm-col-chk{width:36px;text-align:center}.dm-col-name{min-width:160px}.dm-col-xfer{width:150px;white-space:nowrap}.dm-xfer-line{display:flex;align-items:center;gap:6px;font-size:11.5px;line-height:1.4}.dm-xfer-line+.dm-xfer-line{margin-top:2px}.dm-xfer-tag{display:inline-block;min-width:36px;padding:0 4px;font-size:9.5px;font-weight:700;text-align:center;border-radius:3px;background:#e0e7ff;color:#3730a3;letter-spacing:.4px}.dm-xfer-tag-dcs{background:#d1fae5;color:#065f46}.dm-col-dest{color:var(--muted);word-break:break-all}.dm-name-cell{display:flex;align-items:center;gap:6px}.dm-rename-btn{background:transparent;border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:11px;cursor:pointer;color:var(--muted);flex-shrink:0}.dm-rename-btn:hover{color:var(--accent);border-color:var(--accent)}.dm-name-input{width:100%;font-size:12px;padding:2px 6px;border:1px solid var(--accent);border-radius:4px}.dm-empty{text-align:center;color:var(--muted);padding:32px;font-style:italic}.order-report-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8600;background:#0f172a9e;display:flex;flex-direction:column}.order-report-modal[hidden]{display:none}.order-report-toolbar{flex:0 0 auto;height:68px;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.order-report-title{display:flex;flex-direction:column;gap:2px;min-width:0}.order-report-title span{font-size:15px;font-weight:800;color:var(--text)}.order-report-title small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-report-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.order-report-actions button{min-width:132px;min-height:44px;padding:0 22px;border-radius:7px;font-size:14px;font-weight:800}.order-report-actions #order-report-print{min-width:184px}.order-report-preview{flex:1 1 auto;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start}.order-report-sheet{width:210mm;min-height:297mm;padding:9mm;background:#fff;color:#0f172a;box-shadow:0 22px 70px #00000052;font-family:Segoe UI,Arial,sans-serif;font-size:10px;line-height:1.24}.report-header{display:grid;grid-template-columns:minmax(0,1fr) 72mm;gap:10mm;align-items:start;padding-bottom:3.5mm;border-bottom:2px solid #0f172a}.report-kicker{margin:0 0 .4mm;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.report-brand{display:flex;align-items:flex-end;gap:4mm;margin-bottom:2mm}.report-brand img{display:block;width:38mm;height:auto;object-fit:contain}.report-header h1{margin:0;font-size:22px;line-height:1.05;letter-spacing:0;color:#0f172a;word-break:break-word}.report-barcode{margin:2.5mm 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:.6mm}.report-barcode-svg{display:block;width:auto;max-width:100%;height:12mm}.report-barcode-caption{font-size:8px;font-weight:700;letter-spacing:.12em;color:#0f172a;font-family:Courier New,ui-monospace,monospace}.report-meta{display:grid;gap:1.3mm;font-size:9px}.report-meta div{display:grid;grid-template-columns:18mm minmax(0,1fr);gap:3mm}.report-meta span{color:#64748b;font-weight:700}.report-meta strong{color:#0f172a;font-weight:700;word-break:break-word}.report-shape-section,.report-card{margin-top:3.4mm}.report-shape-section h2,.report-card h2{margin:0 0 2mm;color:#0f172a;font-size:10.8px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.report-card h3{margin:0 0 1.2mm;color:#334155;font-size:9.6px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.report-card h3+.report-table{margin-bottom:1.5mm}.report-card h3+.report-table:last-child{margin-bottom:0}.report-lens-svg{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:4mm}.report-wide-card{align-self:start}.report-table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #cbd5e1;font-size:9.3px}.report-table th,.report-table td{border-bottom:1px solid #e2e8f0;padding:1.15mm 1.8mm;vertical-align:top}.report-table tr:last-child th,.report-table tr:last-child td{border-bottom:none}.report-table th{width:34%;background:#f8fafc;color:#475569;font-weight:800;text-align:left}.report-table td{color:#111827;font-weight:600;word-break:break-word}.report-dual thead th{background:#eaf1ff;color:#1e3a8a;text-align:center}.report-dual tbody th{width:30%}.report-dual td{text-align:center}.report-layout-table th{width:34%}.report-layout-table thead th{background:#eaf1ff;color:#1e3a8a;text-align:center}.report-layout-table td,.report-layout-common td{text-align:center}.report-optical-summary{margin-bottom:1.4mm}.report-optical-summary tbody{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.report-optical-summary tr{display:grid;grid-template-rows:auto auto;border-right:1px solid #e2e8f0}.report-optical-summary tr:last-child{border-right:none}.report-optical-summary th,.report-optical-summary td{display:block;width:auto;border-bottom:none}.report-optical-summary th{padding-bottom:.8mm}.report-optical-summary td{padding-top:0}.report-frame-summary{margin-bottom:1.4mm}.report-frame-summary tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report-frame-summary tr{display:grid;grid-template-rows:auto auto;border-right:1px solid #e2e8f0}.report-frame-summary tr:last-child{border-right:none}.report-frame-summary th,.report-frame-summary td{display:block;width:auto;border-bottom:none}.report-frame-summary th{padding-bottom:.7mm}.report-frame-summary td{padding-top:0}.report-config-table{table-layout:auto}.report-config-table tbody{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.report-config-table tr{display:grid;grid-template-rows:auto auto;border-right:1px solid #e2e8f0}.report-config-table tr:nth-child(4n){border-right:none}.report-config-table th,.report-config-table td{display:block;width:auto;border-bottom:none}.report-config-table th{padding-bottom:1mm}.report-config-table td{padding-top:0}.report-edging-common tbody{grid-template-columns:repeat(var(--report-edging-cols, 6),minmax(0,1fr))}.report-edging-common tr:nth-child(n){border-right:1px solid #e2e8f0}.report-edging-common tr:last-child{border-right:none}.report-edging-common th,.report-edging-common td{padding-left:1.2mm;padding-right:1.2mm}.report-edging-common th{white-space:nowrap}.report-edging-table th{width:38%}.report-edging-table th,.report-edging-table td{padding-top:1.1mm;padding-bottom:1.1mm}.report-memo-card{min-height:17mm}.report-memo{min-height:12mm;border:1px solid #cbd5e1;background:#f8fafc;padding:2mm;font-size:9.3px;color:#111827;word-break:break-word}@page{size:A4 portrait;margin:8mm}@media print{body.printing-order-report>:not(#order-report-modal){display:none!important}body.printing-order-report,body.printing-order-report #order-report-modal{background:#fff!important}body.printing-order-report #order-report-modal{position:static!important;inset:auto!important;display:block!important;overflow:visible!important}body.printing-order-report .order-report-toolbar{display:none!important}body.printing-order-report .order-report-preview{display:block!important;overflow:visible!important;padding:0!important}body.printing-order-report .order-report-sheet{width:194mm!important;min-height:281mm!important;padding:0!important;box-shadow:none!important}}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:298;background:transparent}.popup-backdrop[hidden]{display:none}.oh-method-picker{position:fixed;z-index:300;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;min-width:190px}.oh-method-picker[hidden]{display:none}.oh-method-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.oh-value-row{display:flex;align-items:center;gap:8px}.oh-value-label{font-size:12px;color:var(--muted);flex:0 0 auto}.oh-value-input{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--line-strong);border-radius:4px;font-size:13px;text-align:right}.oh-method-options{display:flex;flex-direction:column;gap:5px}.oh-method-radio{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text);cursor:pointer}.oh-method-radio input[type=radio]{cursor:pointer}.oh-method-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}.oh-method-actions button:not(.primary-action){padding:4px 12px;font-size:13px;border-radius:4px;border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer}.oh-method-actions button:not(.primary-action):hover{background:var(--line)}@media (max-width: 720px){.app-shell{padding:12px}.app-header{flex-direction:column;align-items:flex-start;gap:10px}.header-meta{flex-wrap:wrap}.data-grid,.cs-grid,.fitting-grid,.stat-summary{grid-template-columns:1fr}.size-table{grid-template-columns:70px repeat(4,minmax(0,1fr));font-size:11px}.stats-grid{grid-template-columns:70px repeat(6,minmax(46px,1fr));font-size:11px}.test-grid{grid-template-columns:1fr}.test-heading-movement{grid-column:auto}}
