:root{--ba-brand-50:var(--so-brand-50);--ba-brand-100:var(--so-brand-100);--ba-brand-500:var(--so-brand-500);--ba-brand-600:var(--so-brand-600);--ba-brand-700:var(--so-brand-700);--ba-accent-500:var(--so-accent-500);--ba-accent-600:var(--so-accent-600);--ba-bg:var(--so-bg);--ba-surface:var(--so-surface);--ba-surface-2:var(--so-surface-2);--ba-border:var(--so-border);--ba-border-strong:var(--so-border-strong);--ba-text:var(--so-text);--ba-text-mute:var(--so-text-mute);--ba-text-soft:var(--so-text-soft);--ba-success:var(--so-success);--ba-warning:var(--so-warning);--ba-danger:var(--so-danger);--ba-info:var(--so-info);--ba-success-bg:var(--so-success-bg);--ba-success-border:var(--so-success-border);--ba-success-text:var(--so-success-text);--ba-success-strong:var(--so-success-strong);--ba-warning-bg:var(--so-warning-bg);--ba-warning-border:var(--so-warning-border);--ba-warning-text:var(--so-warning-text);--ba-warning-strong:var(--so-warning-strong);--ba-danger-bg:var(--so-danger-bg);--ba-danger-border:var(--so-danger-border);--ba-danger-text:var(--so-danger-text);--ba-danger-strong:var(--so-danger-strong);--ba-info-bg:var(--so-info-bg);--ba-info-border:var(--so-info-border);--ba-info-text:var(--so-info-text);--ba-info-strong:var(--so-info-strong);--ba-sp-1:4px;--ba-sp-2:8px;--ba-sp-3:12px;--ba-sp-4:16px;--ba-sp-5:20px;--ba-sp-6:24px;--ba-sp-8:32px;--ba-sp-10:40px;--ba-r-sm:6px;--ba-r-md:10px;--ba-r-lg:14px;--ba-r-xl:20px;--ba-sh-sm:0 1px 2px #0f172a0a,0 1px 1px #0f172a08;--ba-sh-md:0 4px 12px #0f172a0f,0 2px 4px #0f172a0a;--ba-sh-lg:0 12px 32px #0f172a1a,0 4px 12px #0f172a0d;--ba-font-sans:Arial,"Segoe UI",Roboto,system-ui,sans-serif;--ba-font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--so-brand-50:#eef3f8;--so-brand-100:#d5e0ea;--so-brand-500:#1e3a52;--so-brand-600:#15293b;--so-brand-700:#0d1c2a;--so-accent-500:#b9601a;--so-accent-600:#93491a;--so-bg:#f1efea;--so-surface:#fdfdfc;--so-surface-2:#f3f2ee;--so-border:#e2e0db;--so-border-strong:#c9c5bc;--so-text:#1a1916;--so-text-mute:#5a5851;--so-text-soft:#8a8780;--so-success:#2e7d32;--so-warning:#b9601a;--so-danger:#b3261e;--so-info:#1e3a52;--so-success-bg:#ecf3ed;--so-success-border:#c7d9c9;--so-success-text:#2e7d32;--so-success-strong:#1e5921;--so-warning-bg:#f7eee4;--so-warning-border:#e2c8a3;--so-warning-text:#93491a;--so-warning-strong:#6e3614;--so-danger-bg:#f5e6e4;--so-danger-border:#e0bbb6;--so-danger-text:#93201a;--so-danger-strong:#6e1812;--so-info-bg:#e9eef3;--so-info-border:#c4d0dc;--so-info-text:#1e3a52;--so-info-strong:#15293b;--so-sp-1:4px;--so-sp-2:8px;--so-sp-3:12px;--so-sp-4:16px;--so-sp-5:20px;--so-sp-6:24px;--so-sp-8:32px;--so-sp-10:40px;--so-r-sm:6px;--so-r-md:8px;--so-r-lg:10px;--so-r-xl:14px;--so-card-pad:16px;--so-kpi-pad:12px 14px;--so-panel-head-pad:12px 16px;--so-detail-pad:20px 24px;--so-sh-sm:0 1px 2px #1a19160a;--so-sh-md:0 2px 8px #1a19160f,0 1px 3px #1a19160a;--so-sh-lg:0 8px 24px #1a191614,0 3px 8px #1a19160a;--so-font-sans:"Inter","Segoe UI",Roboto,system-ui,sans-serif;--so-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--so-input-h:36px;--so-button-h:36px;--so-row-h:28px}[data-theme=dark]{--ba-sh-sm:0 1px 2px #0006;--ba-sh-md:0 6px 16px #00000073;--ba-sh-lg:0 16px 36px #0000008c;--so-bg:#1a1916;--so-surface:#221f1c;--so-surface-2:#2a2723;--so-border:#3a3631;--so-border-strong:#4a4540;--so-text:#f0ede6;--so-text-mute:#b8b3a8;--so-text-soft:#7a766e;--so-brand-500:#5a8db0;--so-brand-600:#7da6c4;--so-brand-700:#9bbcd6;--so-success:#5fb267;--so-warning:#e6b04a;--so-danger:#e0645a;--so-info:#5a8db0;--so-success-bg:#1f2a21;--so-success-border:#35573a;--so-success-text:#8fce96;--so-success-strong:#a9dcae;--so-warning-bg:#2a201a;--so-warning-border:#6b5426;--so-warning-text:#e9bc66;--so-warning-strong:#f0cd8b;--so-danger-bg:#2a1c1a;--so-danger-border:#6b322c;--so-danger-text:#ea8a81;--so-danger-strong:#f2aaa3;--so-info-bg:#1c2530;--so-info-border:#34495c;--so-info-text:#8ab2cf;--so-info-strong:#a8c8de;--so-sh-sm:0 1px 2px #00000080;--so-sh-md:0 4px 12px #0000008c;--so-sh-lg:0 12px 32px #000000a6}*,:after,:before{box-sizing:border-box}#root,body,html{margin:0;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum","kern";color:#1a1916;color:var(--so-text);font-family:Inter,Segoe UI,Roboto,system-ui,sans-serif;font-family:var(--so-font-sans);font-size:14px;line-height:1.5}.so-erp-workspace,body{background:#f1efea;background:var(--so-bg)}.so-erp-workspace h1{font-size:24px;letter-spacing:0;line-height:1.25;margin-top:0}.so-erp-workspace h2{font-size:18px;letter-spacing:0;line-height:1.3}.so-erp-workspace h3{font-size:15px;letter-spacing:0;line-height:1.35}.so-erp-workspace table{border-collapse:collapse}.so-erp-workspace th{background:#f3f2ee;background:var(--so-surface-2);color:#5a5851;color:var(--so-text-mute);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.so-erp-workspace td,.so-erp-workspace th{border-color:#e2e0db;border-color:var(--so-border)}.so-erp-workspace button,.so-erp-workspace input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.so-erp-workspace select,.so-erp-workspace textarea{border-radius:6px}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:8px;box-sizing:border-box;color:#1a1916;color:var(--so-text);font-size:13px;min-height:36px;min-height:var(--so-input-h);padding:0 10px}textarea{min-height:72px;min-height:calc(var(--so-input-h)*2);padding:8px 10px}button,textarea{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:8px;box-sizing:border-box;color:#1a1916;color:var(--so-text);font-family:inherit;font-size:13px}button{cursor:pointer;font-weight:600;min-height:36px;min-height:var(--so-button-h);padding:0 14px;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:#f3f2ee;background:var(--so-surface-2)}button:disabled{cursor:not-allowed;opacity:.5}input[style*=danger-border],input[style*=info-border],input[style*=success-border],input[style*=warning-border],select[style*=danger-border],select[style*=info-border],select[style*=success-border],select[style*=warning-border],textarea[style*=danger-border],textarea[style*=info-border],textarea[style*=success-border],textarea[style*=warning-border]{border-color:#e2e0db!important;border-color:var(--so-border)!important}.so-btn-primary{background:#1e3a52!important;background:var(--so-brand-500)!important;border-color:#1e3a52!important;border-color:var(--so-brand-500)!important;color:#fdfdfc!important;color:var(--so-surface)!important}.so-btn-primary:hover:not(:disabled){background:#15293b!important;background:var(--so-brand-600,var(--so-brand-500))!important;filter:brightness(1.08)}.so-btn-danger{background:#6e1812!important;background:var(--so-danger-strong)!important;border-color:#6e1812!important;border-color:var(--so-danger-strong)!important;color:#fdfdfc!important;color:var(--so-surface)!important}.so-btn-ghost{background:#0000!important;border-color:#0000!important}.so-btn-ghost:hover:not(:disabled){background:#f3f2ee!important;background:var(--so-surface-2)!important}:focus-visible{outline:2px solid #1e3a52;outline:2px solid var(--so-brand-500);outline-offset:2px}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details>summary::marker{display:none}details>summary:hover .so-collapse-arrow{color:#5a5851;color:var(--so-text-mute)}details[open]>summary .so-collapse-arrow{color:#5a5851;color:var(--so-text-mute);transform:rotate(90deg)}.ba-tabular,.ba-tabular td,.ba-tabular th,.kx-tabular,.kx-tabular td,.kx-tabular th,.so-tabular,.so-tabular td,.so-tabular th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes ba-skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.ba-skeleton,.kx-skeleton,.so-skeleton{animation:ba-skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#f3f2ee,#e2e0db 50%,#f3f2ee);background:linear-gradient(90deg,var(--so-surface-2) 0,var(--so-border) 50%,var(--so-surface-2) 100%);background-repeat:no-repeat;background-size:200px 100%;border-radius:8px;border-radius:var(--so-r-md)}@media (prefers-reduced-motion:reduce){.ba-skeleton,.kx-skeleton,.so-skeleton{animation:none}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{--ba-font-sans:"Inter","Segoe UI",Roboto,system-ui,sans-serif;--ba-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}body.native-app{--so-input-h:48px;--so-button-h:48px;--so-row-h:44px}body.native-app input,body.native-app select,body.native-app textarea{font-size:16px}body.native-app [role=button],body.native-app a[role=button]{min-height:44px}.so-icon-button{align-items:center;background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;color:#5a5851;color:var(--so-text-mute);display:inline-flex;height:32px;justify-content:center;min-height:32px;padding:0;width:32px}.so-icon-button:hover:not(:disabled){border-color:#c9c5bc;border-color:var(--so-border-strong);color:#1a1916;color:var(--so-text)}.so-global-search-backdrop{align-items:flex-start;background:#121b226b;display:flex;inset:0;justify-content:center;padding:11vh 20px 24px;position:fixed;z-index:1200}.so-global-search{background:#fdfdfc;background:var(--so-surface);border:1px solid #c9c5bc;border:1px solid var(--so-border-strong);border-radius:8px;box-shadow:0 18px 48px #111a213d;display:flex;flex-direction:column;max-height:min(650px,78vh);overflow:hidden;width:min(680px,100%)}.so-global-search-input-row{align-items:center;border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);color:#5a5851;color:var(--so-text-mute);display:flex;gap:10px;min-height:52px;padding:0 14px}.so-global-search-input-row input{background:#0000;border:0;color:var(--so-text-strong);flex:1 1;font-size:15px;height:50px;min-height:50px;min-width:0;outline:0;padding:0}.so-global-search-input-row input:focus-visible{outline:0}.so-global-search-filters{align-items:center;background:#f3f2ee;background:var(--so-surface-2);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:4px;min-height:42px;overflow-x:auto;padding:6px 10px}.so-global-search-filters button{background:#0000;border:1px solid #0000;border-radius:6px;color:#5a5851;color:var(--so-text-mute);font-size:12px;height:28px;min-height:28px;padding:0 10px;white-space:nowrap}.so-global-search-filters button.is-active{background:#fdfdfc;background:var(--so-surface);border-color:#e2e0db;border-color:var(--so-border);box-shadow:0 1px 2px #1a19160a;box-shadow:var(--so-sh-sm);color:#1a1916;color:var(--so-text)}.so-global-search-results{min-height:112px;overflow-y:auto;padding:6px}.so-global-search-results>button{grid-gap:10px;align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;display:grid;gap:10px;grid-template-columns:30px minmax(0,1fr) auto;min-height:50px;padding:7px 10px;text-align:left;width:100%}.so-global-search-results>button.is-selected,.so-global-search-results>button:hover{background:#f3f2ee;background:var(--so-surface-2);border-color:#e2e0db;border-color:var(--so-border)}.so-global-search-result-icon{align-items:center;background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;color:#5a5851;color:var(--so-text-mute);display:inline-flex;height:28px;justify-content:center;width:28px}.so-global-search-result-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.so-global-search-result-copy small,.so-global-search-result-copy strong{letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-global-search-result-copy strong{color:var(--so-text-strong);font-size:13px;font-weight:650}.so-global-search-result-copy small,.so-global-search-result-meta{color:#5a5851;color:var(--so-text-mute);font-size:11px}.so-global-search-result-meta{padding-left:8px;white-space:nowrap}.so-global-search-state{color:#5a5851;color:var(--so-text-mute);font-size:13px;padding:28px 16px;text-align:center}.so-global-search-state.is-error{color:#6e1812;color:var(--so-danger-strong)}.so-status-bar{font-feature-settings:"tnum";border-top:1px solid #e2e0db;border-top:1px solid var(--so-border);flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;gap:2px;height:28px;min-height:28px;overflow:hidden;padding:0 8px}.so-project-sync,.so-status-bar{align-items:center;background:#fdfdfc;background:var(--so-surface);color:#5a5851;color:var(--so-text-mute);display:flex}.so-project-sync{border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:8px;flex-wrap:wrap;font-size:12px;gap:10px 18px;justify-content:space-between;padding:12px 16px}.so-project-sync strong{color:#1a1916;color:var(--so-text)}.so-project-sync small{display:block;margin-top:3px}.so-project-sync button{flex-shrink:0}.so-status-item{align-items:center;background:#0000;border:0;border-radius:4px;color:inherit;display:inline-flex;font:inherit;gap:5px;height:24px;min-height:24px;min-width:0;padding:0 8px;white-space:nowrap}button.so-status-item:hover{background:#f3f2ee;background:var(--so-surface-2);color:#1a1916;color:var(--so-text)}.so-status-item.is-ok{color:#1e5921;color:var(--so-success-strong)}.so-status-item.is-warning{color:#6e3614;color:var(--so-warning-strong)}.so-status-item.is-error{color:#6e1812;color:var(--so-danger-strong)}.so-status-muted{color:#8a8780;color:var(--so-text-soft)}.so-status-spacer{flex:1 1}@media (max-width:1120px){.so-status-secondary{display:none}}@media (max-width:680px){.so-global-search-backdrop{align-items:flex-start;padding:8px}.so-global-search{max-height:calc(100vh - 16px)}.so-global-search-result-meta{display:none}.so-global-search-results>button{grid-template-columns:30px minmax(0,1fr)}}.so-action-toolbar{align-items:center;border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:6px;min-height:46px;padding:7px 24px 8px}.so-action-toolbar-button{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:5px;color:#1a1916;color:var(--so-text);cursor:pointer;font-size:12px;font-weight:500;min-height:32px;padding:5px 12px}.so-action-toolbar-button:hover:not(:disabled){background:#f3f2ee;background:var(--so-surface-2);border-color:#c9c5bc;border-color:var(--so-border-strong)}.so-action-toolbar-button.is-primary{background:#1e3a52;background:var(--so-brand-500);border-color:#1e3a52;border-color:var(--so-brand-500);color:#fdfdfc;color:var(--so-surface);font-weight:650}.so-action-toolbar-button.is-danger{color:#6e1812;color:var(--so-danger-strong)}.so-action-toolbar-button:disabled,.so-action-toolbar-menu button:disabled{cursor:not-allowed;opacity:.48}.so-action-toolbar-overflow{position:relative}.so-action-toolbar-menu{background:#fdfdfc;background:var(--so-surface);border:1px solid #c9c5bc;border:1px solid var(--so-border-strong);border-radius:6px;box-shadow:0 12px 30px #111a212e;left:0;min-width:190px;overflow:hidden;padding:4px;position:absolute;top:calc(100% + 5px);z-index:45}.so-action-toolbar-menu button{background:#0000;border:0;border-radius:4px;color:#1a1916;color:var(--so-text);cursor:pointer;font:inherit;font-size:12px;min-height:34px;padding:6px 9px;text-align:left;width:100%}.so-action-toolbar-menu button:hover:not(:disabled){background:#f3f2ee;background:var(--so-surface-2)}.so-action-toolbar-menu button.is-danger{color:#6e1812;color:var(--so-danger-strong)}.so-data-table{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;min-width:0;position:relative}.so-data-table-toolbar{align-items:center;background:#f3f2ee;background:var(--so-surface-2);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:8px;min-height:38px;padding:3px 6px 3px 10px}.so-data-table-toolbar-content{color:#5a5851;color:var(--so-text-mute);flex:1 1;font-size:12px;min-width:0}.so-data-table-config-wrap{flex:0 0 auto;position:relative}.so-data-table-config{background:#fdfdfc;background:var(--so-surface);border:1px solid #c9c5bc;border:1px solid var(--so-border-strong);border-radius:6px;box-shadow:0 12px 32px #111a2133;max-width:min(310px,calc(100vw - 28px));overflow:hidden;position:absolute;right:0;top:calc(100% + 5px);width:310px;z-index:40}.so-data-table-config-head{align-items:center;border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:8px;justify-content:space-between;min-height:42px;padding:0 10px}.so-data-table-config-head strong{font-size:13px}.so-data-table-config-head span{color:#8a8780;color:var(--so-text-soft);font-size:10px}.so-data-table-config-head span.is-error{color:#6e1812;color:var(--so-danger-strong)}.so-data-table-config-list{max-height:310px;overflow-y:auto;padding:5px}.so-data-table-config-row{grid-gap:4px;align-items:center;border-radius:4px;display:grid;gap:4px;grid-template-columns:22px minmax(0,1fr) 28px 28px;min-height:34px;padding:2px 4px}.so-data-table-config-row:hover{background:#f3f2ee;background:var(--so-surface-2)}.so-data-table-config-row>span{color:#1a1916;color:var(--so-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-data-table-config-row .so-icon-button{border-color:#0000;height:26px;min-height:26px;transform:rotate(-90deg);width:26px}.so-data-table-density{align-items:center;border-top:1px solid #e2e0db;border-top:1px solid var(--so-border);color:#1a1916;color:var(--so-text);display:flex;font-size:12px;gap:8px;min-height:38px;padding:0 10px}.so-data-table-reset{background:#0000;border:0;border-radius:0;border-top:1px solid #e2e0db;border-top:1px solid var(--so-border);color:#5a5851;color:var(--so-text-mute);font-size:11px;min-height:34px;width:100%}.so-data-table-scroll{overflow:auto}.so-data-table table{border-collapse:initial;border-spacing:0;font-size:12px;table-layout:fixed;width:100%}.so-data-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.so-data-table th{background:#f3f2ee;background:var(--so-surface-2);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);color:#5a5851;color:var(--so-text-mute);font-size:10.5px;font-weight:700;height:34px;letter-spacing:0;padding:0 10px;position:relative;text-transform:uppercase;white-space:nowrap}.so-data-table td,.so-data-table th{overflow:hidden;text-overflow:ellipsis}.so-data-table td{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border-light,var(--so-border));color:#1a1916;color:var(--so-text);height:42px;padding:6px 10px;vertical-align:middle}.so-data-table tbody tr:last-child td{border-bottom:0}.so-data-table tbody tr.is-clickable:hover td,.so-data-table tbody tr:hover td{background:color-mix(in srgb,#f3f2ee 72%,#0000);background:color-mix(in srgb,var(--so-surface-2) 72%,#0000)}.so-data-table tbody tr.is-clickable{cursor:pointer}.so-data-table.is-compact td{height:34px;padding-bottom:3px;padding-top:3px}.so-data-table-resizer{border-right:1px solid #0000;bottom:6px;cursor:col-resize;position:absolute;right:-3px;top:6px;width:7px}.so-data-table-resizer:hover{border-color:#1e3a52;border-color:var(--so-brand-500)}.so-data-table-empty{color:#5a5851!important;color:var(--so-text-mute)!important;height:84px!important;text-align:center!important}.so-workspace-page{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;color:#1a1916;color:var(--so-text);min-height:calc(100% - 2px);min-width:0;overflow:hidden;width:100%}.so-workspace-header{align-items:flex-start;border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:20px;justify-content:space-between;min-height:76px;padding:16px 20px}.so-workspace-header-copy{min-width:0}.so-workspace-eyebrow{color:#8a8780;color:var(--so-text-soft);font-size:10px;font-weight:700;letter-spacing:.06em;margin-bottom:3px;text-transform:uppercase}.so-workspace-title-row{align-items:center;display:flex;gap:10px;min-width:0}.so-workspace-title-row h1{color:#1a1916;color:var(--so-text);font-size:20px;font-weight:720;line-height:1.25;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-workspace-header-copy>p{color:#5a5851;color:var(--so-text-mute);font-size:12.5px;margin:4px 0 0;max-width:820px}.so-workspace-header-actions,.so-workspace-meta,.so-workspace-section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.so-workspace-meta{flex:0 0 auto}.so-workspace-context-badge{align-items:center;background:#f3f2ee;background:var(--so-surface-2);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:3px;color:#5a5851;color:var(--so-text-mute);display:inline-flex;font-size:10.5px;font-weight:650;min-height:22px;padding:0 7px}.so-workspace-header-actions{justify-content:flex-end}.so-workspace-header-actions>button{align-items:center;background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:5px;color:#1a1916;color:var(--so-text);display:inline-flex;font-size:12px;font-weight:650;gap:7px;justify-content:center;min-height:34px;padding:0 11px}.so-workspace-header-actions>button:hover:not(:disabled){background:#f3f2ee;background:var(--so-surface-2)}.so-workspace-tabs{align-items:stretch;background:#fdfdfc;background:var(--so-surface);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:0;min-height:43px;overflow-x:auto;padding:0 16px}.so-workspace-tabs.is-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:20}.so-workspace-tabs>button{align-items:center;background:#0000;border:0;border-radius:0;color:#5a5851;color:var(--so-text-mute);display:inline-flex;font-size:12.5px;font-weight:500;gap:6px;min-height:42px;padding:0 13px;position:relative;white-space:nowrap}.so-workspace-tabs>button:after{background:#0000;bottom:-1px;content:"";height:2px;left:12px;position:absolute;right:12px}.so-workspace-tabs>button:hover:not(:disabled){background:#f3f2ee;background:var(--so-surface-2);color:#1a1916;color:var(--so-text)}.so-workspace-tabs>button.is-active{color:#1a1916;color:var(--so-text);font-weight:650}.so-workspace-tabs>button.is-active:after{background:#1e3a52;background:var(--so-brand-500)}.so-workspace-tab-count{font-feature-settings:"tnum";align-items:center;background:#f3f2ee;background:var(--so-surface-2);border-radius:9px;color:#5a5851;color:var(--so-text-mute);display:inline-flex;font-size:10px;font-variant-numeric:tabular-nums;height:18px;justify-content:center;min-width:18px;padding:0 5px}.so-workspace-section{background:#fdfdfc;background:var(--so-surface);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);min-width:0}.so-workspace-section:last-child{border-bottom:0}.so-workspace-section-header{align-items:center;background:color-mix(in srgb,#f3f2ee 62%,#fdfdfc);background:color-mix(in srgb,var(--so-surface-2) 62%,var(--so-surface));border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:16px;justify-content:space-between;min-height:54px;padding:10px 18px}.so-workspace-section-copy{min-width:0}.so-workspace-section-copy h2{color:#1a1916;color:var(--so-text);font-size:14px;font-weight:680;margin:0}.so-workspace-section-copy p{color:#5a5851;color:var(--so-text-mute);font-size:11.5px;margin:2px 0 0}.so-workspace-section-body{min-width:0;padding:16px 18px}.so-card,.so-kpi,.so-panel{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;box-shadow:none;min-width:0}.so-card.is-interactive{cursor:pointer;transition:background .12s ease,border-color .12s ease}.so-card.is-interactive:hover{background:#f3f2ee;background:var(--so-surface-2);border-color:#c9c5bc;border-color:var(--so-border-strong)}.so-panel{overflow:hidden}.so-panel-header{align-items:center;background:#f3f2ee;background:var(--so-surface-2);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;gap:14px;justify-content:space-between;min-height:48px;padding:9px 14px}.so-panel-header-copy{min-width:0}.so-panel-title{color:#1a1916;color:var(--so-text);font-size:13px;font-weight:650}.so-panel-subtitle,.so-panel-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-panel-subtitle{color:#5a5851;color:var(--so-text-mute);font-size:11px;margin-top:1px}.so-panel-actions{display:flex;flex-wrap:wrap;gap:6px}.so-panel-body{min-width:0}.so-kpi{border-radius:0}.so-kpi+.so-kpi{border-left:0}.so-metric-strip{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;display:grid;min-width:0;overflow:hidden}.so-metric-strip-item{border-right:1px solid #e2e0db;border-right:1px solid var(--so-border);min-width:0;padding:11px 13px}.so-metric-strip-item:last-child{border-right:0}.so-metric-strip-item.is-success{box-shadow:inset 0 2px 0 #2e7d32;box-shadow:inset 0 2px 0 var(--so-success)}.so-metric-strip-item.is-warning{box-shadow:inset 0 2px 0 #b9601a;box-shadow:inset 0 2px 0 var(--so-warning)}.so-metric-strip-item.is-danger{box-shadow:inset 0 2px 0 #b3261e;box-shadow:inset 0 2px 0 var(--so-danger)}.so-metric-strip-label{color:#5a5851;color:var(--so-text-mute);font-size:10.5px;font-weight:650;text-transform:uppercase}.so-metric-strip-label,.so-metric-strip-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-metric-strip-value{font-feature-settings:"tnum";color:#1a1916;color:var(--so-text);font-size:17px;font-variant-numeric:tabular-nums;font-weight:720;margin-top:3px}.so-metric-strip-hint{color:#8a8780;color:var(--so-text-soft);font-size:10.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-empty-state{display:flex;flex-direction:column;min-height:230px;padding:32px;text-align:center}.so-empty-state,.so-empty-state-icon{align-items:center;color:#5a5851;color:var(--so-text-mute);justify-content:center}.so-empty-state-icon{background:#f3f2ee;background:var(--so-surface-2);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;display:inline-flex;height:42px;margin-bottom:10px;width:42px}.so-empty-state strong{color:#1a1916;color:var(--so-text);font-size:14px}.so-empty-state p{font-size:12px;margin:4px 0 0;max-width:420px}.so-empty-state-action{margin-top:14px}.so-calculation-workspace{overflow:visible}.so-calculation-command-bar,.so-calculation-working-head{align-items:center;background:#fdfdfc;background:var(--so-surface);border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 16px}.so-calculation-command-bar p,.so-calculation-start p{color:#5a5851;color:var(--so-text-mute);line-height:1.5;margin:5px 0 0}.so-calculation-name{grid-gap:5px;display:grid;flex:1 1 280px;gap:5px;min-width:0}.so-calculation-name>span,.so-calculation-save>span{color:#5a5851;color:var(--so-text-mute);font-size:12px}.so-calculation-name input{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;border-radius:var(--so-r-sm);color:#1a1916;color:var(--so-text);font:inherit;font-weight:700;min-width:0;padding:9px 10px;width:100%}.so-calculation-save,.so-calculation-start-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.so-calculation-save-notice{color:#5a5851;color:var(--so-text-mute);flex-basis:100%;font-size:13px}.so-calculation-save-notice[role=alert]{color:#93201a;color:var(--so-danger-text);font-weight:700}.so-calc-button{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;border-radius:var(--so-r-sm);color:#1a1916;color:var(--so-text);cursor:pointer;font:inherit;font-weight:700;min-height:40px;padding:9px 14px}.so-calc-button.is-primary{background:#0d1c2a;background:var(--so-brand-700);border-color:#0d1c2a;border-color:var(--so-brand-700);color:#fff}.so-calc-button:disabled{cursor:not-allowed;opacity:.6}.so-calc-button:focus-visible,.so-calculation-name input:focus-visible{outline:3px solid #1e3a52;outline:3px solid var(--so-brand-500);outline-offset:3px}.so-calculation-start{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);padding:20px 16px}.so-calculation-start h2{font-size:20px;margin:0}.so-calculation-start-actions{margin:18px 0 10px}.so-calculation-start .so-calculation-format-hint{font-size:12px;margin-bottom:12px}.so-calculation-start a{color:#0d1c2a;color:var(--so-brand-700);font-size:13px}.so-calc-disclosure-label{align-items:center;display:inline-flex;gap:7px}.so-calculation-workspace details[open]>summary .so-calc-disclosure-label svg{transform:rotate(180deg)}.so-calculation-workspace>.so-workspace-tabs{margin:0}.so-calculation-basis-strip{margin:0}.so-calculation-archive,.so-calculation-basis-strip{border:0!important;border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-radius:0!important}.so-calculation-archive{margin:0!important}.so-calculation-archive-head{background:#f3f2ee!important;background:var(--so-surface-2)!important}.so-calculation-list{grid-gap:0!important;border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;display:grid;gap:0!important;overflow:hidden}.so-calculation-list-row{background:#fdfdfc!important;background:var(--so-surface)!important;border:0!important;border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-radius:0!important;min-height:58px}.so-calculation-list-row:last-child{border-bottom:0!important}.so-calculation-list-row.is-selected,.so-calculation-list-row:hover{background:#f3f2ee!important;background:var(--so-surface-2)!important}.so-calculation-list-row.is-selected{box-shadow:inset 3px 0 0 #1e3a52;box-shadow:inset 3px 0 0 var(--so-brand-500)}.so-calculation-list-row .so-calculation-status{border-radius:3px!important;font-size:10.5px!important;font-weight:650!important;padding:2px 6px!important}.so-calculation-row-menu{justify-self:end;position:relative}.so-calculation-row-menu>button{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#8a8780;color:var(--so-text-soft);cursor:pointer;display:flex;height:30px;justify-content:center;padding:0;width:30px}.so-calculation-row-menu>button:focus-visible,.so-calculation-row-menu>button:hover,.so-calculation-row-menu>button[aria-expanded=true]{background:#fdfdfc;background:var(--so-surface);border-color:#e2e0db;border-color:var(--so-border);color:var(--so-text-strong);outline:none}.so-calculation-row-menu-popover{background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:6px;box-shadow:var(--so-shadow-lg);max-height:calc(100vh - 24px);max-width:calc(100vw - 24px);overflow-y:auto;padding:4px;position:fixed;width:180px;z-index:1000}.so-calculation-row-menu-popover button{background:#0000;border:0;border-radius:4px;color:#6e1812;color:var(--so-danger-strong);cursor:pointer;font:inherit;font-size:12px;font-weight:700;padding:8px 10px;text-align:left;width:100%}.so-calculation-row-menu-popover button:focus-visible,.so-calculation-row-menu-popover button:hover:not(:disabled){background:#f5e6e4;background:var(--so-danger-bg)}.so-calculation-row-menu-popover button:disabled{color:#5a5851;color:var(--so-text-mute);cursor:not-allowed}.so-calculation-document{border:0!important;margin:0!important;padding:0!important}.so-calculation-document>[data-kalk-tab]{border:0!important;border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-radius:0!important;margin:0!important}.so-lv-workspace .so-workspace-header{min-height:70px}.so-lv-command{border:0!important;border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-left:0!important;border-radius:0!important;margin:0!important;padding:14px 18px!important}.so-lv-command-header{align-items:center;display:flex;gap:9px;margin-bottom:9px}.so-lv-command-header-icon{align-items:center;background:#f3f2ee;background:var(--so-surface-2);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:5px;color:#1e3a52;color:var(--so-brand-500);display:inline-flex;height:30px;justify-content:center;width:30px}.so-lv-command-header h2{font-size:14px;margin:0}.so-lv-command-header p{color:#5a5851;color:var(--so-text-mute);font-size:11.5px;margin:1px 0 0}.so-lv-example-row{align-items:center;display:flex;gap:4px;margin-top:7px;overflow-x:auto}.so-lv-example-row button{background:#0000;border-color:#0000;color:#5a5851;color:var(--so-text-mute);flex:0 1 260px;font-size:10.5px;min-height:27px;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.so-lv-example-row button:hover:not(:disabled){border-color:#e2e0db;border-color:var(--so-border)}.so-lv-upload{align-items:center;background:#fdfdfc;background:var(--so-surface);border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:5px;color:#5a5851;color:var(--so-text-mute);display:inline-flex;font-size:12px;gap:6px;min-height:32px;padding:0 10px}.so-lv-editor-grid{align-items:stretch;display:grid;grid-template-columns:minmax(230px,286px) minmax(0,1fr);min-height:480px}.so-lv-editor-grid>.so-panel,.so-lv-editor-grid>div>.so-panel{border:0;border-radius:0;height:100%}.so-lv-editor-grid>.so-panel{border-right:1px solid #e2e0db;border-right:1px solid var(--so-border)}.so-lv-run-list{grid-gap:0!important;display:grid;gap:0!important;margin:-20px}.so-lv-run-list>button{background:#fdfdfc!important;background:var(--so-surface)!important;border:0!important;border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-radius:0!important;min-height:62px!important;padding:10px 14px!important}.so-lv-run-list>button.is-selected,.so-lv-run-list>button:hover{background:#f3f2ee!important;background:var(--so-surface-2)!important}.so-lv-run-list>button.is-selected{box-shadow:inset 3px 0 0 #1e3a52;box-shadow:inset 3px 0 0 var(--so-brand-500)}.so-lv-position-table-wrap{overflow-x:auto;width:100%}.so-project-workspace{grid-gap:0!important;display:grid;gap:0!important}.so-project-context-strip{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);margin:0!important;min-height:38px;padding:0 16px!important}.so-project-workspace>.so-workspace-tabs{padding-left:8px}.so-project-overview-section{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);border-radius:0!important;box-shadow:none!important;margin:0!important;padding:16px 18px!important}.so-project-overview-section+.so-project-overview-section{margin-top:0!important}.so-project-schedule{border:0!important;border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-radius:0!important;margin:0 0 14px!important;padding:0 0 14px!important}.so-project-metric-label{align-items:center;display:flex;gap:6px}.so-project-timeline-event{background:#fdfdfc!important;background:var(--so-surface)!important;border-radius:0!important;border-width:0 0 1px!important}.so-project-timeline-marker{background:#8a8780;background:var(--so-text-soft);border-radius:50%;flex:0 0 auto;height:8px;width:8px}.so-project-timeline-marker.is-warning{background:#b9601a;background:var(--so-warning)}.so-project-timeline-marker.is-revision{background:#1e3a52;background:var(--so-info)}.so-project-timeline-marker.is-photo{background:#2e7d32;background:var(--so-success)}.so-settings-workspace{overflow:visible}.so-settings-layout{grid-gap:0!important;align-items:start;display:grid!important;gap:0!important;grid-template-columns:220px minmax(0,1fr);margin-top:0!important}.so-settings-nav{border-right:1px solid #e2e0db;border-right:1px solid var(--so-border);padding:14px 10px;top:12px!important;width:auto!important}.so-settings-content{min-width:0;padding:0 20px 24px}.so-settings-content>section{border-top:0!important;margin-top:0!important;padding-top:18px!important}.so-lv-matching-body{min-width:0}.so-lv-matching-summary{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);padding:12px 16px}.so-lv-matching-summary .so-lv-matching-notice{background:#e9eef3;background:var(--so-info-bg);border-left:3px solid #1e3a52;border-left:3px solid var(--so-info);color:#1e3a52;color:var(--so-brand-500);font-size:12px;font-weight:650;margin-top:10px;padding:8px 10px}.so-lv-matching-summary .so-lv-matching-notice.is-error{background:#f5e6e4;background:var(--so-danger-bg);border-left-color:#b3261e;border-left-color:var(--so-danger);color:#93201a;color:var(--so-danger-text)}.so-lv-matching-grid{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);min-height:520px}.so-lv-matching-grid>div{border:0!important}.so-lv-matching-grid>div:first-child{border-right:1px solid #e2e0db!important;border-right:1px solid var(--so-border)!important}.so-lv-matching-grid>div>div:last-child>button{background:#fdfdfc!important;background:var(--so-surface)!important}.so-lv-matching-grid>div>div:last-child>button:hover{background:#f3f2ee!important;background:var(--so-surface-2)!important}.so-fleet-body,.so-inventory-body,.so-time-body{grid-gap:0;display:grid;gap:0;min-width:0}.so-fleet-body>.so-metric-strip,.so-inventory-body>.so-metric-strip{margin:12px 16px}.so-fleet-body>.so-panel,.so-inventory-body>.so-panel,.so-time-body>.so-panel{border-radius:0!important;border-width:0 0 1px!important}.so-fleet-body>.so-metric-strip+div,.so-fleet-body>[role=alert],.so-inventory-body>.so-metric-strip+div,.so-inventory-body>[role=alert],.so-time-body>div[style*=border-radius]{margin:0 16px 12px}.so-fleet-workspace .so-workspace-header-actions>button,.so-inventory-workspace .so-workspace-header-actions>button:first-child{background:#1e3a52;background:var(--so-brand-500);border-color:#1e3a52;border-color:var(--so-brand-500);color:#fdfdfc;color:var(--so-surface)}.so-time-body{padding-top:0}.so-time-body>.so-panel:first-of-type{border-top:0!important}.so-time-sickness-title{align-items:center;color:#93201a;color:var(--so-danger-text);display:flex;font-size:14px;gap:7px;margin:0 0 8px}@media (max-width:1100px){.so-workspace-header{align-items:stretch;flex-direction:column;gap:10px}.so-workspace-header-actions{justify-content:flex-start}.so-lv-editor-grid{grid-template-columns:240px minmax(0,1fr)}.so-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.so-metric-strip-item:nth-child(2n){border-right:0}.so-metric-strip-item:nth-child(n+3){border-top:1px solid #e2e0db;border-top:1px solid var(--so-border)}}@media (max-width:780px){.so-workspace-page{border-left:0;border-radius:0;border-right:0}.so-workspace-header{min-height:auto;padding:14px}.so-workspace-title-row{align-items:flex-start;flex-direction:column}.so-workspace-tabs{padding:0 4px}.so-workspace-section-body,.so-workspace-section-header{padding-left:14px;padding-right:14px}.so-lv-editor-grid,.so-lv-matching-grid,.so-settings-layout{grid-template-columns:1fr!important}.so-lv-matching-grid>div:first-child{border-bottom:1px solid #e2e0db!important;border-bottom:1px solid var(--so-border)!important;border-right:0!important}.so-lv-editor-grid>.so-panel{max-height:260px;overflow-y:auto}.so-lv-editor-grid>.so-panel,.so-settings-nav{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);border-right:0}.so-settings-nav{overflow-x:auto;padding:10px;position:static!important}.so-settings-content{padding:0 14px 20px}.so-metric-strip{grid-template-columns:1fr!important}.so-metric-strip-item,.so-metric-strip-item:nth-child(2n){border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);border-right:0}.so-metric-strip-item:last-child{border-bottom:0}.so-calculation-list-row{grid-template-columns:minmax(0,1fr) auto!important}.so-calculation-list-row>:nth-child(2),.so-calculation-list-row>:nth-child(3){display:none}}label{min-width:0}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{max-width:100%;min-width:0}.so-erp-workspace input:disabled,.so-erp-workspace select:disabled,.so-erp-workspace textarea:disabled{background:#f3f2ee;background:var(--so-surface-2);color:#5a5851;color:var(--so-text-mute);opacity:1}.so-form-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.so-form-grid>*{min-width:0}.so-form-grid input:not([type=checkbox]):not([type=radio]),.so-form-grid select,.so-form-grid textarea{width:100%}.so-field-wide{grid-column:1/-1}.so-manual-position-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:100px minmax(220px,1fr) repeat(2,90px) repeat(2,115px) 120px}.so-manual-position-grid>*{min-width:0}.so-manual-position-grid input,.so-manual-position-grid select{width:100%}.so-calc-basis-grid{grid-gap:12px 20px;display:grid;gap:12px 20px;grid-template-columns:repeat(3,minmax(0,1fr))}.so-calc-basis-grid label>div>span{min-width:42px;white-space:nowrap}.so-calculation-list-row{grid-template-columns:minmax(220px,1fr) 130px 145px 210px 42px!important}.so-calculation-list-row>*{min-width:0}.so-calculation-list-row strong{overflow-wrap:anywhere}.so-recent-row{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(120px,1fr) 110px 16px}.so-recent-row>*{min-width:0}.so-project-workspace{align-content:start}.so-project-context-strip,.so-project-workspace>.so-workspace-tabs{align-self:start}.so-project-workspace>.so-workspace-tabs{min-height:44px}.so-defect-editor{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}.so-defect-editor input,.so-defect-editor select,.so-defect-editor textarea{width:100%}.so-defect-editor>:last-child,.so-defect-editor>:nth-child(-n+2){grid-column:1/-1}.so-defect-meta{grid-gap:14px;align-items:start;color:#5a5851;color:var(--so-text-mute);display:grid;font-size:13px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.so-defect-meta>div{min-width:0}.so-defect-history{grid-column:1/-1}.so-planning-table{min-width:760px;table-layout:auto;width:100%}.so-planning-table td,.so-planning-table th{vertical-align:middle}.so-planning-table th{white-space:nowrap}.so-radio-options{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px 16px}.so-radio-options label{align-items:flex-start;display:inline-flex;gap:6px;margin:0!important}.so-radio-options input{flex:0 0 auto;margin-top:3px}.so-master-detail{align-items:start;display:grid;grid-template-columns:var(--so-master-sidebar) var(--so-master-list) minmax(0,1fr)}.so-master-detail>*{min-width:0}.so-master-detail.is-editing{grid-template-columns:var(--so-master-sidebar) minmax(0,1fr)}.so-master-detail.is-editing>:nth-child(2){display:none!important}.so-import-option{align-items:stretch;display:flex;flex-direction:column;justify-content:flex-start;text-align:left}@media (max-width:1300px){.so-manual-position-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.so-manual-position-grid>:nth-child(2){grid-column:span 2}.so-calculation-list-row{grid-template-columns:minmax(180px,1fr) 110px 120px 180px 36px!important}.so-master-detail{grid-template-columns:150px 260px minmax(0,1fr)}}@media (max-width:1000px){.so-calculation-list-row{grid-template-columns:minmax(160px,1fr) 170px 36px!important}.so-calculation-list-row>.so-calculation-status{display:none}.so-master-detail{grid-template-columns:230px minmax(0,1fr)}.so-master-detail>:first-child{grid-column:1/-1;max-height:160px}.so-master-detail.is-editing{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.so-calc-basis-grid,.so-defect-editor,.so-defect-meta,.so-manual-position-grid{grid-template-columns:minmax(0,1fr)}.so-manual-position-grid>:nth-child(2){grid-column:auto}.so-recent-row{grid-template-columns:minmax(0,1fr) auto}.so-recent-row>:nth-child(2){grid-column:1;grid-row:2}.so-recent-row>:last-child{display:none}.so-master-detail{grid-template-columns:minmax(0,1fr)}.so-master-detail>:nth-child(2){max-height:280px}}.so-calc-basis-grid>label{align-self:end}.so-defect-editor>label{align-content:start;display:grid}.so-master-detail.is-editing>:last-child{min-height:70vh}.so-master-detail.is-editing>:last-child>*{width:100%}.so-planning-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:800px){.so-settings-layout{grid-template-columns:minmax(0,1fr)}.so-settings-nav{border-right:0;position:static!important}.so-settings-content{padding:0 12px 18px}}.so-workspace-tabs.is-sticky{box-shadow:0 -12px 0 #fdfdfc;box-shadow:0 -12px 0 var(--so-surface)}.so-panel-subtitle,.so-panel-title{overflow-wrap:anywhere;white-space:normal}.so-panel-header{align-items:flex-start;flex-wrap:wrap}.so-panel-header-copy{flex:1 1 200px}.so-defect-card{border:1px solid #e2e0db;border:1px solid var(--so-border);border-radius:10px;padding:16px!important}.so-six-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr))}.so-project-report-metrics{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr))}.so-project-report-metrics>div{border-bottom:1px solid #e2e0db;border-bottom:1px solid var(--so-border);min-width:0}@media (max-width:1300px){.so-six-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.so-project-report-metrics,.so-six-stats{grid-template-columns:minmax(0,1fr)}}body.native-app .so-erp-workspace{overflow-x:hidden}body.native-app .so-project-workspace,body.native-app .so-workspace-page{grid-template-columns:minmax(0,1fr);max-width:100%;min-width:0}body.native-app [style*=grid-template-columns]>*,body.native-app [style*=gridTemplateColumns]>*{min-width:0}body.native-app canvas,body.native-app img,body.native-app video{max-width:100%}body.native-app table{display:block;max-width:100%;overflow-x:auto}body.native-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),body.native-app select,body.native-app textarea{font-size:16px!important;min-height:44px}body.native-app textarea{min-height:88px}body.native-app{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}html:has(body.native-app){overscroll-behavior:none}:root{--m-accent:var(--so-brand-500);--m-accent-ink:#fff;--m-accent-text:var(--so-brand-500);--m-accent-soft:var(--so-brand-50,#eef3f8);--m-danger:var(--so-danger);--m-success:var(--so-success)}[data-theme=dark]{--m-accent:#33698f;--m-accent-text:#9bbcd6;--m-accent-soft:#5a8db038;--m-danger:#b6463d;--m-success:#347a3c}.m-shell{-webkit-tap-highlight-color:transparent;background:var(--so-bg);color:var(--so-text);display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;font-family:var(--so-font-sans,"Inter",system-ui,sans-serif);inset:0;position:fixed}.m-header{background:var(--so-surface);border-bottom:1px solid var(--so-border);flex-shrink:0;gap:8px;min-height:56px;padding:calc(env(safe-area-inset-top, 0px) + 6px) 8px 6px}.m-header,.m-header__side{align-items:center;display:flex}.m-header__side{gap:4px;min-width:48px}.m-header__side--end{justify-content:flex-end}.m-header__title{flex:1 1;min-width:0;text-align:center}.m-header__title strong{font-size:18px;font-weight:750;line-height:1.2}.m-header__title span,.m-header__title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-header__title span{color:var(--so-text-mute);font-size:14px}.m-icon-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:12px;color:var(--so-text);cursor:pointer;display:inline-flex;font-size:24px;height:48px;justify-content:center;padding:0;position:relative;text-decoration:none;width:48px}.m-icon-btn:active{background:var(--so-surface-2)}.m-dot-badge{background:var(--so-danger);background:var(--m-danger);border-radius:999px;color:#fff;font-size:12px;font-weight:800;height:20px;line-height:20px;min-width:20px;padding:0 5px;position:absolute;right:4px;text-align:center;top:6px}.m-sync{align-items:center;-webkit-appearance:none;appearance:none;border:none;border-radius:14px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:800;gap:4px;height:44px;justify-content:center;min-width:48px;padding:0 8px;position:relative}.m-sync__count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.m-sync--ok{background:#0000;color:var(--so-success-text)}.m-sync--wait{background:var(--so-warning-bg);color:var(--so-warning-text)}.m-sync--problem{background:var(--so-danger-bg);color:var(--so-danger-text)}.m-main{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:16px 16px calc(96px + env(safe-area-inset-bottom, 0px))}.m-screen{grid-gap:16px;display:grid;font-size:16px;gap:16px;grid-template-columns:minmax(0,1fr);line-height:1.45;margin:0 auto;max-width:640px}.m-screen h1{font-size:26px;font-weight:800;line-height:1.2;margin:0}.m-screen h2{font-size:20px;font-weight:750;line-height:1.25;margin:0}.m-muted{color:var(--so-text-mute)}.m-small{font-size:14px}.m-tabbar{background:var(--so-surface);border-top:1px solid var(--so-border);bottom:0;box-shadow:0 -4px 16px #1a19160f;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;left:0;padding:4px 4px calc(env(safe-area-inset-bottom, 0px) + 4px);position:fixed;right:0;z-index:50}.m-tab{align-items:center;border-radius:12px;color:var(--so-text-mute);display:flex;flex-direction:column;font-size:14px;font-weight:700;gap:2px;justify-content:center;min-height:60px;text-decoration:none;-webkit-user-select:none;user-select:none}.m-tab__icon{font-size:24px;line-height:1}.m-tab--active{background:#eef3f8;background:var(--m-accent-soft);color:var(--so-brand-500);color:var(--m-accent-text)}.m-card{grid-gap:10px;background:var(--so-surface);border:1px solid var(--so-border);border-radius:16px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr);padding:16px}.m-card--accent{background:var(--so-brand-500);background:var(--m-accent);border-color:var(--m-accent);color:#fff}.m-card--accent .m-muted{color:#fffc}.m-section-title{align-items:baseline;display:flex;font-size:18px;font-weight:750;gap:12px;justify-content:space-between;margin:4px 2px -6px}.m-section-title a,.m-section-title button{background:none;border:none;color:var(--so-brand-500);cursor:pointer;font-size:15px;font-weight:700;padding:8px 0;text-decoration:none}.m-list{background:var(--so-surface);border:1px solid var(--so-border);border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.m-row{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--so-border);color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;min-height:64px;padding:12px 16px;text-align:left;text-decoration:none;width:100%}.m-row:last-child{border-bottom:none}.m-row:active{background:var(--so-surface-2)}.m-row__icon{align-items:center;background:#eef3f8;background:var(--m-accent-soft);border-radius:12px;color:var(--so-brand-500);color:var(--m-accent-text);display:flex;flex-shrink:0;font-size:22px;height:40px;justify-content:center;width:40px}.m-row__body{flex:1 1;min-width:0}.m-row__title{font-size:17px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.m-row__meta{color:var(--so-text-mute);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.m-row__end{color:var(--so-text-soft);flex-shrink:0;font-size:22px}.m-btn{align-items:center;-webkit-appearance:none;appearance:none;border:1px solid #0000;border-radius:14px;cursor:pointer;display:inline-flex;font:inherit;font-size:17px;font-weight:750;gap:10px;justify-content:center;line-height:1.2;min-height:56px;padding:12px 18px;text-align:center;text-decoration:none;width:100%}.m-btn:disabled{cursor:default;opacity:.55}.m-btn--primary{background:var(--so-brand-500);background:var(--m-accent);color:#fff}.m-btn--secondary{background:var(--so-surface);border-color:var(--so-border-strong);color:var(--so-text)}.m-btn--danger{background:var(--so-danger);background:var(--m-danger);color:#fff}.m-btn--success{background:var(--so-success);background:var(--m-success);color:#fff}.m-btn--ghost{background:#0000;color:var(--so-brand-500);color:var(--m-accent-text);min-height:48px}.m-btn--xl{border-radius:18px;font-size:20px;min-height:76px}.m-btn__icon{display:inline-flex;font-size:24px;line-height:1}.m-btn-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.m-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.m-tile{grid-gap:6px;align-content:start;background:var(--so-surface);border:1px solid var(--so-border);border-radius:18px;color:var(--so-text);cursor:pointer;display:grid;font:inherit;gap:6px;min-height:116px;padding:16px;text-align:left;text-decoration:none}.m-tile:active{background:var(--so-surface-2)}.m-tile__icon{align-items:center;background:#eef3f8;background:var(--m-accent-soft);border-radius:12px;color:var(--so-brand-500);color:var(--m-accent-text);display:flex;font-size:26px;height:44px;justify-content:center;line-height:1;width:44px}.m-tile__title{font-size:18px;font-weight:800;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;overflow-wrap:anywhere}.m-tile__meta{color:var(--so-text-mute);font-size:14px;line-height:1.3}@media (max-width:340px){.m-btn-row,.m-tiles{grid-template-columns:minmax(0,1fr)}}.m-chips{display:flex;flex-wrap:wrap;gap:8px}.m-chip{align-items:center;-webkit-appearance:none;appearance:none;background:var(--so-surface);border:1px solid var(--so-border-strong);border-radius:999px;color:var(--so-text);cursor:pointer;display:inline-flex;font:inherit;font-size:15px;font-weight:650;gap:6px;min-height:40px;padding:0 14px}.m-chip--active{background:var(--so-brand-500);background:var(--m-accent);border-color:var(--m-accent);color:#fff}.m-seg{grid-gap:4px;background:var(--so-surface-2);border-radius:14px;display:grid;gap:4px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:4px}.m-seg button{-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:10px;color:var(--so-text-mute);cursor:pointer;font:inherit;font-size:15px;font-weight:750;min-height:48px;padding:0 6px}.m-seg button[aria-pressed=true]{background:var(--so-surface);box-shadow:0 1px 3px #1a19161f;color:var(--so-text)}.m-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:14px;font-weight:750;gap:6px;padding:3px 10px;white-space:nowrap}.m-pill--ok{background:var(--so-success-bg);color:var(--so-success-text)}.m-pill--warn{background:var(--so-warning-bg);color:var(--so-warning-text)}.m-pill--danger{background:var(--so-danger-bg);color:var(--so-danger-text)}.m-pill--info{background:var(--so-info-bg);color:var(--so-info-text)}.m-field{grid-gap:6px;color:var(--so-text);display:grid;font-size:15px;font-weight:700;gap:6px}.m-field__hint{color:var(--so-text-mute);font-size:14px;font-weight:400}.m-field input,.m-field select,.m-field textarea,.m-input{background:var(--so-surface);border:1px solid var(--so-border-strong);border-radius:12px;box-sizing:border-box;color:var(--so-text);font:inherit;font-size:17px!important;font-weight:450;min-height:52px;padding:12px 14px;width:100%}.m-field textarea{min-height:110px;resize:vertical}.m-field input:focus,.m-field select:focus,.m-field textarea:focus,.m-input:focus{border-color:var(--so-brand-500);outline:3px solid #1e3a5240;outline:3px solid var(--so-brand-100,#1e3a5240)}.m-photos{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.m-photo{aspect-ratio:1/1;background:var(--so-surface-2);border-radius:12px;overflow:hidden;position:relative}.m-photo img{display:block;height:100%;object-fit:cover;width:100%}.m-note{background:var(--so-surface-2);border:1px solid var(--so-border);border-radius:14px;font-size:15px;line-height:1.4;padding:12px 14px}.m-note--warn{background:var(--so-warning-bg);border-color:var(--so-warning-border);color:var(--so-warning-text)}.m-note--danger{background:var(--so-danger-bg);border-color:var(--so-danger-border);color:var(--so-danger-text)}.m-note--ok{background:var(--so-success-bg);border-color:var(--so-success-border);color:var(--so-success-text)}.m-empty{grid-gap:8px;color:var(--so-text-mute);display:grid;gap:8px;justify-items:center;padding:28px 16px;text-align:center}.m-empty__icon{color:var(--so-text-soft);font-size:40px}.m-toast{align-items:center;background:var(--so-text);border-radius:14px;box-shadow:0 8px 24px #00000040;color:var(--so-surface);display:flex;font-size:16px;font-weight:650;gap:10px;left:16px;padding:14px 16px;position:fixed;right:16px;top:calc(env(safe-area-inset-top, 0px) + 64px);z-index:100}.m-toast--error{background:var(--so-danger);background:var(--m-danger);color:#fff}.m-sheet-backdrop{align-items:flex-end;background:#00000073;display:flex;inset:0;position:fixed;z-index:90}.m-sheet{grid-gap:12px;background:var(--so-surface);border-radius:20px 20px 0 0;display:grid;gap:12px;max-height:85vh;overflow-y:auto;padding:20px 16px calc(env(safe-area-inset-bottom, 0px) + 16px);width:100%}.m-sheet h2{font-size:20px;margin:0}.m-sheet p{color:var(--so-text-mute);font-size:16px;margin:0}.m-file-input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.m-btn--primary:hover:not(:disabled){background:var(--so-brand-500);background:var(--m-accent)}.m-btn--secondary:hover:not(:disabled){background:var(--so-surface)}.m-btn--danger:hover:not(:disabled){background:var(--so-danger);background:var(--m-danger)}.m-btn--success:hover:not(:disabled){background:var(--so-success);background:var(--m-success)}.m-btn--ghost:hover:not(:disabled){background:#0000}.m-chip:hover:not(:disabled){background:var(--so-surface)}.m-chip--active:hover:not(:disabled){background:var(--so-brand-500);background:var(--m-accent)}.m-seg button:hover:not(:disabled){background:#0000}.m-seg button[aria-pressed=true]:hover:not(:disabled){background:var(--so-surface)}.m-row:hover:not(:disabled){background:#0000}.m-tile:hover:not(:disabled){background:var(--so-surface)}.m-icon-btn:hover:not(:disabled){background:#0000}.m-btn:active:not(:disabled){filter:brightness(.92)}.m-chip:not(.m-chip--active):active:not(:disabled),.m-icon-btn:active:not(:disabled),.m-row:active:not(:disabled),.m-tile:active:not(:disabled){background:var(--so-surface-2)}.m-sync--ok:hover:not(:disabled){background:#0000}.m-sync--wait:hover:not(:disabled){background:var(--so-warning-bg)}.m-sync--problem:hover:not(:disabled){background:var(--so-danger-bg)}@media (max-width:340px){.m-tab{font-size:13px}}.m-header{padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.m-tabbar{padding-left:max(4px,env(safe-area-inset-left,0px));padding-right:max(4px,env(safe-area-inset-right,0px))}.m-main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}@media (orientation:landscape) and (max-height:520px){.m-tab{flex-direction:row;gap:6px;min-height:48px}.m-tab__icon{font-size:20px}}.m-tile.m-tile--compact{align-items:center;border-radius:16px;display:flex;gap:12px;min-height:64px;padding:10px 12px}.m-tile--compact .m-tile__icon{flex-shrink:0;height:40px;width:40px}.m-tile--compact .m-tile__title{font-size:16px;hyphens:manual;-webkit-hyphens:manual;line-height:1.2;overflow-wrap:break-word}