@samkwang/ui-kit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +167 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +391 -0
- package/dist/index.d.ts +391 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/tailwind-preset.cjs +3 -0
- package/dist/tailwind-preset.cjs.map +1 -0
- package/dist/tailwind-preset.d.cts +13 -0
- package/dist/tailwind-preset.d.ts +13 -0
- package/dist/tailwind-preset.js +3 -0
- package/dist/tailwind-preset.js.map +1 -0
- package/package.json +103 -0
package/dist/index.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
:root{--font-sans: "Pretendard", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius: 0px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.75rem;--text-3xl: 2rem;--color-brand: #0530A1;--color-brand-hover: #042485;--color-brand-active: #031B69;--color-accent: #950D0F;--color-accent-hover: #7A0A0C;--dashboard-chart-1: var(--color-brand);--dashboard-chart-2: var(--color-success);--dashboard-chart-3: var(--change-flow-approve);--dashboard-chart-4: var(--bom-accent);--dashboard-chart-5: var(--change-flow-ecn);--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-dropdown: 0 10px 25px rgba(0,0,0,.12);--shadow-modal: 0 25px 50px -12px rgba(0,0,0,.5);--shadow-card: 0 4px 12px rgba(0,0,0,.2);--shadow-card-hover: 0 2px 8px rgba(0,0,0,.2);--shadow-card-strong: 0 4px 16px rgba(0,0,0,.3);--shadow-context: 0 10px 40px rgba(0,0,0,.4);--shadow-focus: 0 0 0 3px rgba(5, 48, 161, .35);--shadow-topbar: 0 10px 25px rgba(0,0,0,.2);--shadow-bom-list: 0 4px 12px rgba(0,0,0,.3);--shadow-login: 0 4px 20px rgba(0,0,0,.3);--app-table-compact-font: .75rem;--app-table-compact-padding-y: .25rem;--app-table-compact-padding-x: .5rem;--color-primary: #0530A1;--color-success: #24a148;--color-error: #da1e28;--color-danger: #950D0F;--color-warning: #f1c21b;--color-info: #0043ce;--color-on-accent: #fff;--overlay-bg: rgba(0,0,0,.6);--color-error-bg: rgba(218,30,40,.12);--app-bg: #ffffff;--app-text: #161616;--app-muted: #525252;--app-border: #e0e0e0;--app-surface: #f4f4f4;--app-surface-02: #ffffff;--app-bg-subtle: #f4f4f4;--app-bg-selected: rgba(141,141,141,.2);--app-text-placeholder: #a8a8a8;--app-text-disabled: rgba(22,22,22,.25);--app-text-on-color: #ffffff;--app-border-strong: #8d8d8d;--app-border-interactive: #0530A1;--app-field: #f4f4f4;--app-focus: #0530A1;--app-hover: rgba(141,141,141,.12);--app-selected: rgba(141,141,141,.2);--nav-bg: #f4f4f4;--nav-text: #525252;--nav-hover-bg: #e0e0e0;--nav-active-bg: #0530A1;--nav-active-text: #ffffff;--nav-group-open-bg: #031B69;--nav-group-open-text: #ffffff;--change-flow-ecn: #7c3aed;--change-flow-approve: #0ea5e9;--bom-bg: #f4f4f4;--bom-surface: #e0e0e0;--bom-border: #c6c6c6;--bom-text: #161616;--bom-text-muted: #525252;--bom-connector: #525252;--bom-accent: #0530A1;--bom-accent-hover: #042485;--bom-card: #e0e0e0;--bom-badge-product: #eab308;--bom-badge-semi: #f97316;--bom-badge-raw: #0ea5e9;--bom-badge-spec: #8b5cf6;--bom-badge-none: #8d8d8d;--tab-inactive-bg: #e0e0e0;--tab-active-bg: #ffffff;--app-nav-bg: var(--nav-bg);--app-nav-text: var(--nav-text);--app-nav-active-bg: var(--nav-active-bg);--app-nav-active-text: var(--nav-active-text);--plm-table-bg: #ffffff;--plm-table-header-bg: #f4f4f4;--plm-table-th-fg: #161616;--plm-table-sort-fg: #0530A1;--plm-table-row-border: #e0e0e0;--plm-table-hover: rgba(141,141,141,.12)}[data-theme=dark]{--color-brand: #4589ff;--color-brand-hover: #6ea6ff;--color-brand-active: #3070e0;--color-accent: #ff8389;--color-accent-hover: #ffb3b8;--shadow-dropdown: 0 10px 25px rgba(0,0,0,.25);--shadow-modal: 0 25px 50px -12px rgba(0,0,0,.6);--shadow-card: 0 4px 12px rgba(0,0,0,.35);--shadow-card-hover: 0 2px 8px rgba(0,0,0,.35);--shadow-card-strong: 0 4px 16px rgba(0,0,0,.45);--shadow-context: 0 10px 40px rgba(0,0,0,.5);--shadow-focus: 0 0 0 2px rgba(255, 255, 255, .5);--shadow-topbar: 0 10px 25px rgba(0,0,0,.35);--shadow-bom-list: 0 4px 12px rgba(0,0,0,.4);--shadow-login: 0 4px 20px rgba(0,0,0,.5);--color-primary: #4589ff;--color-success: #42be65;--color-error: #ff8389;--color-danger: #ff8389;--color-warning: #f1c21b;--color-info: #4589ff;--color-on-accent: #fff;--overlay-bg: rgba(0,0,0,.7);--color-error-bg: rgba(255,131,137,.15);--app-bg: #262626;--app-text: #f4f4f4;--app-muted: #c6c6c6;--app-border: #525252;--app-surface: #393939;--app-surface-02: #525252;--app-bg-subtle: #393939;--app-bg-selected: rgba(141,141,141,.24);--app-text-placeholder: #6f6f6f;--app-text-disabled: rgba(244,244,244,.25);--app-text-on-color: #ffffff;--app-border-strong: #8d8d8d;--app-border-interactive: #4589ff;--app-field: #393939;--app-focus: #ffffff;--app-hover: rgba(141,141,141,.16);--app-selected: rgba(141,141,141,.24);--tab-inactive-bg: #161616;--tab-active-bg: #393939;--plm-table-bg: #262626;--plm-table-header-bg: #393939;--plm-table-th-fg: #f4f4f4;--plm-table-sort-fg: #4589ff;--plm-table-row-border: #525252;--plm-table-hover: rgba(141,141,141,.16);--nav-bg: #262626;--nav-text: #c6c6c6;--nav-hover-bg: #393939;--nav-active-bg: #4589ff;--nav-active-text: #fff;--nav-group-open-bg: #393939;--nav-group-open-text: #f4f4f4;--change-flow-ecn: #a78bfa;--change-flow-approve: #22d3ee;--bom-bg: #262626;--bom-surface: #393939;--bom-border: #525252;--bom-text: #f4f4f4;--bom-text-muted: #c6c6c6;--bom-connector: #c6c6c6;--bom-accent: #4589ff;--bom-accent-hover: #6ea6ff;--bom-card: #393939;--bom-badge-product: #eab308;--bom-badge-semi: #f97316;--bom-badge-raw: #22d3ee;--bom-badge-spec: #a78bfa;--bom-badge-none: #8d8d8d}.app-layout-younglimwon[data-theme=dark] .app-topbar,.app-layout-younglimwon[data-theme=dark] .app-sidebar{background:#262626}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}button,a,[role=button],input,select,textarea,.nav-group-title,.nav-sub-link,.nav-single-link,.app-topbar-search-item,.app-tabbar-tab-label,.app-tabbar-tab-close,.app-tabbar-btn,.app-topbar-menu-toggle,.app-topbar-theme-btn{touch-action:manipulation}.project-modal-overlay,.app-topbar-search-dropdown,.app-topbar-user-dropdown,.app-topbar-notif-dropdown{overscroll-behavior:contain}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--app-bg);color:var(--app-text)}#root{min-height:100vh}.app-layout{display:grid;grid-template-areas:"nav main";grid-template-columns:220px 1fr;min-height:100vh}@media(max-width:768px){.app-layout{grid-template-areas:"main";grid-template-columns:1fr}.app-nav{display:none}}.app-nav{grid-area:nav;background:var(--nav-bg);border-right:1px solid var(--app-border);padding:1rem 0}.app-main{grid-area:main;padding:1rem;width:100%;max-width:none;margin:0;background:var(--app-bg);color:var(--app-text);min-height:100vh}.nav-link{display:block;padding:.65rem 1rem;color:var(--nav-text);text-decoration:none;border-left:3px solid transparent;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:var(--nav-hover-bg);color:var(--nav-text)}.nav-link.active{background:var(--nav-active-bg);color:var(--nav-active-text);border-left-color:var(--color-primary);font-weight:600}.app-layout-younglimwon{display:grid;grid-template-areas:"topbar topbar" "sidebar main";grid-template-columns:280px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.app-layout-younglimwon.sidebar-collapsed{grid-template-columns:0 1fr}.app-layout-younglimwon.sidebar-collapsed .app-sidebar{width:0;min-width:0;overflow:hidden;padding:0;border-right:none;visibility:hidden}.app-topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--nav-bg);border-bottom:1px solid var(--app-border)}.app-topbar-left{display:flex;align-items:center;gap:.75rem}.app-topbar-menu-toggle{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem;min-width:2.25rem;height:2.25rem;padding:0 .5rem;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface);color:var(--app-text);font-size:1.1rem;cursor:pointer;flex-shrink:0}.app-topbar-menu-toggle-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.app-topbar-menu-toggle-label{font-size:.8125rem;font-weight:600;white-space:nowrap;line-height:1}.app-topbar-menu-toggle:hover{background:var(--app-border);color:var(--app-text)}.app-sidebar-expand-tab{position:fixed;left:0;top:40%;transform:translateY(-50%);z-index:9998;margin:0;padding:.65rem .2rem;width:auto;min-height:3rem;border:1px solid var(--app-border);border-left:none;border-radius:0 8px 8px 0;background:var(--nav-bg);color:var(--nav-text, var(--app-text));font-size:.95rem;line-height:1;cursor:pointer;box-shadow:2px 0 8px #00000014}.app-sidebar-expand-tab:hover{filter:brightness(1.05)}.app-sidebar-expand-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-topbar-title{font-weight:700;font-size:1.1rem;color:var(--app-text)}.app-topbar-build-time{font-size:.8rem;color:var(--app-text-muted, #64748b);font-weight:400}.app-topbar-right{display:flex;align-items:center;gap:1rem;color:var(--nav-text);font-size:.9rem;position:relative}.app-topbar-theme-btn{padding:.35rem .5rem;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface);color:var(--app-text);cursor:pointer;font-size:1.1rem;line-height:1}.app-topbar-theme-btn:hover{filter:brightness(.95)}.app-topbar-search-wrap{position:relative}.app-topbar-search-input{width:220px;padding:.4rem .75rem .4rem 2rem;border:1px solid var(--app-border);border-radius:6px;font-size:.9rem;background:var(--app-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat .5rem center}.app-topbar-search-input::placeholder{color:var(--app-muted)}.app-topbar-search-input:focus{outline:none;border-color:var(--color-primary)}.app-topbar-search-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb40}.app-topbar-search-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:260px;max-height:320px;overflow-y:auto;background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;box-shadow:var(--shadow-dropdown);z-index:1000}.app-topbar-search-empty{padding:.75rem 1rem;color:var(--app-muted);font-size:.9rem}.app-topbar-search-list{list-style:none;margin:0;padding:.25rem 0}.app-topbar-search-item{display:block;width:100%;padding:.5rem 1rem;border:none;background:none;text-align:left;font-size:.9rem;color:var(--app-text);cursor:pointer}.app-topbar-search-item:hover{background:var(--app-bg)}.app-topbar-user-wrap{position:relative}.app-topbar-user{background:none;border:none;cursor:pointer;color:inherit;font-size:inherit}.app-topbar-user-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;z-index:1100;background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;box-shadow:var(--shadow-topbar);overflow:hidden}.app-topbar-user-dropdown-header{padding:.5rem .75rem;font-size:.75rem;color:var(--app-muted);border-bottom:1px solid var(--app-border);background:var(--app-bg)}.app-topbar-user-dropdown button{display:block;width:100%;padding:.55rem .75rem;text-align:left;border:none;background:none;color:var(--app-text);font-size:.95rem;cursor:pointer;transition:background .1s}.app-topbar-user-dropdown button:hover{background:var(--app-bg)}.app-topbar-user-dropdown button.active-user{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:500}.app-topbar-user-dropdown-divider{height:1px;background:var(--app-border);margin:.25rem 0}.app-topbar-user-dropdown .logout-btn:hover{background:var(--color-error-bg);color:var(--color-danger)}.app-tabbar{flex-shrink:0;background:var(--app-bg);border-bottom:1px solid var(--app-border);padding:0 .5rem 0 0;min-height:36px;display:flex;align-items:stretch}.app-tabbar-actions{display:flex;align-items:center;gap:.15rem;padding:0 .35rem 0 .5rem;border-right:1px solid var(--app-border);margin-right:.25rem}.app-tabbar-btn{width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.app-tabbar-btn:hover:not(:disabled){background:var(--app-bg-subtle);color:var(--app-text)}.app-tabbar-btn:disabled{opacity:.4;cursor:not-allowed}.app-tabbar-list{display:flex;flex-wrap:wrap;gap:0;align-items:stretch;overflow-x:auto;overflow-y:hidden}.app-tabbar-tab{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem .25rem .75rem;margin:.25rem 0 0 .25rem;background:var(--tab-inactive-bg);color:var(--app-text);border-radius:6px 6px 0 0;border:1px solid var(--app-border);border-bottom:none;font-size:.9rem;max-width:200px;min-width:80px}.app-tabbar-tab.active{background:var(--tab-active-bg);color:var(--app-text);border-color:var(--app-border);border-bottom:1px solid var(--tab-active-bg);margin-bottom:-1px;font-weight:600}.app-tabbar-tab-label{flex:1;min-width:0;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-tabbar-tab-label:hover{text-decoration:underline}.app-tabbar-tab-close{flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;border:none;background:none;color:var(--app-text-muted, #64748b);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px}.app-tabbar-tab-close:hover{color:var(--app-text);background:var(--app-border)}.app-sidebar{grid-area:sidebar;display:flex;flex-direction:column;min-height:0;background:var(--nav-bg);border-right:1px solid var(--nav-hover-bg);overflow:hidden;text-align:left;min-width:0}.app-sidebar-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-sidebar-collapse-btn{flex-shrink:0;width:100%;margin:0;padding:.65rem 1rem;border:none;border-bottom:1px solid var(--nav-hover-bg);border-radius:0;background:var(--nav-bg);color:var(--nav-text);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;transition:background .15s,color .15s}.app-sidebar-collapse-btn:hover{background:var(--nav-hover-bg);color:var(--nav-text)}.app-sidebar-collapse-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.app-sidebar-nav{padding:.5rem 0;text-align:left}.nav-group{margin-bottom:.35rem}.nav-group-title{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:.75rem 1rem;border:none;border-left:3px solid transparent;background:transparent;color:var(--nav-text);font-size:1.05rem;font-weight:600;line-height:1.35;text-align:left;cursor:pointer;transition:background .15s,color .15s}.nav-group-title:hover{background:var(--nav-hover-bg);color:var(--nav-text)}.nav-group-title.open{background:var(--nav-group-open-bg);color:var(--nav-group-open-text);border-left-color:var(--color-primary)}.nav-group-icon{margin-right:.6rem;font-size:1.15rem;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0}.nav-group-icon .nav-svg-icon{width:1.4rem;height:1.4rem}.nav-group-label{flex:1;text-align:left;min-width:0}.nav-group-chevron{font-size:.8rem;color:var(--nav-text);flex-shrink:0}.nav-group-items{padding-left:.5rem;padding-bottom:.4rem}.nav-sub-link{display:block;padding:.5rem 1rem .5rem 1.75rem;color:var(--nav-text);text-decoration:none;font-size:.9375rem;font-weight:400;line-height:1.4;border-left:3px solid transparent;transition:background .15s,color .15s;opacity:.85}.nav-sub-link:hover{background:var(--nav-hover-bg);color:var(--nav-text);opacity:1}.nav-sub-link.active{background:var(--nav-active-bg);color:var(--nav-active-text);border-left-color:var(--color-primary);font-weight:600;opacity:1}.nav-single-link{display:flex;align-items:center;justify-content:flex-start;padding:.75rem 1rem;color:var(--nav-text);text-decoration:none;font-weight:600;font-size:1.05rem;line-height:1.35;border-left:3px solid transparent;transition:background .15s,color .15s;text-align:left}.nav-single-link:hover{background:var(--nav-hover-bg);color:var(--nav-text)}.nav-single-link.active{background:var(--nav-active-bg);color:var(--nav-active-text);border-left-color:var(--color-primary)}.app-layout-younglimwon .app-main{grid-area:main;display:flex;flex-direction:column;width:100%;max-width:none;margin:0;background:var(--app-bg);color:var(--app-text);min-height:0;overflow:hidden}.app-layout-younglimwon .app-main-content{flex:1;padding:1rem .5rem 1rem 0;overflow:auto;min-height:0}.app-layout-younglimwon .app-main-content.main-content-calendar-view{scrollbar-width:none;-ms-overflow-style:none}.app-layout-younglimwon .app-main-content.main-content-calendar-view::-webkit-scrollbar{display:none}.app-layout-younglimwon .app-main-content:has(.mechanism-documents-layout){display:flex;flex-direction:column}.app-layout-younglimwon .app-main-content .mechanism-documents-layout{flex:1;min-height:0}.card.mechanism-documents-layout.mech-doc{margin:var(--space-2);margin-bottom:var(--space-4)}.mechanism-documents-layout.mech-doc{padding:var(--space-6);overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.mech-doc__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0;margin-bottom:var(--space-4)}.mech-doc__title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.4;color:var(--app-text)}.mech-doc__filter.surface-box{padding:.75rem;margin-bottom:0;border-bottom:1px solid var(--app-border);display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;align-items:end;flex-shrink:0}.mech-doc__filter .form-row{margin:0}.mech-doc__date-fieldset{margin:0;padding:0;border:0;min-width:0}.mech-doc__date-fieldset .mech-doc__legend{font-size:.8125rem;color:var(--app-text-muted, var(--app-muted));padding:0;margin:0 0 .25rem}.mech-doc__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mech-doc__filter .form-row label{font-size:.8125rem;color:var(--app-text-muted, var(--app-muted))}.mech-doc__filter select,.mech-doc__filter input[type=text]{width:100%;box-sizing:border-box}.mech-doc__date-range{display:flex;align-items:center;gap:.25rem}.mech-doc__date-range .datepicker-wrapper{flex:1;min-width:0;width:100%}.mech-doc__date-range .datepicker-wrapper .react-datepicker-wrapper{width:100%}.mech-doc__date-range .react-datepicker__input-container input{width:100%;box-sizing:border-box}.mech-doc__date-sep{color:var(--app-text-muted, var(--app-muted));flex-shrink:0}.mech-doc__filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.mech-doc__error{padding:1rem;color:var(--color-error);flex-shrink:0}.mech-doc__error-list{margin-top:.5rem;margin-bottom:0;padding-left:1.25rem;font-size:var(--app-table-compact-font);color:var(--color-error)}.mech-doc__error-list a{color:inherit}.mech-doc__split{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden;gap:0}.mech-doc__list{flex:1;min-width:0;overflow:auto}.mech-doc__state{padding:2rem;text-align:center;color:var(--app-text-muted, var(--app-muted));font-size:var(--app-table-compact-font)}.mech-doc__table{width:100%;border-collapse:collapse;font-size:var(--app-table-compact-font);border:1px solid var(--app-border);box-sizing:border-box}.mech-doc__table thead th:not(:last-child),.mech-doc__table tbody td:not(:last-child){border-right:1px solid var(--app-border)}.mech-doc__table--resizable{table-layout:fixed;width:auto;min-width:100%}.mech-doc__table thead th{text-align:left;padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);border-bottom:1px solid var(--app-border);background:var(--app-bg);font-weight:600;white-space:normal;line-height:1.25;color:var(--app-text)}.mech-doc__th--resizable{position:relative;vertical-align:bottom;padding-right:.625rem}.mech-doc__th-label{display:block;padding-right:.25rem;word-break:break-word}.mech-doc__col-resize{position:absolute;right:0;top:0;bottom:0;width:8px;padding:0;margin:0;border:none;border-radius:0;background:transparent;cursor:col-resize;z-index:2;box-sizing:border-box}.mech-doc__col-resize:hover,.mech-doc__col-resize:focus-visible{background:var(--app-border)}.mech-doc__col-resize:focus{outline:none}.mech-doc__col-resize:focus-visible{outline:2px solid var(--nav-active-bg);outline-offset:-2px}.mech-doc__table--resizable tbody td.mech-doc__td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mech-doc__table--resizable tbody td.mech-doc__td.mech-doc__td--wrap{white-space:normal;word-break:break-word;overflow:visible;text-overflow:clip;vertical-align:top}.mech-doc__table tbody td{padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);border-bottom:1px solid var(--app-border);color:var(--app-text);vertical-align:middle}.mech-doc__table tbody td.mech-doc__state{padding:2rem;text-align:center;vertical-align:middle}.mech-doc__row--group{background:var(--app-border)}.mech-doc__row--group .mech-doc__td--group-label{padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);font-weight:700;border-bottom:1px solid var(--app-border);font-size:var(--app-table-compact-font)}.mech-doc__row--group .mech-doc__td--group-spacer{border-bottom:1px solid var(--app-border)}.mech-doc__row--data{cursor:pointer}.mech-doc__row--data:hover{background:var(--app-border)}.mech-doc__row--data.mech-doc__row--selected{background:var(--nav-active-bg);color:var(--nav-active-text)}.mech-doc__row--data.mech-doc__row--selected:hover{background:var(--nav-active-bg);filter:brightness(.98)}.mech-doc__detail{flex:0 1 32%;min-width:260px;max-width:min(28rem,36vw);overflow:auto;min-height:0;padding:1rem;border-left:1px solid var(--app-border);background:var(--app-surface, var(--app-bg));font-size:var(--app-table-compact-font);color:var(--app-text)}.mech-doc__detail-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--app-border)}.mech-doc__detail-meta{font-size:var(--app-table-compact-font)}.mech-doc__detail-meta--line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.mech-doc__detail-meta strong{font-weight:600}.mech-doc__detail-msg{margin-bottom:.75rem;font-size:var(--app-table-compact-font)}.mech-doc__detail-empty{margin:0;font-size:var(--app-table-compact-font);line-height:1.5;color:var(--app-text-muted, var(--app-muted))}.mech-doc__detail-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;border-bottom:1px solid var(--app-border);padding-bottom:.25rem}.mech-doc__detail-tab{padding:.35rem .65rem;font-size:var(--app-table-compact-font);font-weight:500;color:var(--app-text-muted, var(--app-muted));background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.mech-doc__detail-tab:hover{color:var(--app-text);background:var(--app-surface-hover, rgba(128, 128, 128, .12))}.mech-doc__detail-tab:focus-visible{outline:2px solid var(--app-focus-ring, var(--app-primary));outline-offset:2px}.mech-doc__detail-tab[aria-selected=true]{color:var(--app-text);background:var(--nav-active-bg, var(--app-surface));font-weight:600}.mech-doc__access-filters{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem;font-size:var(--app-table-compact-font)}.mech-doc__access-filters-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}.mech-doc__access-filters-row label{display:flex;flex-direction:column;gap:.25rem;min-width:0}.mech-doc__access-filters-row .text-muted-sm{font-size:.75rem}.mech-doc__access-table-title{margin:.5rem 0 .35rem;font-size:var(--text-sm);font-weight:600;line-height:1.4;color:var(--app-text)}.mech-doc__access-table-wrap{overflow:auto;max-height:min(50vh,24rem);border:1px solid var(--app-border);border-radius:6px}.mech-doc__access-table{width:100%;border-collapse:collapse;font-size:var(--app-table-compact-font)}.mech-doc__access-table th,.mech-doc__access-table td{padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);text-align:left;border-bottom:1px solid var(--app-border)}.mech-doc__access-table th{font-weight:600;color:var(--app-text-muted, var(--app-muted));background:var(--app-surface-elevated, var(--app-bg));position:sticky;top:0;z-index:1}.mech-doc__access-table tbody tr:hover{background:var(--app-surface-hover, rgba(128, 128, 128, .08))}.mech-doc__access-intro{margin:0 0 .5rem;font-size:.8125rem;color:var(--app-text-muted, var(--app-muted));line-height:1.5}.mech-doc__partner-scope{margin-bottom:.75rem}.mech-doc__partner-scope-title{margin:0 0 .35rem;font-size:.8125rem;font-weight:600;color:var(--app-text)}.mech-doc__partner-scope-empty{margin-top:.5rem}.mech-doc__partner-chip-list{list-style:none;padding:0;margin:.35rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem}.mech-doc__partner-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .65rem;font-size:var(--app-table-compact-font);color:var(--app-text);background:var(--app-surface, var(--app-bg));border:1px solid var(--app-border);border-radius:6px;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease}.mech-doc__partner-chip:hover{background:var(--app-surface-hover, rgba(128, 128, 128, .1))}.mech-doc__partner-chip:focus-visible{outline:2px solid var(--app-focus-ring, var(--app-primary));outline-offset:2px}.mech-doc__partner-chip--selected{border-color:var(--app-primary, var(--nav-active-bg));background:var(--nav-active-bg, var(--app-surface));font-weight:600}.mech-doc__partner-chip--allowed:not(.mech-doc__partner-chip--selected){border-color:color-mix(in srgb,var(--app-primary, var(--nav-active-bg)) 45%,var(--app-border))}.mech-doc__partner-chip-hint{font-size:.6875rem;font-weight:400;color:var(--app-text-muted, var(--app-muted))}.mech-doc__access-hint{margin:0 0 .5rem;font-size:.8125rem;color:var(--app-text-muted, var(--app-muted));line-height:1.45}.mech-doc__access-tilde{align-self:center;padding-bottom:.25rem;color:var(--app-text-muted, var(--app-muted))}.mech-doc__access-error{margin:0 0 .5rem;font-size:.875rem}.mech-doc__access-table-empty{text-align:center;color:var(--app-text-muted, var(--app-muted));padding:1rem}.mech-form-attach-paste-zone{border-radius:6px;padding:.15rem .25rem;margin:0 -.25rem;transition:box-shadow .15s ease,background .15s ease}.mech-form-attach-paste-zone:focus{outline:none}.mech-form-attach-paste-zone:focus-visible{outline:2px solid var(--app-focus-ring, var(--app-primary));outline-offset:2px;background:var(--app-surface-hover, rgba(128, 128, 128, .06))}.mech-form-attach-paste-hint{color:var(--app-text-muted, var(--app-muted))}.mech-form-kbd{display:inline-block;padding:.05rem .35rem;margin:0 .1rem;font-size:.7rem;font-family:inherit;line-height:1.3;vertical-align:baseline;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface-elevated, var(--app-bg));color:var(--app-text-muted, var(--app-muted))}.mech-doc__section-title{font-size:var(--text-sm);font-weight:600;line-height:1.4;margin-top:0;margin-bottom:.4rem;color:var(--app-text)}.mech-doc__section-title+.mech-doc__detail-grid,.mech-doc__detail .mech-doc__section-title:not(:first-child){margin-top:.75rem}.mech-doc__detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;margin-bottom:.75rem;font-size:var(--app-table-compact-font)}.mech-doc__detail .project-task-table{width:100%}.mech-doc__detail .project-task-table td{padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);font-size:var(--app-table-compact-font)}.mech-doc__detail .project-task-table td:first-child{width:38%;color:var(--app-text-muted, var(--app-muted))}.mech-doc__detail .mech-doc__cell-pre{white-space:pre-wrap}.mech-doc__attach-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.mech-doc__attach-hint{font-size:.875rem}.mech-doc__attach-empty{margin:0 0 .75rem;font-size:.875rem}.mech-doc__attach-list{list-style:none;padding:0;margin:0 0 .75rem;font-size:.875rem}.mech-doc__attach-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.mech-doc__btn-compact{padding:.2rem .5rem;font-size:.875rem}.mech-doc__file-input-hidden{display:none}.mech-doc-design-test-page{display:flex;flex-direction:column;gap:24px;min-height:0}.mech-doc-design-test-page__hero.card{margin-bottom:0;padding:20px 24px;border-radius:12px;border-color:var(--app-border);background:linear-gradient(140deg,color-mix(in srgb,var(--app-surface) 92%,var(--nav-active-bg) 8%) 0%,var(--app-surface) 58%)}.mech-doc-design-test-page__hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.mech-doc-design-test-page__title{margin:0;font-size:22px;line-height:1.35;font-weight:700;color:var(--app-text)}.mech-doc-design-test-page__badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--app-border);background:color-mix(in srgb,var(--app-bg-subtle) 80%,var(--nav-active-bg) 20%);color:var(--app-text);font-size:12px;font-weight:600;letter-spacing:.04em}.mech-doc-design-test-page__desc{margin:0;color:var(--app-text-muted, var(--app-muted));font-size:14px;line-height:1.6}.mech-doc-design-test-page__qa-list{margin:12px 0 0;padding-left:20px;color:var(--app-text-muted, var(--app-muted));font-size:13px;line-height:1.5}.mech-doc-design-test-page .mechanism-documents-layout.mech-doc{border-radius:12px;border:1px solid var(--app-border);box-shadow:var(--shadow-card)}.mech-doc-design-test-page .mech-doc__header{padding:16px 20px 0;margin-bottom:16px}.mech-doc-design-test-page .mech-doc__title{font-size:20px;letter-spacing:-.01em}.mech-doc-design-test-page .mech-doc__filter.surface-box{border-top:1px solid var(--app-border);border-bottom:1px solid var(--app-border);padding:16px;gap:12px 14px;background:color-mix(in srgb,var(--app-bg-subtle) 76%,var(--app-surface) 24%)}.mech-doc-design-test-page .mech-doc__filter .form-row label,.mech-doc-design-test-page .mech-doc__legend{font-weight:600}.mech-doc-design-test-page .mech-doc__split{gap:12px;padding:12px;background:var(--app-bg)}.mech-doc-design-test-page .mech-doc__list,.mech-doc-design-test-page .mech-doc__detail{border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface)}.mech-doc-design-test-page .mech-doc__detail{flex-basis:38%;max-width:min(34rem,42vw);padding:16px}.mech-doc-design-test-page .mech-doc__table thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--app-bg-subtle) 78%,var(--app-surface) 22%)}.mech-doc-design-test-page .mech-doc__row--group{background:color-mix(in srgb,var(--app-border) 54%,var(--app-bg-subtle) 46%)}.mech-doc-design-test-page .mech-doc__row--data:hover{background:color-mix(in srgb,var(--nav-active-bg) 15%,var(--app-surface) 85%)}.mech-doc-design-test-page .mech-doc__row--data:focus-visible{outline:2px solid var(--app-focus-ring, var(--app-primary));outline-offset:-2px}.mech-doc-design-test-page .mech-doc__row--data.mech-doc__row--selected{box-shadow:inset 3px 0 0 var(--app-primary, var(--nav-active-bg))}.mech-doc-design-test-page .mech-doc__detail-head{padding:10px 12px;margin:-4px -4px 12px;border:1px solid var(--app-border);border-radius:8px;background:color-mix(in srgb,var(--app-bg-subtle) 74%,var(--app-surface) 26%)}.mech-doc-design-test-page .mech-doc__detail-tab{min-height:30px}.mech-doc-design-test-page .mech-doc__section-title{font-size:15px;margin-bottom:8px}.mech-doc-design-test-page .mech-doc__detail-grid{gap:0 12px}.mech-doc-design-test-page .mech-doc__state{min-height:144px;display:grid;place-items:center;background:color-mix(in srgb,var(--app-bg-subtle) 62%,var(--app-surface) 38%)}.mech-doc-design-test-page .mech-doc__detail-empty,.mech-doc-design-test-page .mech-doc__access-table-empty{line-height:1.6}.mech-doc-design-test-page .mech-doc__error{border:1px solid color-mix(in srgb,var(--color-error) 45%,var(--app-border));border-radius:8px;background:color-mix(in srgb,var(--color-error) 10%,var(--app-surface) 90%);margin:0 12px}@media(max-width:768px){.mech-doc-design-test-page__hero-top{flex-direction:column;align-items:flex-start}.mech-doc-design-test-page .mech-doc__split{flex-direction:column}.mech-doc-design-test-page .mech-doc__detail{max-width:none;flex-basis:auto}.app-layout-younglimwon{grid-template-areas:"topbar" "main";grid-template-columns:1fr}.app-sidebar{display:none}.app-sidebar-expand-tab{display:none!important}.app-topbar-menu-toggle-label{display:none}}.card{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1rem 1.25rem;margin-bottom:1rem;overflow:visible}.card h2{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.card h3{margin:var(--space-2) 0;font-size:var(--text-lg);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.inbox-page__hero-subtitle{margin-top:var(--space-2)}.spdm-popup-bar{box-sizing:border-box;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.spdm-popup-bar__text{font-size:var(--text-sm);line-height:1.3;color:var(--app-muted)}.plm-ui-page{box-sizing:border-box;margin:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-6);min-height:0;background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:visible}.plm-ui-page__header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.plm-ui-page__title{margin:0;font-size:var(--text-2xl);font-weight:700;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.plm-ui-page__subtitle{margin:var(--space-2) 0 0;font-size:var(--text-base);line-height:1.3;letter-spacing:-.025em;color:var(--app-muted)}.plm-ui-page__tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.plm-ui-page__tabs .project-view-tab{margin:0}.plm-ui-page__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4)}.plm-ui-page__filters .form-row{margin-bottom:0}.plm-ui-page__filter-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--app-text)}.plm-ui-page__select--product{max-width:16rem;min-width:12rem}.plm-ui-page__select--status{max-width:11rem;min-width:8rem}.plm-ui-page__table-wrap{overflow-x:auto;min-height:0}.plm-ui-page__error{margin-bottom:var(--space-4);color:var(--color-danger);font-size:var(--text-base);line-height:1.3}.plm-ui-page__status-msg{margin-top:var(--space-2)}.plm-ui-page__section-title{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-xl);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.plm-ui-page__section-title:first-child{margin-top:0}.plm-ui-page__toolbar-gap .btn+.btn{margin-left:0}.plm-ui-page__action-inline{margin-right:var(--space-2)}.plm-ui-page__action-inline-last{margin-left:var(--space-2)}.plm-ui-page .project-task-table td:last-child{white-space:normal}.plm-ui-page .project-task-table td:last-child .btn+.btn{margin-left:var(--space-2)}.plm-ui-page__header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:flex-end}.plm-ui-page__content{min-height:0}.dashboard-page .dashboard-page__intro{margin:0 0 var(--space-4);font-size:var(--text-base);line-height:1.3;letter-spacing:-.025em;color:var(--app-muted)}.dashboard-page .dashboard-page__intro a{color:var(--nav-active-bg)}.dashboard-page .dashboard-page__panel{box-sizing:border-box;margin-top:var(--space-6);padding:var(--space-4);min-height:0;background:var(--app-bg-subtle);border:1px solid var(--app-border);border-radius:var(--radius)}.dashboard-page .plm-ui-page__content>.dashboard-page__intro+.dashboard-page__panel{margin-top:var(--space-4)}.dashboard-page .dashboard-page__panel--chart{min-height:20rem}.dashboard-page .dashboard-page__chart-caption{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.dashboard-page .dashboard-page__empty{margin:0;font-size:var(--text-base);line-height:1.3;color:var(--app-muted)}.dashboard-page .dashboard-page__ordered-list{margin:var(--space-3) 0 0;padding-left:var(--space-6);list-style:decimal;font-size:var(--text-base);line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.dashboard-page .dashboard-page__ordered-list li{margin-bottom:var(--space-2)}.dashboard-page .dashboard-page__workflow-heading{margin:0 0 var(--space-3)}.dashboard-page .dashboard-page__link-row{margin:0}.dashboard-page__inline-sep{color:var(--app-muted)}.dashboard-page .dashboard-page__step-meta{margin-left:var(--space-2)}.dashboard-page__spdm-toolbar{margin-bottom:var(--space-4)}.dashboard-page__spdm-toolbar .spdm-board-filter{max-width:16rem}a.spdm-board__link-inherit{text-decoration:none;color:inherit}a.spdm-board__link-inherit:hover{color:var(--nav-active-bg)}.plm-ui-page__footnote{margin-top:var(--space-4)}.plm-change-table-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;align-items:center}.approval-inbox{box-sizing:border-box;padding:var(--space-6);max-width:100%;background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin:var(--space-2);margin-bottom:var(--space-4)}.approval-inbox__td-check{width:2.25rem;text-align:center;vertical-align:middle}.approval-inbox__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.approval-inbox__title{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.approval-inbox__tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:2px solid var(--app-border);margin-bottom:var(--space-4)}.approval-inbox__tab{padding:var(--space-2) var(--space-5);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;cursor:pointer;font-size:var(--text-sm);color:var(--app-muted);display:inline-flex;align-items:center;gap:var(--space-2);line-height:1.3}.approval-inbox__tab:hover{color:var(--app-text)}.approval-inbox__tab[aria-selected=true]{font-weight:700;color:var(--nav-active-bg);border-bottom-color:var(--nav-active-bg)}.approval-inbox__tab-count{background:color-mix(in srgb,var(--color-danger) 88%,var(--app-surface));color:var(--color-on-accent);border-radius:10px;padding:1px 7px;font-size:var(--text-xs);font-weight:700}.approval-inbox__loading,.approval-inbox__empty{color:var(--app-muted);font-size:var(--text-sm);padding:var(--space-5) 0}.approval-inbox__entity-chip{font-size:var(--text-xs);font-weight:600;padding:2px 7px;border-radius:4px;display:inline-block}.approval-inbox__entity-chip[data-entity=ECR]{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=ECO]{color:var(--change-flow-ecn);background:color-mix(in srgb,var(--change-flow-ecn) 14%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=ITEM_REVISION]{color:var(--color-info);background:color-mix(in srgb,var(--color-info) 14%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=BOM]{color:var(--bom-badge-semi);background:color-mix(in srgb,var(--bom-badge-semi) 14%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=DOCUMENT_REVISION]{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 18%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=PROJECT]{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=GATE],.approval-inbox__entity-chip[data-entity=OTHER]{color:var(--app-muted);background:var(--app-bg-subtle)}.approval-inbox__entity-chip[data-entity=PROBLEM]{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--app-bg-subtle))}.approval-inbox__entity-chip[data-entity=WORKFLOW_TASK]{color:var(--app-text);background:color-mix(in srgb,var(--app-text) 8%,var(--app-bg-subtle))}.approval-inbox__step-main{font-size:var(--text-sm);font-weight:600;color:var(--app-text)}.approval-inbox__step-sub{font-size:var(--text-xs);color:var(--app-muted);margin-top:2px}.approval-inbox__delegated{font-size:var(--text-xs);color:var(--color-warning);margin-left:var(--space-2)}.approval-inbox__urgency{font-size:var(--text-xs);font-weight:600}.approval-inbox__urgency--CRITICAL{color:var(--color-danger)}.approval-inbox__urgency--URGENT{color:var(--color-warning)}.approval-inbox__elapsed{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:10px;display:inline-block}.approval-inbox__elapsed--warn{background:color-mix(in srgb,var(--color-warning) 28%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__elapsed--critical{background:color-mix(in srgb,var(--color-danger) 30%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__status-pill{font-size:var(--text-xs);font-weight:600;padding:2px 9px;border-radius:10px;display:inline-block}.approval-inbox__status-pill--RUNNING{background:color-mix(in srgb,var(--color-info) 22%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__status-pill--REVISING{background:color-mix(in srgb,var(--color-warning) 25%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__status-pill--COMPLETED{background:color-mix(in srgb,var(--color-success) 22%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__status-pill--REJECTED{background:color-mix(in srgb,var(--color-danger) 22%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__status-pill--CANCELLED{background:var(--app-bg-subtle);color:var(--app-muted)}.approval-inbox__status-pill--default{background:var(--app-bg-subtle);color:var(--app-text)}.approval-inbox__decision--approved{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--color-success) 25%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__decision--rejected{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--color-danger) 25%,var(--app-bg-subtle));color:var(--app-text)}.approval-inbox__comment{font-size:var(--text-xs);color:var(--app-muted);font-style:italic}.approval-inbox__row--revising{background:color-mix(in srgb,var(--color-warning) 10%,var(--app-surface))}.plm-data-table tbody tr.approval-inbox__row--revising:hover{background:color-mix(in srgb,var(--color-warning) 16%,var(--app-surface))}.approval-inbox__modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.approval-inbox__modal{background:var(--app-surface);color:var(--app-text);border-radius:var(--radius);padding:var(--space-6);width:100%;max-width:25rem;box-shadow:var(--shadow-modal);border:1px solid var(--app-border)}.approval-inbox__modal-title{margin:0 0 var(--space-4);font-size:var(--text-base);font-weight:600}.approval-inbox__modal-desc{font-size:var(--text-sm);color:var(--app-muted);margin:0 0 var(--space-3);line-height:1.4}.approval-inbox__modal-textarea{width:100%;min-height:5rem;padding:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius);font-size:var(--text-sm);resize:none;box-sizing:border-box;background:var(--app-surface);color:var(--app-text)}.approval-inbox__modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.document-hub{display:flex;flex-direction:column;height:100%;min-height:24rem;background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin:var(--space-2);margin-bottom:var(--space-4);overflow:hidden;box-sizing:border-box}.document-hub__error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);background:var(--color-error-bg);border-bottom:1px solid var(--app-border);color:var(--color-danger);font-size:var(--text-sm);line-height:1.4}.document-hub__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--app-border)}.document-hub__title{font-weight:600;font-size:var(--text-base);color:var(--app-text);margin-right:var(--space-2)}.document-hub__toolbar-input{width:10rem;min-width:7rem}.document-hub__toolbar-input--wide{width:11.25rem}.document-hub__main{display:flex;flex:1;min-height:0}.document-hub__sidebar{width:12.5rem;flex-shrink:0;border-right:1px solid var(--app-border);padding:var(--space-2);overflow:auto}.document-hub__sidebar-title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--app-text)}.document-hub__sidebar-title--spaced{margin-top:var(--space-4)}.document-hub__sidebar-list{list-style:none;padding:0;margin:0}.document-hub__sidebar-item{margin-bottom:var(--space-1)}.document-hub__sidebar-link{text-align:left;font-size:var(--text-xs);width:100%}.document-hub__list-panel{position:relative;flex:1;min-height:0;overflow:auto;padding:var(--space-2);border-right:1px solid var(--app-border)}.document-hub__loading{margin:0;padding:var(--space-4);color:var(--app-muted);font-size:var(--text-sm)}.document-hub__drag-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-info) 12%,transparent);border:2px dashed var(--nav-active-bg);font-size:var(--text-base);font-weight:600;color:var(--app-text);pointer-events:none}.document-hub__empty-hint{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--app-muted)}.document-hub__detail{width:20rem;flex-shrink:0;padding:var(--space-3);overflow:auto}.document-hub__detail-num{font-weight:600;font-size:var(--text-base);margin-bottom:var(--space-2);color:var(--app-text)}.document-hub__detail-name{font-size:var(--text-sm);color:var(--app-muted);margin-bottom:var(--space-2);line-height:1.4}.document-hub__detail-line{font-size:var(--text-sm);margin-bottom:var(--space-1);color:var(--app-text);line-height:1.4}.document-hub__detail-files-title{font-size:var(--text-sm);font-weight:600;margin-top:var(--space-2);margin-bottom:var(--space-1)}.document-hub__file-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.document-hub__file-name{font-size:var(--text-xs);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.document-hub__detail-actions{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2)}.document-hub__footer-rev{border-top:1px solid var(--app-border);padding:var(--space-2) var(--space-3);max-height:7.5rem;overflow:auto}.document-hub__footer-title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--app-text)}.document-hub__rev-chips{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-xs);color:var(--app-text)}.document-hub__history-line{font-size:var(--text-xs);color:var(--app-muted);margin-top:var(--space-2);line-height:1.4}.plm-data-table tbody tr.document-hub__row--selected{background:var(--app-bg-selected)}.plm-data-table tbody tr.document-hub__row--selected:hover{background:color-mix(in srgb,var(--nav-active-bg) 14%,var(--app-bg-selected))}.standard-modal.document-hub__create-modal{max-width:32.5rem}.document-hub__modal-select-mt{margin-top:var(--space-2)}.document-hub__sr-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.document-hub__create-dropzone{border:2px dashed var(--standard-modal-input-border);border-radius:var(--radius);background:var(--standard-modal-input-bg);padding:1.25rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.document-hub__create-dropzone--active{border-color:var(--standard-modal-primary);background:color-mix(in srgb,var(--standard-modal-primary) 8%,var(--standard-modal-input-bg))}.document-hub__create-drop-hint{color:var(--standard-modal-muted);font-size:var(--text-sm)}.document-hub__create-drop-actions{margin-top:var(--space-2)}.document-hub__create-file-list{margin-top:var(--space-3);padding:0;list-style:none;font-size:var(--text-sm);color:var(--standard-modal-text)}.document-hub__create-file-item{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.document-hub__create-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.document-hub__create-file-remove{padding:.125rem var(--space-2);font-size:var(--text-xs)}.document-hub__modal-footer-bar{border-top:1px solid var(--standard-modal-border);margin-top:var(--space-4);padding-bottom:0}.document-hub__modal-footer-spacer{flex:1}.inbox-page__error{color:var(--color-danger)}.inbox-page__tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--app-border);padding-bottom:var(--space-2)}.inbox-page__section{margin-bottom:0}.inbox-page__section--spaced{margin-bottom:var(--space-6)}.inbox-page__section-title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--app-text)}.inbox-page__section-hint{font-size:var(--text-sm);margin-bottom:var(--space-2)}.inbox-page__table-wrap{margin-top:var(--space-2)}.inbox-task-table__task-link{font-weight:500}.inbox-task-table__badge{font-size:var(--text-xs);opacity:.9}.inbox-task-table__overdue{color:var(--color-danger);margin-left:var(--space-1)}.inbox-task-table__related-link{margin-right:var(--space-2)}.inbox-task-table__actions{text-align:right;white-space:nowrap}.settings-user-mgmt__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);align-items:center}.settings-user-mgmt__filter{display:flex;align-items:center;gap:var(--space-2)}.settings-user-mgmt__filter .form-input{margin:0}.settings-user-mgmt__select-role{min-width:6.25rem}.settings-user-mgmt__filter-input{width:10rem;min-width:7rem}.settings-user-mgmt__msg{margin-bottom:var(--space-4)}.settings-user-mgmt__td-actions{text-align:right;vertical-align:middle}.settings-user-mgmt__row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.settings-user-mgmt__row-actions .btn{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.plm-table-frame{width:100%;overflow-x:auto;min-height:0;background:transparent}.plm-table{width:100%;min-width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.35;letter-spacing:-.025em;background:var(--plm-table-bg);color:var(--app-text);table-layout:auto}.plm-table thead th{background:var(--plm-table-header-bg);border:none;border-bottom:1px solid var(--plm-table-row-border);height:28px;padding:0 8px;font-weight:600;font-size:var(--text-sm);line-height:1.2;color:var(--plm-table-th-fg);text-align:left;vertical-align:middle;white-space:nowrap}.plm-table thead th.plm-table__th--sort-active{color:var(--plm-table-sort-fg)}.plm-table thead th[data-plm-align=right] .plm-table__sort-btn{justify-content:flex-end}.plm-table thead th[data-plm-align=center] .plm-table__sort-btn{justify-content:center}.plm-table tbody td{border:none;border-bottom:1px solid var(--plm-table-row-border);height:28px;padding:0 8px;line-height:1.2;vertical-align:middle;box-sizing:border-box;color:var(--app-text);background:var(--plm-table-bg)}.plm-table tbody tr:hover td{background:var(--plm-table-hover)}.plm-table tbody tr.plm-table__row--selected td{background:color-mix(in srgb,var(--app-muted) 24%,var(--plm-table-bg))}.plm-table tbody tr.plm-table__row--selected:hover td{background:color-mix(in srgb,var(--app-muted) 30%,var(--plm-table-bg))}.plm-table__empty{text-align:center;padding:var(--space-8) var(--space-5);color:var(--app-muted);font-size:var(--text-base);line-height:1.35}.plm-table__header-static{font:inherit;font-weight:inherit;color:inherit}.plm-table__sort-btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-1);width:100%;margin:0;padding:var(--space-1);border:none;border-radius:calc(var(--radius) / 2);background:transparent;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left}.plm-table__sort-btn:hover{color:var(--plm-table-th-fg);background:var(--plm-table-hover)}.plm-table__sort-btn:focus{outline:none}.plm-table__sort-btn:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.plm-table__sort-ind{flex-shrink:0;font-size:.65rem;opacity:.95;color:var(--plm-table-sort-fg)}.plm-table-footer{display:flex;justify-content:flex-end;align-items:center;padding:var(--space-3) var(--space-2) 0;width:100%;box-sizing:border-box}.plm-table-pagination{display:inline-flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.plm-table-pagination__btn,.plm-table-pagination__page{min-width:2rem;min-height:2rem;padding:var(--space-1) var(--space-2);border:1px solid var(--plm-table-row-border);border-radius:6px;background:var(--plm-table-bg);color:var(--plm-table-th-fg);font-size:var(--text-sm);cursor:pointer;line-height:1.2}.plm-table-pagination__btn:hover:not(:disabled),.plm-table-pagination__page:hover{background:var(--plm-table-hover);color:var(--app-text)}.plm-table-pagination__btn:disabled{opacity:.45;cursor:not-allowed}.plm-table-pagination__page--active{border-color:var(--plm-table-sort-fg);color:var(--plm-table-sort-fg);font-weight:600;background:color-mix(in srgb,var(--plm-table-sort-fg) 16%,var(--plm-table-bg))}.plm-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;padding:.125rem .625rem;border-radius:6px;font-size:var(--text-xs);font-weight:600;line-height:1.2;letter-spacing:-.02em;white-space:nowrap;border:1px solid transparent;box-sizing:border-box;vertical-align:middle}.plm-badge--danger{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 14%,var(--app-bg));border-color:color-mix(in srgb,var(--color-danger) 32%,var(--app-border))}.plm-badge--warning{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,var(--app-bg));border-color:color-mix(in srgb,var(--color-warning) 32%,var(--app-border))}.plm-badge--success{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 14%,var(--app-bg));border-color:color-mix(in srgb,var(--color-success) 32%,var(--app-border))}.plm-badge--info{color:var(--color-info);background:color-mix(in srgb,var(--color-info) 14%,var(--app-bg));border-color:color-mix(in srgb,var(--color-info) 32%,var(--app-border))}.plm-badge--neutral{color:var(--app-muted);background:var(--app-bg-subtle);border-color:var(--app-border)}.plm-table.project-task-table thead th{text-transform:none;font-size:var(--text-sm);color:var(--plm-table-th-fg);background:var(--plm-table-header-bg)}.project-task-table.plm-table .plm-table__sort-btn{text-transform:inherit;justify-content:flex-start}.plm-data-table-wrap{overflow-x:auto;min-height:0}.plm-data-table{width:100%;border-collapse:collapse;font-size:var(--app-table-compact-font)}.plm-data-table thead th{background:var(--app-bg-subtle);border-bottom:2px solid var(--app-border);padding:var(--space-2) var(--app-table-compact-padding-x);font-weight:600;font-size:var(--text-xs);color:var(--app-muted);white-space:nowrap;text-align:left;vertical-align:middle}.plm-data-table thead th.plm-data-table__th--active{color:var(--app-text)}.plm-data-table tbody td{padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);min-height:2.5rem;box-sizing:border-box;border-bottom:1px solid var(--app-border);color:var(--app-text);vertical-align:middle}.plm-data-table tbody tr:hover{background:color-mix(in srgb,var(--app-bg-subtle) 50%,transparent)}.plm-data-table__empty{text-align:center;padding:var(--space-8) var(--space-5);color:var(--app-muted);font-size:var(--text-base);line-height:1.3}.plm-data-table__header-static{font:inherit;font-weight:inherit;color:inherit}.plm-data-table__sort-btn{display:inline-flex;align-items:center;gap:var(--space-1);width:100%;margin:0;padding:var(--space-1);border:none;border-radius:calc(var(--radius) / 2);background:transparent;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left}.plm-data-table__sort-btn:hover{color:var(--app-text);background:var(--app-border)}.plm-data-table__sort-btn:focus{outline:none}.plm-data-table__sort-btn:focus-visible{outline:2px solid var(--nav-active-bg);outline-offset:2px}.plm-data-table__sort-ind{flex-shrink:0;font-size:.65rem;opacity:.9}.project-task-table .plm-data-table__sort-btn{text-transform:inherit;justify-content:flex-start}.spdm-dashboard{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border)}.spdm-dashboard a{color:var(--nav-active-bg)}.spdm-dashboard a.spdm-dashboard__project-link{text-decoration:none;color:inherit}.spdm-dashboard .spdm-dashboard__project-link:hover .bom-project-name-main{color:var(--nav-active-bg)}.spdm-dashboard a.spdm-dashboard__task-link{text-decoration:none;color:inherit}.spdm-dashboard a.spdm-dashboard__task-link:hover{color:var(--nav-active-bg)}.spdm-dashboard .spdm-cell-empty--message{padding:var(--space-4);text-align:center;font-size:var(--text-base);color:var(--app-muted)}.spdm-dashboard .spdm-table{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--app-table-compact-font);background:var(--app-surface)}.spdm-dashboard .spdm-table th{padding:.4rem .75rem;text-align:left;background:var(--app-bg-subtle);color:var(--app-muted);border-bottom:1px solid var(--app-border);font-weight:600;font-size:.75rem}.spdm-dashboard .spdm-table th:nth-child(5),.spdm-dashboard .spdm-table th:nth-child(9){text-align:center}.spdm-dashboard .spdm-table td{padding:.4rem .75rem;border-bottom:1px solid var(--app-border);color:var(--app-text);background:var(--app-surface)}.spdm-dashboard .spdm-table tbody tr{background:var(--app-surface)}.spdm-dashboard .spdm-table tbody tr:hover td{background:var(--app-bg-subtle)}.spdm-dashboard .spdm-table td:nth-child(5),.spdm-dashboard .spdm-table td:nth-child(9){text-align:center}.spdm-dashboard .spdm-table .spdm-cell-empty{color:var(--app-muted)}.spdm-dashboard .spdm-table .btn{background:var(--app-bg-subtle);color:var(--app-text);border:1px solid var(--app-border)}.spdm-dashboard .spdm-table .btn:hover{background:var(--app-border)}.spdm-dashboard .spdm-table .spdm-filter-row th{padding:.35rem .4rem;vertical-align:middle;background:var(--app-bg-subtle);border-bottom:1px solid var(--app-border)}.spdm-dashboard .spdm-table .bom-project-name-td{overflow:visible;padding:.4rem .75rem!important}.spdm-dashboard .spdm-table td:nth-child(2){padding:.4rem .75rem}.spdm-dashboard .spdm-table tbody tr{position:relative}.spdm-dashboard .spdm-table tbody tr.bom-project-row-root-sep{border-top:2px solid var(--app-border)}.spdm-dashboard .spdm-table tbody tr.bom-project-row-root-sep td{border-top:none}.spdm-dashboard .spdm-table tbody tr.bom-project-row-in-group td{border-bottom:none}.spdm-dashboard .spdm-table tbody tr.bom-project-row-child td{padding-top:.25rem!important;padding-bottom:.25rem!important}.spdm-dashboard .spdm-table tbody tr.bom-project-row-child .bom-project-name-td,.spdm-dashboard .spdm-table tbody tr.bom-project-row-child td:nth-child(2){padding-top:.25rem!important;padding-bottom:.25rem!important}.spdm-dashboard .spdm-table .bom-project-connector{border-left-color:var(--app-muted);border-bottom-color:var(--app-muted)}.spdm-dashboard .spdm-table .bom-project-name-main{font-weight:600;font-size:.875rem;line-height:1.08;color:var(--app-text)}.spdm-dashboard .spdm-table .bom-project-code-sub{font-size:.7rem;color:var(--app-muted)}.spdm-dashboard .spdm-table .spdm-dev-stage-tasks{display:flex;flex-direction:column;gap:.15rem}.spdm-dashboard .spdm-table .spdm-dev-stage-task-item{font-size:.8rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.spdm-dashboard .spdm-table .spdm-task-name{font-weight:500;color:var(--app-text)}.spdm-dashboard .spdm-table .spdm-task-number{font-size:.75rem;color:var(--app-muted)}.spdm-dashboard .spdm-table .spdm-task-status{font-size:.7rem;color:var(--app-muted)}.spdm-dashboard .spdm-filter-input{width:100%;min-width:4rem;padding:.3rem .4rem;font-size:.85rem;background:var(--app-bg-subtle);color:var(--app-text);border:1px solid var(--app-border);border-radius:4px}.spdm-dashboard .spdm-filter-input::placeholder{color:var(--app-muted)}.spdm-dashboard .spdm-filter-input:focus{outline:none;border-color:var(--color-primary)}.spdm-dashboard .spdm-filter-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb40}.spdm-board-wrap{padding:1rem;border:1px solid var(--app-border);background:var(--app-bg);color:var(--app-text)}.spdm-board-error{color:var(--color-error);border-color:var(--color-error)}.spdm-board-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--app-border)}.spdm-board-title{margin:0 0 .25rem;font-size:var(--text-xl);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.spdm-board-desc{margin:0 0 .75rem;font-size:var(--text-sm);line-height:1.3;letter-spacing:-.025em;color:var(--app-muted)}.spdm-board-desc a{color:var(--nav-active-bg)}.spdm-board-toolbar{display:flex;gap:.5rem;align-items:center}.spdm-board-filter{width:100%;max-width:16rem;padding:.35rem .5rem;font-size:.875rem;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface);color:var(--app-text)}.spdm-board-filter::placeholder{color:var(--app-muted)}.spdm-board-scroll{overflow-x:auto}.spdm-board-list{display:flex;flex-direction:column;gap:.75rem}.spdm-board-row{display:flex;flex-direction:row;align-items:stretch;flex-wrap:nowrap;min-height:0;overflow-x:auto}.spdm-board-node{display:flex;flex-direction:row;align-items:stretch;flex-shrink:0}.spdm-board-node .spdm-board-col{flex:0 0 240px;min-width:240px;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text)}.spdm-board-children-row{display:flex;flex-direction:row;align-items:stretch;border-left:2px solid var(--app-border);padding-left:.25rem}.spdm-board-node-depth-1 .spdm-board-col{border-left-width:2px;border-left-color:var(--color-primary)}.spdm-board-col{flex:0 0 240px;min-width:240px;border:1px solid var(--app-border);border-right-width:0;background:var(--app-surface);color:var(--app-text)}.spdm-board-col:last-child{border-right-width:1px}.spdm-board-col-vertical{flex:none;min-width:0;width:100%;border-right-width:1px;border-bottom:1px solid var(--app-border)}.spdm-board-col-vertical:last-child{border-bottom-width:1px}.spdm-board-col-header{padding:.5rem .6rem;border-bottom:1px solid var(--app-border);background:var(--app-bg-subtle);display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.spdm-board-col-title{display:block;font-weight:600;font-size:.875rem;color:var(--app-text);width:100%}.spdm-board-col-code{display:block;font-size:.75rem;color:var(--app-muted)}.spdm-board-col-count{font-size:.75rem;color:var(--app-muted);margin-left:auto}.spdm-board-col-body{padding:.5rem;min-height:80px}.spdm-board-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.spdm-board-task-item{font-size:.8rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;padding:.15rem 0;border:none;border-radius:0;background:transparent;color:var(--app-text)}.spdm-board-task-name{font-weight:500;color:var(--app-text)}.spdm-board-task-num{font-size:.75rem;color:var(--app-muted)}.spdm-board-task-status{font-size:.7rem;color:var(--app-muted)}.spdm-board-col-empty{font-size:.8rem;color:var(--app-muted);padding:.35rem 0}.spdm-board-col-actions{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--app-border);display:flex;gap:.35rem;flex-wrap:wrap}.spdm-board-btn{padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface);color:var(--app-text);cursor:pointer}.spdm-board-btn:hover{background:var(--app-bg-subtle);color:var(--app-text)}.spdm-board-empty{padding:1.5rem;text-align:center;color:var(--app-muted);border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface)}.project-detail-wrap{padding:0}.project-detail-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.project-detail-title{margin:0 0 .25rem;font-size:1.35rem;font-weight:600;color:var(--app-text)}.project-detail-code{margin:0;font-size:.875rem;color:var(--app-muted)}.project-detail-parent{margin:.35rem 0 0;font-size:.85rem;color:var(--app-muted)}.project-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;color:var(--app-muted)}.project-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem}.project-detail-page-picker{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;overflow:visible}.project-detail-page-picker-label{font-weight:600;margin:0}.project-detail-page-picker-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:280px;padding:.5rem .75rem;text-align:left;border:1px solid var(--app-border);border-radius:var(--radius);background:var(--app-surface);color:var(--app-text);font-size:1rem;cursor:pointer}.project-detail-page-picker-btn:hover{border-color:var(--nav-active-bg);background:var(--app-bg-subtle)}.project-detail-page-picker-btn-text{display:flex;align-items:baseline;gap:.35rem;flex:1;min-width:0}.project-detail-page-picker-code{font-size:.75rem;color:var(--app-muted);font-weight:400}.project-detail-page-picker-chevron{font-size:.7rem;color:var(--app-muted);flex-shrink:0}.project-detail-page-picker-empty{font-size:.9rem;color:var(--app-muted)}.project-detail-page-dropdown{position:absolute;top:100%;left:0;margin-top:4px;z-index:1050;min-width:420px;max-width:90vw;width:600px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow-dropdown);overflow:auto;resize:horizontal}.project-detail-page-dropdown-search{width:100%;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--app-border);background:var(--app-bg-subtle);color:var(--app-text);font-size:.95rem;box-sizing:border-box}.project-detail-page-dropdown-search:focus{outline:none}.project-detail-page-dropdown-list{margin:0;padding:0;list-style:none;max-height:280px;overflow-y:auto}.project-detail-page-dropdown-item{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--app-border);display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;background:none;width:100%;text-align:left;font-size:1rem}.project-detail-page-dropdown-item:last-child{border-bottom:none}.project-detail-page-dropdown-item:hover{background:var(--app-bg-subtle)}.project-detail-page-dropdown-code{font-size:.75rem;color:var(--app-muted);flex-shrink:0}.project-detail-page-dropdown-empty{color:var(--app-muted);cursor:default}select,input[type=text],input[type=number],input[type=date],textarea{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid var(--app-border);border-radius:var(--radius);font-size:1rem;background:var(--app-surface);color:var(--app-text)}input[type=date]{min-height:2.25rem;cursor:pointer;position:relative;font-family:inherit;font-size:inherit}input.part-grid-date{min-height:unset!important}input.part-grid-date::-webkit-calendar-picker-indicator{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}input[type=date]::-moz-focus-inner{border:0;padding:0}label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--app-text)}.form-row{margin-bottom:.75rem}.btn{padding:.5rem 1rem;border-radius:var(--radius);border:none;font-weight:500;cursor:pointer;background:var(--color-primary);color:var(--color-on-accent)}.btn:hover{filter:brightness(1.1)}.btn:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-secondary:disabled{background:var(--app-bg);color:var(--app-muted);border-color:var(--app-border)}.btn-secondary{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border)}.btn-primary{background:var(--color-primary);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-danger{background:var(--color-danger);color:var(--color-on-accent)}.btn-danger:hover{filter:brightness(1.1)}.msg-success{color:var(--color-success)}.msg-error{color:var(--color-error)}.text-muted{color:var(--app-muted)}.text-muted-sm{color:var(--app-muted);font-size:.9rem}.text-muted-xs{color:var(--app-muted);font-size:.85rem}.surface-box{background:var(--app-surface)}.border-box{border:1px solid var(--app-border);border-radius:6px}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:.35rem 0;border-bottom:1px solid var(--app-border);display:flex;align-items:center;gap:.5rem}.check-list li:last-child{border-bottom:none}.check-ok{color:var(--color-success)}.check-note{color:var(--app-muted);font-size:.9rem}.master-right-list li{justify-content:flex-start;word-break:break-word;overflow-wrap:break-word;flex-wrap:wrap}.master-right-list li span{flex-shrink:0;flex-grow:0}.master-right-list li .check-note{margin-left:0}.change-flow-diagram{flex-shrink:0;padding:.6rem .9rem;background:#0003;border:1px solid var(--app-border);border-radius:var(--radius);font-size:.8rem;line-height:1.5}.change-flow-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.change-flow-row.change-flow-sub{margin-top:.4rem;padding-top:.4rem;border-top:1px dashed var(--app-border);color:var(--app-muted)}.change-flow-node{padding:.2rem .5rem;border-radius:4px;font-weight:600}.change-flow-ecr{background:var(--color-primary);color:var(--color-on-accent)}.change-flow-eco{background:var(--color-success);color:var(--color-on-accent)}.change-flow-ecn{background:var(--change-flow-ecn);color:var(--color-on-accent)}.change-flow-approve{background:var(--change-flow-approve);color:var(--color-on-accent)}.change-flow-done{background:var(--app-muted);color:var(--color-on-accent)}.change-flow-label{color:var(--app-muted)}.change-flow-arrow{color:var(--app-muted);font-weight:700}.project-task-table{width:100%;border-collapse:collapse;font-size:.9rem}.project-task-table th,.project-task-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--app-border)}.project-task-table th{color:var(--app-muted);font-weight:600;font-size:.8rem;text-transform:uppercase}.project-task-table td{color:var(--app-text)}[data-theme=dark] .project-task-table th,[data-theme=dark] .project-task-table td{border-bottom-color:#ffffff0f}.project-task-table-sum-row td{border-top:2px solid var(--app-border)}[data-theme=dark] .project-task-table-sum-row td{border-top-color:#ffffff14}.project-task-table--vlines th,.project-task-table--vlines td{border-right:1px solid var(--app-border)}.project-task-table--vlines th:last-child,.project-task-table--vlines td:last-child{border-right:none}[data-theme=dark] .project-task-table--vlines th,[data-theme=dark] .project-task-table--vlines td{border-right-color:#ffffff14}.plm-supplier-shell{font-size:13px}[data-theme=light] .plm-supplier-shell,[data-theme=sepia] .plm-supplier-shell{--plm-supplier-page-bg: var(--app-bg);--plm-supplier-panel-bg: var(--app-surface);--plm-supplier-border: var(--app-border);--plm-supplier-text: var(--app-text);--plm-supplier-muted: var(--app-muted);--plm-supplier-primary: #007bff;--plm-supplier-primary-hover: #0056b3;--plm-supplier-link: #0066cc;--plm-supplier-row-stripe: rgba(0, 0, 0, .04);--plm-supplier-row-hover: rgba(0, 0, 0, .07);--plm-supplier-input-bg: var(--app-bg-subtle);--plm-supplier-focus-ring: 0 0 0 2px rgba(0, 123, 255, .45);--plm-supplier-badge-draft-bg: rgba(245, 158, 11, .14);--plm-supplier-badge-draft-fg: #b45309;--plm-supplier-badge-draft-border: rgba(217, 119, 6, .55);--plm-supplier-badge-submit-bg: rgba(37, 99, 235, .1);--plm-supplier-badge-submit-fg: #1d4ed8;--plm-supplier-badge-submit-border: rgba(37, 99, 235, .4);--plm-supplier-badge-accept-bg: rgba(5, 150, 105, .14);--plm-supplier-badge-accept-fg: #047857;--plm-supplier-badge-reject-bg: rgba(220, 38, 38, .12);--plm-supplier-badge-reject-fg: #b91c1c;background:var(--plm-supplier-page-bg);color:var(--plm-supplier-text)}[data-theme=sepia] .plm-supplier-shell{--plm-supplier-link: #6b4226;--plm-supplier-primary: #8b5a2b;--plm-supplier-primary-hover: #6b4226;--plm-supplier-badge-submit-fg: #6b4226;--plm-supplier-focus-ring: 0 0 0 3px rgba(107, 66, 38, .35)}[data-theme=dark] .plm-supplier-shell{--plm-supplier-page-bg: #1a1d23;--plm-supplier-panel-bg: #252a33;--plm-supplier-border: #3e4451;--plm-supplier-text: #e8eaed;--plm-supplier-muted: #9ca3af;--plm-supplier-primary: #007bff;--plm-supplier-primary-hover: #0056b3;--plm-supplier-link: #5dade2;--plm-supplier-row-stripe: rgba(255, 255, 255, .03);--plm-supplier-row-hover: rgba(255, 255, 255, .06);--plm-supplier-input-bg: #252a33;--plm-supplier-focus-ring: 0 0 0 2px rgba(0, 123, 255, .5);--plm-supplier-badge-draft-bg: rgba(15, 23, 42, .72);--plm-supplier-badge-draft-fg: #fb923c;--plm-supplier-badge-draft-border: rgba(249, 115, 22, .65);--plm-supplier-badge-submit-bg: rgba(30, 41, 59, .75);--plm-supplier-badge-submit-fg: #7dd3fc;--plm-supplier-badge-submit-border: rgba(56, 189, 248, .5);--plm-supplier-badge-accept-bg: rgba(46, 204, 113, .2);--plm-supplier-badge-accept-fg: #2ecc71;--plm-supplier-badge-reject-bg: rgba(231, 76, 60, .2);--plm-supplier-badge-reject-fg: #e74c3c;background:var(--plm-supplier-page-bg);color:var(--plm-supplier-text)}.plm-supplier-shell .plm-supplier-filter{background:var(--plm-supplier-panel-bg);border:1px solid var(--plm-supplier-border);border-radius:5px;padding:.5rem .75rem}.plm-supplier-shell .plm-supplier-table-wrap{border:1px solid var(--plm-supplier-border);border-radius:5px;overflow:auto;background:var(--plm-supplier-panel-bg)}.plm-supplier-shell table.plm-supplier-grid,.plm-supplier-shell .project-task-table{border-collapse:collapse;width:100%;font-size:.82rem}.plm-supplier-shell table.plm-supplier-grid thead th,.plm-supplier-shell .project-task-table thead th{background:var(--plm-supplier-panel-bg);color:var(--plm-supplier-text);border-bottom:1px solid var(--plm-supplier-border);padding:.5rem .6rem;font-weight:600;text-align:center;white-space:nowrap}.plm-supplier-shell table.plm-supplier-grid tbody td,.plm-supplier-shell .project-task-table tbody td{border-bottom:1px solid var(--plm-supplier-border);padding:.45rem .6rem;color:var(--plm-supplier-text)}.plm-supplier-shell table.plm-supplier-grid tbody tr:nth-child(2n),.plm-supplier-shell .project-task-table tbody tr:nth-child(2n){background:var(--plm-supplier-row-stripe)}.plm-supplier-shell table.plm-supplier-grid tbody tr:hover,.plm-supplier-shell .project-task-table tbody tr:hover{background:var(--plm-supplier-row-hover)}.plm-supplier-shell .plm-supplier-input,.plm-supplier-shell input[type=text],.plm-supplier-shell input[type=date],.plm-supplier-shell select{background:var(--plm-supplier-input-bg, var(--plm-supplier-panel-bg));border:1px solid var(--plm-supplier-border);color:var(--plm-supplier-text);border-radius:4px;padding:.4rem .6rem;font-size:.85rem}.plm-supplier-shell .plm-supplier-input::placeholder,.plm-supplier-shell input::placeholder{color:var(--plm-supplier-muted)}.plm-supplier-shell .btn-plm-supplier-primary{background:var(--plm-supplier-primary);color:#fff;border:none;border-radius:5px;padding:.45rem 1rem;font-weight:600;cursor:pointer;font-size:.85rem}.plm-supplier-shell .btn-plm-supplier-primary:hover{background:var(--plm-supplier-primary-hover)}.plm-supplier-shell .btn-plm-supplier-primary:focus-visible{outline:none;box-shadow:var(--plm-supplier-focus-ring, 0 0 0 2px rgba(0, 123, 255, .5))}.plm-supplier-shell .plm-supplier-link{color:var(--plm-supplier-link);cursor:pointer;font-weight:600}.plm-supplier-shell .plm-supplier-link:hover{text-decoration:underline}.plm-supplier-shell .plm-supplier-empty{text-align:center;color:var(--plm-supplier-muted);padding:1.5rem}.plm-supplier-shell h1,.plm-supplier-shell .plm-supplier-title{color:var(--plm-supplier-text);font-weight:700;margin:0}.plm-supplier-shell .project-task-table--vlines th,.plm-supplier-shell .project-task-table--vlines td{border-right:1px solid var(--plm-supplier-border)}.plm-supplier-shell .project-task-table--vlines th:last-child,.plm-supplier-shell .project-task-table--vlines td:last-child{border-right:none}.settings-list-table th,.settings-list-table td{padding:.4rem .75rem}.project-status-table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:.9rem}.project-status-table th,.project-status-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--app-border);vertical-align:middle}.project-status-table th{color:var(--app-muted);font-weight:600;font-size:.8rem;white-space:nowrap}.project-status-table td{color:var(--app-text)}.table.milestone-progress-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}.table.milestone-progress-table th,.table.milestone-progress-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--app-border);vertical-align:middle}.table.milestone-progress-table th{color:var(--app-muted);font-weight:600;font-size:.8rem}.table.milestone-progress-table th:nth-child(3),.table.milestone-progress-table th:nth-child(4),.table.milestone-progress-table th:nth-child(5),.table.milestone-progress-table td:nth-child(3),.table.milestone-progress-table td:nth-child(4),.table.milestone-progress-table td:nth-child(5){width:150px;box-sizing:border-box}.table.milestone-progress-table .milestone-input-row td{background:var(--app-bg-subtle);border-bottom:2px solid var(--app-border)}.table.milestone-progress-table .milestone-input-row td:nth-child(3) .datepicker-wrapper,.table.milestone-progress-table .milestone-input-row td:nth-child(4) .datepicker-wrapper,.table.milestone-progress-table .milestone-input-row td:nth-child(5) .datepicker-wrapper{width:100%;max-width:150px;box-sizing:border-box}[data-theme=dark] .table.milestone-progress-table .milestone-input-row td{background:#ffffff0a;border-bottom-color:#ffffff1a}.project-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100}.project-modal{background:var(--app-surface);color:var(--app-text);padding:1.5rem;border-radius:12px;border:1px solid var(--app-border);min-width:320px;max-width:90vw;box-shadow:var(--shadow-modal);overflow:visible}.project-modal-70{width:70vw;min-width:420px;max-width:90vw;max-height:90vh;overflow-y:auto}.project-modal-user{width:100%;max-width:480px;min-width:320px;max-height:90vh;overflow-y:auto}.project-modal h3{margin:0 0 1rem;font-size:1.1rem}.project-modal input,.project-modal select{background:var(--app-bg);border:1px solid var(--app-border);color:var(--app-text);border-radius:8px;width:100%;max-width:100%;box-sizing:border-box;padding:.5rem .75rem;font-size:1rem;min-height:2.5rem}.project-modal input[type=password]{padding:.5rem .75rem;font-size:1rem;min-height:2.5rem}.project-modal-actions{margin-top:1rem;display:flex;gap:.5rem}.plm-glossary-column{scrollbar-width:thin;scrollbar-color:var(--app-muted) transparent}.plm-glossary-column::-webkit-scrollbar{width:6px}.plm-glossary-column::-webkit-scrollbar-track{background:transparent}.plm-glossary-column::-webkit-scrollbar-thumb{background:var(--app-muted);border-radius:3px}.plm-glossary-column::-webkit-scrollbar-thumb:hover{background:var(--app-border)}:root{--standard-modal-bg: #ffffff;--standard-modal-input-bg: #f8fafc;--standard-modal-input-border: rgba(0,0,0,.18);--standard-modal-border: rgba(0,0,0,.08);--standard-modal-primary: var(--color-primary);--standard-modal-primary-hover: #1d4ed8;--standard-modal-text: #0f172a;--standard-modal-muted: #64748b}[data-theme=dark]{--standard-modal-bg: #1f2937;--standard-modal-input-bg: #111827;--standard-modal-input-border: rgba(255,255,255,.18);--standard-modal-border: rgba(255,255,255,.08);--standard-modal-primary: var(--color-primary);--standard-modal-primary-hover: #60a5fa;--standard-modal-text: #f1f5f9;--standard-modal-muted: #94a3b8;--color-primary-light: rgba(59, 130, 246, .18)}.standard-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100}.standard-modal{background:var(--standard-modal-bg);color:var(--standard-modal-text);width:100%;min-width:320px;max-width:min(840px,90vw);max-height:80vh;border-radius:12px;border:1px solid var(--standard-modal-border);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden}.standard-modal.standard-modal--wide{max-width:min(920px,94vw);max-height:88vh}.permission-code-editor{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--app-border);background:var(--app-bg-subtle)}.permission-code-editor__allow-all{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--app-text)}.permission-code-editor__allow-all-text{line-height:1.45;word-break:keep-all}.permission-code-editor__checkbox{width:1.125rem;height:1.125rem;min-width:1.125rem;min-height:1.125rem;flex-shrink:0;margin-top:2px;accent-color:var(--color-primary);cursor:pointer}.permission-code-editor__groups{display:flex;flex-direction:column;gap:16px}.permission-code-editor__group-title{font-size:.75rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:var(--app-muted);margin-bottom:8px}.permission-code-editor__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;align-items:start}.permission-code-editor__item{display:flex;align-items:flex-start;gap:8px;min-width:0;cursor:pointer;font-size:.875rem;line-height:1.45;color:var(--app-text)}.permission-code-editor__label{word-break:keep-all;overflow-wrap:break-word;min-width:0}.standard-modal-body .permission-code-editor{border-color:var(--standard-modal-border);background:var(--standard-modal-input-bg)}.standard-modal-body .permission-code-editor__group-title{color:var(--standard-modal-muted)}.standard-modal-body .permission-code-editor__item{color:var(--standard-modal-text)}.standard-modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--standard-modal-border)}.standard-modal-title{margin:0;font-size:1.125rem;font-weight:600}.standard-modal-header-actions-wrap,.standard-modal-header-actions{display:flex;align-items:center;gap:.5rem}.btn-standard-modal{padding:.5rem 1rem;border-radius:var(--radius);font-weight:500;cursor:pointer;border:none}.btn-standard-modal.btn-ghost{background:transparent;color:var(--standard-modal-muted);border:1px solid var(--standard-modal-border)}.btn-standard-modal.btn-ghost:hover{background:var(--standard-modal-border);color:var(--standard-modal-text)}.btn-standard-modal.btn-primary{background:var(--standard-modal-primary);color:#fff}.btn-standard-modal.btn-primary:hover:not(:disabled){background:var(--standard-modal-primary-hover)}.btn-standard-modal.btn-primary:disabled{opacity:.6;cursor:not-allowed}.standard-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.standard-modal-section{margin-bottom:2rem}.standard-modal-section:last-child{margin-bottom:0}.standard-modal-section-title{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--standard-modal-text);letter-spacing:-.01em}.standard-modal-section-body{margin:0}.standard-form-grid{display:grid;grid-template-columns:1fr 1fr;row-gap:1.25rem;column-gap:1rem}.standard-form-grid--full{grid-template-columns:1fr}.standard-form-grid .standard-form-field{grid-column:span 1}.standard-form-grid--full .standard-form-field,.standard-form-grid .standard-form-field--full{grid-column:1 / -1}.standard-form-field{margin-bottom:0}.standard-form-field+.standard-form-field{margin-top:0}.standard-form-field label{display:block;margin-bottom:.4rem;font-weight:500;color:var(--standard-modal-muted);font-size:.875rem}.standard-form-field label .required{color:var(--color-error)}.standard-form-field input,.standard-form-field select,.standard-form-field textarea{width:100%;padding:.5rem .75rem;border-radius:var(--radius);background:var(--standard-modal-input-bg);border:1px solid var(--standard-modal-input-border);color:var(--standard-modal-text);transition:border-color .15s,box-shadow .15s}.standard-form-field input:focus,.standard-form-field select:focus,.standard-form-field textarea:focus{outline:none;border-color:var(--standard-modal-primary);box-shadow:0 0 0 2px #2563eb33}.standard-modal-body textarea::placeholder{color:var(--standard-modal-muted)}.standard-form-field .helper{margin-top:.35rem;font-size:.8125rem;line-height:1.4;color:var(--standard-modal-muted)}.project-view-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:1px solid var(--app-border)}.project-view-tab{padding:.5rem 1rem;border:none;background:transparent;cursor:pointer;font-weight:500;color:var(--app-muted);border-bottom:2px solid transparent;font-size:.9rem}.project-view-tab:hover{color:var(--app-text)}.project-view-tab.active{color:var(--nav-active-bg);border-bottom-color:var(--nav-active-bg)}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;min-height:400px;margin-bottom:1rem}@media(max-width:900px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.kanban-board{grid-template-columns:1fr}}.kanban-column{background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;display:flex;flex-direction:column;min-width:0;min-height:200px}.kanban-column-drop{border-color:var(--nav-active-bg);box-shadow:var(--shadow-focus)}.kanban-column-header{padding:.6rem .75rem;border-bottom:1px solid var(--app-border);font-weight:600;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.kanban-column-title{color:var(--app-text)}.kanban-column-count{background:var(--app-bg);color:var(--app-muted);padding:.2rem .5rem;border-radius:999px;font-size:.8rem}.kanban-column-body{flex:1;padding:.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.kanban-card{background:var(--app-bg);border:1px solid var(--app-border);border-radius:8px;padding:.6rem .75rem;cursor:grab;transition:box-shadow .15s;color:var(--app-text);display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.kanban-card:hover{box-shadow:0 2px 8px #0003}.kanban-card:active{cursor:grabbing}.kanban-card-dragging{opacity:.5;cursor:grabbing}.kanban-card-body{flex:1;min-width:0;cursor:pointer}.kanban-card-title{font-weight:500;font-size:.9rem;margin-bottom:.25rem}.kanban-card-meta{font-size:.75rem;color:var(--app-muted);margin-bottom:.2rem}.kanban-card-progress{font-size:.75rem;color:var(--nav-active-bg)}.kanban-card-edit{flex-shrink:0;padding:.2rem .4rem;border:none;background:transparent;cursor:pointer;color:var(--app-muted);font-size:1rem;line-height:1;border-radius:4px}.kanban-card-edit:hover{color:var(--app-text);background:var(--app-surface)}.kanban-card-number{font-size:.75rem;color:var(--app-muted);margin-left:.35rem}.kanban-card-overdue{margin-left:.35rem;padding:.1rem .3rem;font-size:.65rem;background:var(--color-danger);color:var(--color-on-accent);border-radius:4px}.task-overdue-badge{margin-left:.35rem;padding:.1rem .3rem;font-size:.7rem;background:var(--color-danger);color:var(--color-on-accent);border-radius:4px}.project-agenda-week{display:flex;flex-direction:column;gap:1rem;max-width:100%;overflow:hidden}.project-agenda-week-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.project-agenda-week-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-agenda-week-filters{display:flex;gap:.5rem;flex-wrap:wrap}.project-agenda-week-filters input,.project-agenda-week-filters select{background:var(--app-bg);border:1px solid var(--app-border);color:var(--app-text);border-radius:8px;padding:.35rem .6rem;min-width:120px}.project-agenda-week-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;min-height:420px;max-width:100%;overflow:hidden}.project-agenda-week-backlog{background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;min-height:420px;overflow:hidden}.project-agenda-week-backlog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.project-agenda-week-backlog-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem}.project-agenda-week-backlog-item{background:var(--app-bg);border:1px solid var(--app-border);border-radius:10px;padding:.5rem .6rem;cursor:grab;display:flex;flex-direction:column;gap:.25rem}.project-agenda-week-backlog-item:active{cursor:grabbing}.project-agenda-week-backlog-title{font-weight:600;font-size:.9rem;color:var(--app-text);text-decoration:none;color:inherit;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-agenda-week-backlog-meta{font-size:.75rem;color:var(--app-muted)}.project-agenda-week-empty{color:var(--app-muted);font-size:.85rem;padding:.5rem 0}.project-agenda-week-grid-wrap{min-width:0;overflow:hidden;background:var(--project-week-bg, #1e293b);border:1px solid var(--project-week-border, #334155);border-radius:12px;padding:.75rem;display:flex;flex-direction:column}.project-agenda-week-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.project-agenda-week-header-cell{background:var(--project-week-header-bg, #1e3a5f);border:1px solid var(--project-week-header-border, #2563eb);border-radius:8px;padding:.5rem;text-align:center;color:var(--project-week-header-text, #e2e8f0);font-size:.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.project-agenda-week-header-cell strong{font-size:1rem}.project-agenda-week-multiday-band{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:36px;gap:.25rem;min-height:36px;margin-bottom:.5rem;overflow:hidden;max-width:100%;background:transparent;border-radius:0;padding:0}.project-agenda-week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:minmax(120px,1fr);gap:.25rem;overflow:hidden;max-width:100%}.project-agenda-week-cell{background:var(--project-week-cell-bg, #243447);border:1px dashed var(--project-week-cell-border, #475569);border-radius:8px;position:relative;min-height:120px;overflow:hidden}.project-agenda-week-cell-date{position:absolute;top:4px;right:6px;font-size:.7rem;color:var(--project-week-muted, #94a3b8)}.project-agenda-week-cell-dev{position:absolute;top:20px;left:4px;right:4px;display:flex;flex-wrap:wrap;gap:2px;overflow:hidden}.project-agenda-week-cell-single{margin-top:2rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;overflow-x:hidden;max-height:calc(100% - 2rem)}.project-agenda-single-day-event{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:inherit;padding:.2rem .35rem;border-radius:6px;background:#3b82f640;border:1px solid rgba(59,130,246,.4);color:#e2e8f0}.project-agenda-single-day-event:hover{background:#3b82f659}.project-agenda-dev-pill{font-size:.65rem;padding:2px 6px;border-radius:4px;background:var(--color-primary, #2563eb);color:#fff;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.project-agenda-event{background:var(--project-week-event-bg, #2563eb);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:0 .25rem 0 0;display:flex;align-items:center;gap:.35rem;color:#e2e8f0;cursor:grab;position:relative;overflow:hidden;min-width:0;min-height:28px}.project-agenda-event:active{cursor:grabbing}.project-agenda-event-progress{position:absolute;left:0;bottom:0;width:4px;background:#93c5fde6;border-radius:0 0 0 4px;pointer-events:none}.project-agenda-event-handle.start{margin-left:2px}.project-agenda-event-title{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;text-decoration:none;color:inherit;flex:1;display:flex;align-items:center;gap:.25rem}.project-agenda-event-id{font-weight:400;opacity:.9;font-size:.8rem}.project-agenda-event-meta{font-size:.7rem;color:#e2e8f0d9;flex-shrink:0;white-space:nowrap}.project-agenda-event-handle{width:6px;min-width:6px;height:18px;background:#ffffff59;border-radius:4px;flex-shrink:0;cursor:ew-resize}.project-agenda-event-handle.end{margin-left:auto}@media(max-width:900px){.project-agenda-week-layout{grid-template-columns:1fr}.project-agenda-week-backlog{min-height:240px}}.mcal{padding:0;max-width:100%;overflow:hidden}.mcal-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--app-border)}.mcal-header__title{font-weight:600;font-size:1.1rem;color:var(--app-text)}.mcal-header__nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mcal-header__arrow{width:2rem;height:2rem;padding:0;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);border-radius:var(--radius);font-size:1.25rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.mcal-header__arrow:hover{background:var(--app-bg-subtle)}.mcal-grid{width:100%;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.mcal-head-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--app-border);background:var(--app-bg-subtle)}.mcal-head-cell{padding:.5rem 0;text-align:center;font-size:.8rem;font-weight:600;color:var(--app-muted)}.mcal-head-cell:first-child{color:var(--color-error)}.mcal-head-cell:last-child{color:var(--color-primary)}.mcal-week{position:relative;display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--app-border)}.mcal-week:last-child{border-bottom:none}.mcal-cell{border-right:1px solid var(--app-border);padding:4px 8px 0 0;text-align:right;min-height:inherit}.mcal-cell:last-of-type{border-right:none}.mcal-cell--empty{background:var(--app-bg-subtle);opacity:.6}.mcal-cell__date{font-size:.8rem;color:var(--app-muted);line-height:1}.mcal-cell:first-child .mcal-cell__date{color:var(--color-error)}.mcal-cell:nth-child(7) .mcal-cell__date{color:var(--color-primary)}.mcal-cell--today .mcal-cell__date{color:var(--color-on-accent);font-weight:700;background:var(--color-error);width:1.6em;height:1.6em;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.mcal-cell-milestones{margin-top:4px;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end}.mcal-milestone-pill{font-size:.6rem;padding:2px 5px;border-radius:4px;background:var(--color-primary, #2563eb);color:var(--color-on-accent, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mcal-event-layer{position:absolute;left:0;right:0;pointer-events:none;z-index:1}.mcal-event-layer a{pointer-events:auto}.mcal-bar{position:absolute;height:22px;border-radius:var(--radius);padding:0 8px;background:var(--color-primary);color:var(--color-on-accent);font-size:12px;font-family:var(--font-sans);text-decoration:none;display:flex;align-items:center;gap:6px;box-sizing:border-box;white-space:nowrap;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:opacity .15s,box-shadow .15s;margin:0 3px}.mcal-bar:hover{opacity:.9;box-shadow:var(--shadow-card-hover);color:var(--color-on-accent)}.mcal-bar--done{background:var(--color-success)}.mcal-bar__title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.mcal-bar__badge{flex-shrink:0;font-size:10px;display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;background:#ffffff38;line-height:1.4}.mcal-bar__badge:before{content:"\25cf";font-size:6px}.mcal-bar__badge--done{background:#ffffff47}.project-schedule-tab{padding:1rem}.project-schedule-calendar{padding:0}.project-schedule-calendar-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--app-border)}.project-schedule-calendar-title{font-weight:600;font-size:1.1rem;color:var(--app-text)}.project-schedule-calendar-year-month{color:var(--app-text)}.project-schedule-calendar-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-schedule-calendar-manage-btn{font-size:.9rem}.project-schedule-calendar-arrows{display:flex;align-items:center;gap:.25rem}.project-schedule-calendar-arrow{width:2rem;height:2rem;padding:0;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);border-radius:var(--radius);font-size:1.25rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.project-schedule-calendar-arrow:hover{background:var(--app-bg-subtle)}.project-schedule-calendar-today{font-size:.85rem;padding:.35rem .6rem}.project-schedule-calendar-grid{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius)}.project-schedule-calendar-grid thead th{padding:.5rem .35rem;text-align:center;font-size:.8rem;font-weight:600;color:var(--app-muted);border-bottom:1px solid var(--app-border);background:var(--app-bg-subtle)}.project-schedule-calendar-grid tbody td{vertical-align:top;border:1px solid var(--app-border)}.project-schedule-calendar-cell{min-height:100px;height:100px}.project-schedule-calendar-cell-empty{background:var(--app-bg-subtle)}.project-schedule-calendar-cell-inner{position:relative;height:100%;padding:.35rem;overflow:hidden}.project-schedule-calendar-cell-date{position:absolute;top:.35rem;right:.5rem;font-size:.8rem;color:var(--app-muted)}.project-schedule-calendar-cell-today .project-schedule-calendar-cell-date{color:var(--color-error);font-weight:700;width:1.6em;height:1.6em;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--color-error);margin:-2px -2px 0 0}.project-schedule-calendar-cell-events{margin-top:1.5rem;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;max-height:calc(100% - 1.5rem)}.project-schedule-event-card{border-radius:8px;padding:.4rem .5rem;font-size:.8rem;background:var(--bom-card, var(--app-bg));border:1px solid var(--app-border);display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:inherit}.project-schedule-event-card:hover{opacity:.95}.project-schedule-event-project{color:var(--app-text)}.project-schedule-event-development{color:var(--app-text);border-left:3px solid var(--color-primary, #2563eb)}.project-schedule-event-task{min-height:2.5rem}.project-schedule-event-todo .project-schedule-event-status{color:var(--color-error)}.project-schedule-event-done .project-schedule-event-status{color:var(--color-success)}.project-schedule-event-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-schedule-event-status{font-size:.7rem;display:flex;align-items:center;gap:.25rem}.project-schedule-event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-schedule-event-todo .project-schedule-event-dot{background:var(--color-error)}.project-schedule-event-done .project-schedule-event-dot{background:var(--color-success)}.project-schedule-event-time{font-size:.65rem;color:var(--app-muted);align-self:flex-end}.project-gantt{display:flex;flex-direction:column;gap:1rem;max-width:100%;overflow:hidden}.project-gantt-empty,.project-gantt-loading,.project-gantt-error{padding:2rem;text-align:center;color:var(--app-muted)}.project-gantt-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.project-gantt-title{font-weight:600;color:var(--app-text)}.project-gantt-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-gantt-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:.5rem;min-height:400px;overflow:hidden;border:1px solid var(--app-border);border-radius:var(--radius);background:var(--app-surface)}.project-gantt-tree{overflow:auto;border-right:1px solid var(--app-border)}.project-gantt-tree-table{width:100%;border-collapse:collapse;font-size:.85rem}.project-gantt-tree-table th,.project-gantt-tree-table td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid var(--app-border)}.project-gantt-tree-table th{background:var(--app-bg-subtle);font-weight:600}.project-gantt-row-critical{background:#ef444414}.project-gantt-task-name{color:var(--app-text);text-decoration:none}.project-gantt-task-name:hover{text-decoration:underline}.project-gantt-task-num{color:var(--app-muted);font-size:.8rem;margin-right:.25rem}.project-gantt-chart-wrap{overflow-x:auto;overflow-y:hidden;min-width:0}.project-gantt-chart-header{display:flex;min-width:max-content;border-bottom:1px solid var(--app-border)}.project-gantt-day-cell{min-width:28px;padding:.35rem .25rem;font-size:.7rem;color:var(--app-muted);text-align:center;border-right:1px solid var(--app-border);display:flex;flex-direction:column;align-items:center;gap:2px}.project-gantt-milestone-markers{display:flex;flex-wrap:wrap;gap:1px;justify-content:center;max-width:100%}.project-gantt-milestone-pill{font-size:.55rem;padding:1px 4px;border-radius:3px;background:var(--color-primary, #2563eb);color:var(--color-on-accent, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26px}.project-gantt-chart-body{min-width:max-content}.project-gantt-row{position:relative;height:32px;border-bottom:1px solid var(--app-border)}.project-gantt-bars{position:relative;height:100%;width:100%;min-width:800px}.project-gantt-bar{position:absolute;top:6px;height:18px;border-radius:4px;display:block;box-sizing:border-box}.project-gantt-bar{background:var(--color-primary);opacity:.9}.project-gantt-bar-critical{background:var(--color-error)}.project-gantt-bar-baseline{background:var(--app-muted);opacity:.4;top:4px;height:10px}.project-gantt-bar-progress{position:absolute;left:0;top:0;bottom:0;background:#fff6;border-radius:4px;pointer-events:none}.app-main h1,.app-main h2,.app-main h3{color:var(--app-text)}.app-main a{color:var(--nav-active-bg)}.app-main a:hover{color:var(--bom-accent-hover)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.25rem,1fr));gap:var(--space-4)}.process-card{cursor:pointer;transition:box-shadow .2s;box-sizing:border-box;padding:var(--space-4);border-radius:var(--radius);background:var(--app-bg-subtle);border:1px solid var(--app-border);color:var(--app-text)}.process-card:hover{box-shadow:var(--shadow-card-strong)}.process-card h3{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:600;line-height:1.3;letter-spacing:-.025em;color:var(--app-text)}.process-card p{color:var(--app-muted);margin:0;font-size:var(--text-base);line-height:1.3;letter-spacing:-.025em}.process-card--link{text-decoration:none;color:inherit;display:block}.home-layout{width:100%;display:flex;flex-direction:column;gap:1rem}.home-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%}@media(max-width:900px){.home-cards-grid{grid-template-columns:1fr}}@media(max-width:768px){.home-cards-grid{gap:.75rem}}@media(max-width:480px){.home-cards-grid{gap:.5rem}.home-card{min-height:160px}}.home-card{display:flex;flex-direction:column;min-height:180px}.home-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:-.25rem 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid var(--app-border)}.home-card-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--app-text)}.home-card-actions{display:flex;gap:.25rem}.home-card-btn{padding:.35rem .5rem;border:none;background:var(--app-bg);color:var(--app-muted);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1}.home-card-btn:hover{color:var(--app-text);background:var(--app-border)}.home-card-body{flex:1;min-height:80px}.home-card-placeholder{color:var(--app-muted);font-size:.9rem;margin:0}.home-maximize-overlay{align-items:flex-start;padding:2rem;overflow-y:auto}.home-maximize-modal{max-width:900px;width:100%;max-height:calc(100vh - 4rem);overflow-y:auto}.home-maximize-modal .home-card-header{margin-top:0}.home-top-card__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.home-top-card__intro h1{margin:0 0 var(--space-1)}.home-top-card__lede{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--app-text)}.home-top-card__actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.home-card-settings{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--app-border)}.home-card-settings__hint{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--app-muted)}.home-card-settings__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.home-card-settings__row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.home-card-settings__label{font-weight:500;min-width:7.5rem}.home-card-settings__order-btns{display:flex;gap:.25rem}.home-card-settings__hidden-label{margin-top:var(--space-2);font-size:.85rem;color:var(--app-muted)}.home-btn--icon-pad{padding:.2rem .4rem}.home-approval-banner{border-radius:6px;padding:10px 16px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.home-approval-banner--default{background:color-mix(in srgb,var(--color-warning) 12%,var(--app-bg));border:1px solid color-mix(in srgb,var(--color-warning) 35%,var(--app-border))}.home-approval-banner--urgent{background:color-mix(in srgb,var(--color-danger) 10%,var(--app-bg));border:1px solid color-mix(in srgb,var(--color-danger) 40%,var(--app-border))}.home-approval-banner__messages{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.home-approval-banner__item{font-size:.8125rem;color:var(--app-text)}.home-approval-banner__item--pending strong{color:var(--app-text)}.home-approval-banner__item--revising{font-weight:600;color:var(--color-warning)}.home-approval-banner__item--urgent{font-weight:600;color:var(--color-danger)}.home-approval-banner__link{font-size:.75rem;color:var(--color-info);text-decoration:none;white-space:nowrap}.home-approval-banner__link:hover{text-decoration:underline}.home-meta-list{list-style:none;padding:0;margin:0}.home-meta-list__item{margin-bottom:.5rem}.home-meta-list__item--tight{margin-bottom:.35rem}.home-meta-list__item--row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.home-meta-list__link{font-weight:500;color:var(--color-info)}.home-meta-list__meta{margin-left:.35rem;font-size:.8rem;color:var(--app-muted)}.home-discussion-body{margin:.2rem 0 0;font-size:.85rem;color:var(--app-muted);line-height:1.4}.home-meta-list__item--discussion{margin-bottom:.75rem}.home-meta-list__item--discussion-tight{margin-bottom:.5rem}.home-tasks-table{width:100%;margin-top:.5rem;font-size:var(--app-table-compact-font, .9rem)}.home-favorite-remove{font-size:.75rem;padding:.2rem .4rem}.home-error-text{color:var(--color-danger);font-size:var(--text-sm);margin:0}.home-card-link-row{margin-top:.5rem;font-size:.85rem}.home-card-link-row--block{display:inline-block}.home-card__task-create{font-size:.8rem;padding:.35rem .6rem}.home-modal-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--app-border);padding-bottom:var(--space-2)}.home-maximize-modal__body{min-height:200px;padding-top:var(--space-4)}.home-maximize-modal__footer-links{margin-top:var(--space-4);margin-bottom:0}.home-glossary-section{margin-bottom:var(--space-4);padding:.75rem 1rem;border-radius:6px;background:var(--app-bg);border:1px solid var(--app-border)}.home-glossary-section__title{margin:0 0 var(--space-2);font-size:.95rem;font-weight:600;color:var(--app-muted)}.home-glossary-section__dl{margin:0;padding-left:.75rem}.home-glossary-term{margin-bottom:.45rem}.home-glossary-term__dt{font-weight:600;margin-bottom:.1rem;font-size:var(--text-sm);color:var(--app-text)}.home-glossary-term__full{font-weight:400;color:var(--app-muted);font-size:.85em}.home-glossary-term__dd{margin:0;font-size:.85rem;color:var(--app-text);line-height:1.4}.home-glossary-modal{width:min(96vw,1152px);max-width:96vw;max-height:95vh;min-height:72vh;overflow:hidden;display:flex;flex-direction:column}.home-glossary-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--app-border);flex-shrink:0}.home-glossary-modal__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--app-text)}.home-glossary-modal__body{flex:1 1 0;min-height:50vh;min-width:0;overflow:hidden}.home-glossary-modal__scroll{height:100%;overflow-y:auto;overflow-x:hidden}.home-glossary-modal__columns{display:flex;gap:0;align-items:stretch;min-height:min-content}.home-glossary-modal__col{flex:1 1 0%;min-width:0}.home-glossary-modal__col--left{padding-right:.75rem}.home-glossary-modal__col--right{padding-left:.75rem}.home-glossary-modal__divider{width:1px;flex-shrink:0;background:var(--app-border)}.bom-page{display:flex;flex-direction:column;height:calc(100vh - 2rem);min-height:400px;background:var(--bom-bg);color:var(--bom-text);border-radius:var(--radius);border:1px solid var(--app-border);box-shadow:var(--shadow-card);padding:var(--space-6);box-sizing:border-box;margin:0 var(--space-2) var(--space-2);overflow:visible}.bom-header{background:var(--bom-surface);border-bottom:1px solid var(--bom-border);padding:var(--space-4) var(--space-5);border:1px solid var(--bom-border);border-radius:var(--radius);overflow:visible}.bom-selectors{overflow:visible}.bom-header-block{margin:0}.bom-header-block--identity{margin-bottom:var(--space-4)}.bom-header-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.bom-header-title-group{flex:1 1 12rem;min-width:0}.bom-header-top{margin-bottom:var(--space-4)}.bom-page-title{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.45;color:var(--bom-text);display:flex;align-items:center;gap:var(--space-2)}.bom-page-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--bom-text-muted);max-width:48rem}.bom-title-icon{color:var(--bom-badge-product);font-size:1.1rem;line-height:1}.bom-entry-mode{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex-shrink:0}.bom-entry-mode-label{font-size:var(--text-sm);color:var(--bom-text-muted);white-space:nowrap}.bom-header-block--filters{padding-top:var(--space-3);margin-top:0;border-top:1px solid var(--bom-border)}.bom-header-block--toolbar{padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--bom-border)}.bom-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.bom-selectors{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.bom-rev-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);row-gap:var(--space-1)}.bom-rev-inline-form{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.bom-rev-inline-form .bom-select--narrow{width:4rem;padding:var(--space-1) var(--space-2)}.bom-check-label{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;font-size:var(--text-sm);color:var(--bom-text)}.bom-autocomplete-wrap--rev{width:24rem;min-width:18rem}.bom-resize-handle--inner{position:absolute;top:0;right:-4px;bottom:0;width:8px;cursor:col-resize;background:transparent;z-index:150}.bom-select{min-width:180px;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--bom-border);background:var(--bom-bg);color:var(--bom-text);font-size:.9rem}.bom-select.full{max-width:100%}.bom-autocomplete-wrap{position:relative;min-width:180px;overflow:visible}.bom-autocomplete-item--emph{font-weight:600;color:var(--bom-text)}.bom-autocomplete-wrap input.bom-select{width:100%}.bom-autocomplete-list{z-index:1050;position:absolute;top:100%;left:0;right:0;margin:0;padding:0;list-style:none;max-height:240px;overflow-y:auto;background:var(--bom-surface);border:1px solid var(--bom-border);border-radius:6px;box-shadow:var(--shadow-bom-list)}.bom-autocomplete-item{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--bom-border);display:block;width:100%;text-align:left;background:none;border-left:none;border-right:none;border-top:none;color:var(--bom-text);font-size:inherit}.bom-autocomplete-item:last-child{border-bottom:none}.bom-autocomplete-item:hover,.bom-autocomplete-item-active{background:var(--bom-border)}.bom-autocomplete-empty{color:var(--bom-text-muted)}.bom-resize-handle:hover{background:linear-gradient(90deg,transparent,var(--bom-accent),transparent)!important;opacity:.8}.bom-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);justify-content:flex-end}.bom-actions .btn,.bom-actions .btn.btn-primary{border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.bom-actions .btn-primary{background:var(--bom-accent);color:var(--color-on-accent);border:1px solid transparent}.bom-actions .btn-primary:hover:not(:disabled){background:var(--bom-accent-hover)}.bom-actions .btn-primary:disabled{opacity:.55;cursor:not-allowed}.bom-actions .btn-secondary{background:var(--bom-surface);color:var(--bom-text);border:1px solid var(--bom-border)}.bom-actions .btn-secondary:hover:not(:disabled){background:var(--bom-card)}.bom-tree-toolbtn{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.bom-tree-mode-btns{display:flex;gap:var(--space-1);flex-wrap:wrap}.bom-breadcrumb{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--bom-text-muted);line-height:1.45}.bom-header-info{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--bom-text-muted)}.bom-layout{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0;margin-top:var(--space-4);gap:var(--space-3)}@media(max-width:900px){.bom-layout{grid-template-columns:1fr}}.bom-tree-panel{border:1px solid var(--bom-border);border-radius:var(--radius);background:var(--bom-surface);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.bom-tree-title{padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--text-sm);color:var(--bom-text);border-bottom:1px solid var(--bom-border);display:flex;align-items:center;gap:var(--space-2)}.bom-tree-title-inner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);width:100%}.bom-tree-title-actions{display:flex;gap:var(--space-1);flex-wrap:wrap;align-items:center}.bom-tree-title-meta{font-size:var(--text-xs);color:var(--bom-text-muted);margin-left:var(--space-2)}.bom-tree-title-meta strong{color:var(--bom-text);font-weight:600}.bom-tree-title:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bom-badge-product)}.bom-tree-view-wrap{flex:1;overflow:auto;padding:var(--space-2) var(--space-3)}.bom-project-list-wrap{max-height:60vh;min-height:160px;overflow:auto;padding:0;-webkit-overflow-scrolling:touch}.bom-project-list-table{width:100%;border-collapse:collapse;font-size:.875rem}.bom-project-list-table th{position:sticky;top:0;z-index:1;padding:.4rem .75rem;text-align:left;font-weight:600;font-size:.75rem;color:var(--bom-text-muted);background:var(--bom-bg);border-bottom:1px solid var(--bom-border);white-space:nowrap}.bom-project-list-table .bom-project-name-td .bom-project-name-main{font-weight:700;color:var(--bom-text)}.bom-project-list-table td{padding:.4rem .75rem;border-bottom:1px solid var(--bom-border);color:var(--bom-text);cursor:pointer}.bom-project-list-table tbody tr:hover{background:var(--bom-border)}.bom-project-list-table tbody tr.selected{background:#6366f159}.bom-project-list-table tbody tr.selected td,.bom-project-list-table tbody tr.selected .bom-project-name-main{color:var(--bom-text)}.bom-project-list-table tbody tr.selected .bom-project-code-sub{color:var(--bom-text-muted)}.bom-project-list-table tbody tr.bom-project-row-root-sep{border-top:2px solid var(--bom-border)}.bom-project-list-table tbody tr.bom-project-row-in-group td{border-bottom:none}.bom-project-list-table tbody tr.bom-project-row-child td{padding-top:.25rem;padding-bottom:.25rem}.bom-project-list-table .bom-tree-placeholder{padding:1rem;color:var(--bom-text-muted);text-align:center}.bom-project-list-table .bom-project-name-td{overflow:visible}.bom-project-list-table tbody tr{position:relative}.bom-project-name-cell-wrap{position:relative;min-height:1px}.bom-project-connector{position:absolute;left:0;top:0;box-sizing:border-box;border-left:2px solid var(--bom-connector, #94a3b8);border-bottom:2px solid var(--bom-connector, #94a3b8);pointer-events:none}.bom-project-name-cell{display:flex;flex-direction:column;gap:.09rem}.bom-project-name-main{font-weight:600;font-size:.875rem;line-height:1.08}.bom-project-code-sub{font-size:.7rem;color:var(--bom-text-muted);font-weight:400}.bom-workflow-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--bom-accent, #3b82f6);vertical-align:middle;cursor:pointer}.bom-workflow-dot:hover{opacity:.9;filter:brightness(1.1)}.bom-workflow-popover{margin:.75rem .5rem;padding:.75rem;background:var(--bom-card, #1e293b);border:1px solid var(--bom-border);border-radius:8px;font-size:.875rem;box-shadow:var(--shadow-bom-list)}.bom-workflow-popover-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600}.bom-workflow-popover-close{background:none;border:none;color:var(--bom-text-muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:0 .25rem}.bom-workflow-popover-close:hover{color:var(--bom-text)}.bom-workflow-popover-project{margin:0 0 .25rem;font-weight:500}.bom-workflow-popover-template{margin:0 0 .5rem;font-size:.8rem;color:var(--bom-text-muted)}.bom-workflow-popover-steps{margin:0;padding-left:1.25rem;list-style:decimal}.bom-workflow-popover-steps li{margin-bottom:.2rem}.bom-workflow-tab{padding:.5rem 0}.bom-workflow-tab-project{margin:0 0 .25rem;font-weight:600}.bom-workflow-tab-template{margin:0 0 .75rem;font-size:.875rem;color:var(--bom-text-muted)}.bom-workflow-tab-steps{margin:0;padding-left:1.25rem}.bom-workflow-tab-steps li{margin-bottom:.35rem}.workflow-usage-template-cell{display:flex;flex-direction:column;gap:.1rem}.workflow-usage-template-name{font-weight:600;font-size:.9375rem}.workflow-usage-template-code{font-size:.75rem;color:var(--app-muted, #64748b)}.workflow-usage-project-sep{color:var(--app-muted, #94a3b8);margin:0 .25rem}.bom-resize-handle{width:6px;flex-shrink:0;cursor:col-resize;background:var(--bom-border);transition:background .15s}.bom-resize-handle:hover{background:var(--bom-accent)}.bom-tree-view{font-size:.9rem}.bom-tree-item{display:flex;align-items:center;gap:4px;min-height:28px;padding:2px 6px;cursor:pointer;position:relative;border-radius:4px;transition:background .12s}.bom-tree-item:hover{background:var(--bom-border)}.bom-tree-item.selected{background:#3b82f673;color:var(--color-on-accent)}.bom-tree-item.selected .bom-tree-label-meta{color:#ffffffd9}.bom-tree-item-root{font-weight:600}.bom-tree-item-root .bom-tree-icon-computer{font-size:1rem}.bom-tree-toggle{width:18px;min-width:18px;height:18px;padding:0;border:none;background:none;cursor:pointer;color:var(--bom-text-muted);font-size:.65rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bom-tree-toggle:hover{color:var(--bom-text)}.bom-tree-item.selected .bom-tree-toggle{color:#ffffffe6}.bom-tree-toggle-closed,.bom-tree-toggle-open{transform:rotate(0)}.bom-tree-toggle-leaf{visibility:hidden}.bom-tree-connector{position:absolute;top:0;bottom:0;left:0;width:1px;border-left:1px dotted var(--bom-border);pointer-events:none}.bom-tree-item.selected .bom-tree-connector{border-left-color:#ffffff40}.bom-tree-item.bom-tree-item-affected{background:#eab30840;border-left:3px solid rgb(234,179,8)}.bom-tree-item.bom-tree-item-affected:hover{background:#eab30859}.bom-tree-item.bom-tree-item-search-hit .bom-tree-label-code,.bom-tree-item.bom-tree-item-search-hit .bom-tree-label-name{color:#fbbf24;font-weight:700}.bom-tree-item.bom-tree-item-search-hit{border-left:2px solid rgba(251,191,36,.6)}.bom-tree-item.bom-tree-item-search-hit.selected .bom-tree-label-code,.bom-tree-item.bom-tree-item-search-hit.selected .bom-tree-label-name{color:#fffffff2}.bom-tree-item-product-badge{font-size:.7rem;color:var(--bom-text-muted);margin-right:.35rem}.bom-tree-icon{width:20px;min-width:20px;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bom-tree-icon-file{opacity:.9}.bom-tree-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:0}.bom-tree-label-line1{display:flex;flex-direction:row;align-items:baseline;gap:.35rem;flex-wrap:nowrap;min-width:0}.bom-tree-label-code{flex-shrink:0;white-space:nowrap}.bom-tree-level{min-width:2.25rem;font-size:.7rem;color:var(--bom-text-muted);margin-right:.35rem;flex-shrink:0}.bom-tree-label-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bom-tree-label-meta{font-size:.75rem;color:var(--bom-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bom-tree-placeholder{padding:1rem;color:var(--bom-text-muted);font-size:.9rem}.affected-items-bom-tree .bom-tree-view{font-size:.72rem;line-height:1.2}.affected-items-bom-tree .bom-tree-item{min-height:22px;padding:2px 5px}.affected-items-bom-tree .bom-tree-item-root{padding-top:2px;padding-bottom:2px}.affected-items-bom-tree .bom-tree-level{font-size:.56rem;min-width:2rem}.affected-items-bom-tree .bom-tree-label-meta{font-size:.6rem}.affected-items-bom-tree .bom-tree-toggle{width:14px;min-width:14px;height:14px;font-size:.55rem}.affected-items-bom-tree .bom-tree-icon{width:16px;min-width:16px;font-size:.8rem}.affected-items-bom-tree .bom-tree-item-root .bom-tree-icon-computer{font-size:.8rem}.bom-detail-panel{background:var(--bom-surface);border:1px solid var(--bom-border);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0;overflow:hidden}.bom-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--bom-border);padding:0 1rem;background:var(--bom-bg)}.bom-tab{padding:.75rem 1.25rem;border:none;background:transparent;cursor:pointer;font-weight:500;color:var(--bom-text-muted);border-bottom:3px solid transparent;font-size:.9rem;margin-bottom:-1px}.bom-tab:hover{color:var(--bom-text)}.bom-tab.active{color:var(--bom-accent);border-bottom-color:var(--bom-accent);font-weight:600}.bom-detail-content{flex:1;overflow:auto;padding:1.25rem;color:var(--bom-text)}.bom-detail-placeholder{color:var(--bom-text-muted);margin:0}.task-detail-panel-embed{display:flex;flex-direction:column;flex:1;min-height:0}.task-detail-panel-embed .bom-detail-tabs{flex-shrink:0}.task-detail-panel-embed .bom-detail-content{flex:1;min-height:0}.task-detail-panel-embed .task-detail-panel-header{flex-shrink:0}.project-task-tree-right .bom-detail-tabs{background:var(--app-border);border-bottom-color:var(--app-border)}.project-task-tree-right .bom-tab{color:var(--app-muted)}.project-task-tree-right .bom-tab:hover{color:var(--app-text)}.project-task-tree-right .bom-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.project-task-tree-right .bom-detail-content,.project-task-tree-right .task-detail-panel-header{color:var(--app-text)}.project-task-tree-right .task-detail-panel-header .muted{color:var(--app-muted)}.bom-viewer-placeholder{padding:2rem;text-align:center;color:var(--bom-text-muted)}.bom-paste-zone{border:1px dashed var(--bom-border, #555);border-radius:8px;padding:.75rem 1rem;cursor:text;background:var(--bom-bg-subtle, rgba(255,255,255,.03))}.bom-paste-zone:focus{outline:none;border-color:var(--bom-accent, #6b9bd1)}.bom-paste-zone-hint{font-size:.8rem;color:var(--bom-text-muted);margin-top:.35rem}.bom-overview-dl{display:grid;grid-template-columns:auto 1fr;row-gap:.55rem;column-gap:1.5rem}.bom-overview-dl dt{color:var(--bom-text-muted);font-size:.875rem;font-weight:500}.bom-overview-dl dd{margin:0;color:var(--bom-text);font-size:.9375rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.bom-overview-dl dt.bom-dt-group{margin-top:1.25rem;margin-bottom:.25rem;padding-top:.5rem;font-weight:700;font-size:.9rem;color:var(--bom-text);grid-column:1 / -1;border-top:1px solid var(--bom-border)}.bom-overview-dl dt.bom-dt-group:first-child{margin-top:0;padding-top:0;border-top:none}.bom-overview-dl dd.bom-dt-group{display:none}.bom-overview-dl dd .btn{margin-left:0;min-height:2rem;min-width:2.5rem;padding:.35rem .65rem;vertical-align:middle}.project-basic-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.project-basic-right-column{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.model-edit-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;align-items:start}@media(max-width:640px){.model-edit-two-column{grid-template-columns:1fr}}.project-basic-tree{border:none;border-radius:0;overflow:hidden;background:transparent;display:flex;flex-direction:column;color:var(--bom-text)}.project-basic-tree-wrap{flex:1;overflow:auto;min-height:120px}.project-basic-tree-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--bom-text)}.project-basic-tree-table thead tr{background:transparent;border:none}.project-basic-tree-table th{text-align:left;padding:.4rem 0 .25rem;font-weight:700;font-size:.9rem;color:var(--bom-text)}.project-basic-tree-table td{padding:.3rem 0;vertical-align:middle;font-weight:400;color:var(--bom-text)}.project-basic-tree-row,.project-basic-tree-row-current{background:transparent}.project-basic-tree-row-current .project-basic-tree-text,.project-basic-tree-row-current .project-basic-tree-code{color:var(--bom-accent);font-weight:600;font-size:.9375rem}.project-basic-tree-cell{display:flex;align-items:center;gap:.2rem}.project-basic-tree-spacer,.project-basic-tree-expand{width:20px;display:inline-block;flex-shrink:0;font-size:.75rem;color:var(--bom-text-muted)}.project-basic-tree-icon{margin-right:.35rem;flex-shrink:0}.project-basic-tree-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--bom-text)}.project-basic-tree-text a{text-decoration:none;color:inherit}.project-basic-tree-code{font-size:.8em;color:var(--bom-text-muted);margin-left:.25rem}.standard-form-field:has(.yesno-radios){display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.standard-form-field:has(.yesno-radios)>label{margin-bottom:0;flex-shrink:0;line-height:1.5}.standard-form-field:has(.yesno-radios)>.yesno-radios{margin-left:0}.yesno-radios{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;line-height:1.5}.yesno-radios label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;white-space:nowrap;min-height:2rem}.yesno-radios input[type=radio]{margin:0}.bom-overview-subtitle{margin:1rem 0 .5rem;font-size:.95rem;color:var(--bom-text-muted)}.bom-overview-two-column,.bom-overview-two-column .bom-overview-left,.bom-overview-two-column .bom-overview-right{min-width:0}@media(max-width:768px){.bom-overview-two-column{grid-template-columns:1fr}}.bom-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:100}.bom-modal{background:var(--bom-surface);color:var(--bom-text);padding:1.5rem;border-radius:12px;border:1px solid var(--bom-border);min-width:320px;box-shadow:var(--shadow-modal)}.bom-modal h3{margin:0 0 1rem;font-size:1.1rem}.bom-modal input,.bom-modal select{background:var(--bom-bg);border:1px solid var(--bom-border);color:var(--bom-text);border-radius:8px}.bom-modal input[type=date]{background-color:var(--bom-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.125rem 1.125rem;padding-right:2.25rem}[data-theme=dark] .bom-modal input[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}.bom-modal-actions{margin-top:1rem;display:flex;gap:.5rem}.member-page{min-width:320px;max-width:720px}.member-page-title{margin:0 0 .75rem;font-size:1.1rem;color:var(--bom-text)}.member-page-title-code{font-size:.8rem;font-weight:400;color:var(--bom-text-muted)}.member-page-msg{margin:0 0 .75rem;font-size:.875rem;color:var(--bom-text-muted)}.member-page-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:280px}@media(max-width:560px){.member-page-layout{grid-template-columns:1fr}}.member-panel{background:var(--bom-bg);border:1px solid var(--bom-border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;min-height:0}.member-panel-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--bom-text)}.member-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.member-list-item{display:flex;align-items:center;gap:.2rem;padding:.18rem .4rem .18rem 0;transition:background .15s ease}.member-list-item:hover{background:var(--bom-border)}.member-list-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--bom-text, currentColor)}.member-list-icon svg{vertical-align:middle}.member-list-name{font-size:.9rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.member-list-delete{padding:.2rem .5rem;font-size:1.1rem;line-height:1;border-radius:6px;min-width:28px}.btn-icon{background:transparent;border:none;cursor:pointer}.member-panel-footer{margin:.75rem 0 0;font-size:.8rem;color:var(--bom-text-muted)}.member-search-input{width:100%;margin-bottom:.5rem}.member-search-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0;max-height:220px}.member-search-item{padding:.4rem 0;border-bottom:1px solid var(--bom-border);transition:background .15s ease}.member-search-item:hover:not(.member-search-item-disabled){background:var(--bom-border)}.member-search-item-disabled{opacity:.7;color:var(--bom-text-muted)}.member-search-empty{padding:.75rem;color:var(--bom-text-muted);font-size:.875rem}.member-search-badge{font-size:.63rem;color:var(--bom-text-muted);margin-left:.35rem}.member-panel-actions{margin-top:.75rem;display:flex;align-items:center;gap:.5rem;flex-shrink:0}.member-selected-count{font-size:.875rem;color:var(--bom-text-muted);margin-right:auto}.member-panel-org .org-tree{overflow-y:auto;flex:1;min-height:0;max-height:320px}.org-tree-node{margin:0}.org-tree-node-dept{margin-bottom:.06rem}.org-tree-dept-row,.org-tree-user-row{display:flex;align-items:center;gap:.14rem;padding:.1rem .4rem;border-radius:6px;cursor:default;transition:background .15s ease;font-size:.9rem}.org-tree-dept-row{cursor:pointer}.org-tree-dept-row:not(.org-tree-node-disabled):hover,.org-tree-user-row:not(.org-tree-node-disabled):hover{background:var(--bom-border)}.org-tree-node-disabled{opacity:.65;color:var(--bom-text-muted)}.org-tree-toggle{width:1.25rem;padding:0;border:none;background:none;color:var(--bom-text);font-size:.59rem;cursor:pointer;flex-shrink:0}.org-tree-dept-name{font-size:.9rem;flex:1;min-width:0}.org-tree-children{margin-left:.5rem}.org-tree-user-row{padding-left:.2rem}.org-tree-user-indent{width:1rem;flex-shrink:0}.member-list-drop-zone{flex:1;min-height:120px;border:2px dashed transparent;border-radius:8px;transition:border-color .15s,background .15s}.member-list-drop-zone.member-drop-target{border-color:var(--bom-accent);background:#818cf814}.member-remove-zone{margin-top:.6rem;padding:.5rem .75rem;min-height:2.25rem;border:2px dashed var(--bom-border);border-radius:8px;text-align:center;font-size:.8rem;color:var(--bom-text-muted);transition:border-color .15s,background .15s}.member-remove-zone:hover,.member-remove-zone:focus-within{border-color:var(--color-danger);background:#ef44440f}.member-remove-zone.member-remove-zone-active{border-color:var(--color-danger);background:#ef44441f}.member-dragging{opacity:.5;cursor:grabbing}.bom-modal-wide{min-width:420px;max-width:90vw}.bom-modal-70{width:70vw;min-width:420px;max-width:90vw;max-height:90vh;overflow-y:auto}.bom-badge{display:inline-block;padding:.25rem .55rem;border-radius:6px;font-size:.75rem;font-weight:600}.bom-badge-product{background:#eab30859;color:var(--bom-badge-product)}.bom-badge-semi{background:#f9731659;color:var(--bom-badge-semi)}.bom-badge-raw{background:#0ea5e959;color:var(--bom-badge-raw)}.bom-badge-spec{background:#8b5cf659;color:var(--bom-badge-spec)}.bom-badge-none{background:#64748b80;color:var(--bom-badge-none)}.bom-qty-badge{background:#818cf859;color:var(--bom-accent-hover);margin-left:.35rem}.bom-context-overlay{position:fixed;inset:0;z-index:99}.bom-context-menu{position:fixed;z-index:100;background:var(--bom-surface);border:1px solid var(--bom-border);border-radius:10px;box-shadow:0 10px 40px #0006;padding:.35rem 0;min-width:180px}.bom-context-menu button{display:block;width:100%;padding:.55rem 1rem;border:none;background:none;text-align:left;cursor:pointer;font-size:.9rem;color:var(--bom-text)}.bom-context-menu button:hover{background:var(--bom-card)}.bom-context-danger{color:var(--color-error)!important}.bom-history-list{max-height:60vh;overflow:auto}.bom-specs-panel{padding:.5rem 0}.bom-specs-panel p{margin:.5rem 0}.bom-check-note{color:var(--bom-text-muted);font-size:.9rem}.bom-err-bar{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;background:var(--color-error-bg);color:var(--color-error);font-size:.9rem}.app-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--app-bg)}.app-login-card{width:100%;max-width:380px;padding:2rem;background:var(--app-surface);border-radius:var(--radius);border:1px solid var(--app-border);box-shadow:var(--shadow-login)}.app-login-card h1{margin:0 0 .5rem;font-size:1.5rem}.app-login-card .form-row{margin-bottom:1rem}.app-login-card label{display:block;margin-bottom:.35rem;font-size:.9rem;color:var(--app-muted)}.app-login-card input{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid var(--app-border);border-radius:6px;background:var(--app-bg);color:var(--app-text)}.app-login-card input:focus{outline:none;border-color:var(--color-primary)}.app-login-card .btn{width:100%;padding:.65rem 1rem}.pf-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.25rem}.pf-tab{padding:.45rem 1.1rem;border-radius:var(--radius);border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-muted);cursor:pointer;font-size:.85rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;font-family:var(--font-sans)}.pf-tab:hover{background:var(--app-bg-subtle);color:var(--app-text)}.pf-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.pf-scroll-area{overflow-x:auto;padding-bottom:.75rem;padding-top:.75rem}.pf-flow-row{display:flex;align-items:flex-start;gap:0;min-width:max-content}.pf-arrow{display:flex;align-items:center;justify-content:center;width:36px;padding-top:36px;color:var(--app-muted);font-size:1.2rem;font-weight:700;flex-shrink:0;user-select:none}.pf-node{width:130px;flex-shrink:0;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}.pf-node-top{display:flex;flex-direction:column;align-items:center;padding:.65rem .4rem .5rem;position:relative}.pf-node-seq{position:absolute;top:.3rem;left:.35rem;font-size:.6rem;font-weight:700;color:#ffffffa6;font-variant-numeric:tabular-nums}.pf-node-icon{font-size:1.8rem;line-height:1;margin-bottom:.3rem}.pf-node-label{font-size:.75rem;font-weight:700;color:#fff;text-align:center;line-height:1.3;word-break:keep-all}.pf-node-badge{margin-top:.25rem;font-size:.62rem;font-weight:600;color:#ffffffd9;background:#fff3;padding:.08rem .45rem;border-radius:10px}.pf-node-links{flex:1;padding:.5rem .5rem .55rem;background:var(--app-surface);border:1px solid var(--app-border);border-top:none;min-height:56px;display:flex;flex-direction:column;gap:.1rem}.pf-node-link{display:block;font-size:.68rem;color:var(--color-primary);text-decoration:none;padding:.1rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.pf-node-link:before{content:"\b7";margin-right:.25rem;color:var(--app-muted)}.pf-node-link:hover{text-decoration:underline}.pf-reject-path{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.35rem .6rem;border:1px dashed var(--color-error);border-radius:var(--radius);background:var(--color-error-bg);color:var(--color-error);font-size:.78rem}.pf-reject-chip{padding:.1rem .45rem;border-radius:10px;border:1px solid;font-size:.72rem;font-weight:600}[data-theme=dark] .pf-node-links{border-color:#ffffff14}.qsetup-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--app-bg);font-size:.85rem}.qsetup-header{padding:.75rem 1.25rem 0;border-bottom:1px solid var(--app-border);background:var(--app-surface);flex-shrink:0}.qsetup-title{font-size:1rem;font-weight:700;color:var(--app-text);margin:0 0 .6rem}.qsetup-project-bar{display:flex;align-items:center;gap:.6rem;padding-bottom:.6rem}.qsetup-project-bar label{font-size:.8rem;font-weight:600;color:var(--app-muted);white-space:nowrap}.qsetup-project-select{flex:1;max-width:380px;height:30px;padding:0 8px;font-size:.82rem;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface);color:var(--app-text)}.qsetup-tabs{display:flex;gap:0;padding-top:.5rem}.qsetup-tab{padding:6px 18px;font-size:.82rem;font-weight:600;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;color:var(--app-muted);white-space:nowrap;transition:color .15s,border-color .15s}.qsetup-tab:hover{color:var(--app-text)}.qsetup-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.qsetup-tab-badge{display:inline-block;margin-left:5px;font-size:.65rem;padding:0 4px;border-radius:8px;background:var(--color-success);color:#fff;vertical-align:middle;line-height:1.6}.qsetup-content{flex:1;overflow:auto;padding:1rem 1.25rem}.qsetup-section{margin-bottom:1.5rem}.qsetup-section-title{font-size:.82rem;font-weight:700;color:var(--app-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--app-border)}.qsetup-form-grid{display:grid;grid-template-columns:140px 1fr;gap:1px;border:1px solid var(--app-border);border-radius:4px;overflow:hidden;background:var(--app-border)}.qsetup-form-label{background:var(--app-bg-subtle);padding:6px 10px;font-size:.8rem;font-weight:600;color:var(--app-muted);display:flex;align-items:center}.qsetup-form-value{background:var(--app-surface);padding:4px 8px;display:flex;align-items:center;min-height:30px}.qsetup-form-value input,.qsetup-form-value textarea{width:100%;border:none;outline:none;background:transparent;font-size:.82rem;color:var(--app-text);font-family:inherit}.qsetup-form-value select{width:100%;padding:3px 6px;font-size:.82rem;font-family:inherit;color:var(--app-text);background:var(--app-bg);border:1px solid var(--app-border);border-radius:4px;outline:none;cursor:pointer;appearance:auto}.qsetup-form-value select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.qsetup-form-value textarea{resize:vertical;min-height:48px}.qsetup-form-row-span2{grid-column:1 / -1}.qsetup-stage-preview{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 0 2px}.qsetup-stage-arrow{color:var(--app-muted);font-size:.8rem;line-height:1}.qsetup-stage-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;background:var(--app-bg-subtle);border:1px solid var(--app-border);font-size:.72rem;white-space:nowrap}.qsetup-stage-seq{font-weight:700;color:var(--color-primary)}.qsetup-stage-code{font-weight:500;color:var(--app-text)}.qsetup-stage-hint{margin:0;font-size:.73rem;color:var(--app-muted)}.qsetup-milestone-table{width:100%;border-collapse:collapse;font-size:.82rem}.qsetup-milestone-table th{background:#3a5ba0;color:#fff;padding:5px 10px;text-align:left;font-weight:600;font-size:.8rem;position:sticky;top:0}.qsetup-milestone-table td{border:1px solid var(--app-border);padding:0;height:30px}.qsetup-milestone-label{padding:0 10px;background:var(--app-bg-subtle);font-weight:600;color:var(--app-muted);white-space:nowrap;font-size:.8rem}.qsetup-milestone-input{width:100%;height:100%;border:none;outline:none;background:transparent;padding:0 6px;font-size:.82rem;color:var(--app-text);box-sizing:border-box}.qsetup-grid-wrap{overflow-x:auto;overflow-y:auto;max-height:55vh;border:1px solid var(--app-border);border-radius:2px}.qsetup-grid{width:100%;border-collapse:collapse;font-size:.8rem;table-layout:fixed}.qsetup-grid th{background:#3a5ba0;color:#fff;padding:4px 8px;height:34px;font-weight:700;font-size:.8rem;text-align:center;white-space:nowrap;position:sticky;top:0;z-index:1;border:1px solid rgba(255,255,255,.15)}.qsetup-grid td{border:1px solid var(--app-border);padding:0;height:30px;vertical-align:middle}.qsetup-grid .qsg-rownum{width:34px;text-align:center;font-size:.74rem;color:var(--app-muted);background:#8080800f;user-select:none}.qsetup-grid .qsg-cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;padding:0 5px;font-size:.8rem;color:var(--app-text);box-sizing:border-box}.qsetup-grid .qsg-cell-select{width:100%;height:100%;border:none;outline:none;background:transparent;padding:0;font-size:.8rem;color:var(--app-text);cursor:pointer;appearance:none;text-align:center}.qsetup-grid tr.qsg-row-error{background:var(--color-error-bg, #fff0f0)}.qsetup-grid tr.qsg-row-alt{background:#8080800a}.qsg-del-btn{background:none;border:none;cursor:pointer;color:var(--color-danger);font-size:.9rem;line-height:1;padding:0}.qsg-del-btn:disabled{color:var(--app-muted);cursor:default}.qsg-badge{font-size:.7rem;padding:1px 5px;border-radius:3px;white-space:nowrap}.qsg-badge-new{background:#dbeafe;color:#1d4ed8}.qsg-badge-reuse{background:#dcfce7;color:#166534}.qsg-badge-warn{background:#fef9c3;color:#92400e;cursor:help}.qsg-badge-saved{background:#dcfce7;color:#166534}.qsg-badge-error{background:#fee2e2;color:#991b1b}.qsg-badge-ok{color:var(--color-success);font-weight:700}.qsg-badge-ng{color:var(--color-danger);font-weight:700}.qsg-ac-wrap{position:relative;width:100%;height:100%}.qsg-ac-list{position:absolute;top:100%;left:0;min-width:220px;max-height:200px;overflow-y:auto;background:var(--app-surface);border:1px solid var(--app-border);border-radius:4px;box-shadow:var(--shadow-dropdown);z-index:200;font-size:.8rem}.qsg-ac-item{padding:5px 10px;cursor:pointer;white-space:nowrap;color:var(--app-text)}.qsg-ac-item:hover,.qsg-ac-item.active{background:var(--app-bg-selected)}.qsetup-footer{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-top:1px solid var(--app-border);background:var(--app-surface);flex-shrink:0}.qsetup-footer .spacer{flex:1}.qsetup-add-row-btn{background:none;border:1px dashed var(--app-border);border-radius:3px;padding:3px 12px;font-size:.8rem;cursor:pointer;color:var(--app-text)}.qsetup-add-row-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.qsetup-summary-card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:6px;padding:1rem 1.25rem;margin-bottom:1rem}.qsetup-summary-card h4{margin:0 0 .5rem;font-size:.85rem;font-weight:700;color:var(--app-text)}.qsetup-summary-row{display:flex;gap:1rem;font-size:.82rem;color:var(--app-muted);margin-bottom:.2rem}.qsetup-save-steps{margin:1rem 0}.qsetup-save-step{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.82rem;border-bottom:1px solid var(--app-border)}.qsetup-step-icon{font-size:1rem;width:20px;text-align:center}.qsetup-step-label{flex:1}.qsetup-step-status{font-size:.78rem;color:var(--app-muted)}.qsetup-step-status.done{color:var(--color-success);font-weight:600}.qsetup-step-status.error{color:var(--color-danger);font-weight:600}[data-theme=dark] .qsetup-project-select,[data-theme=dark] .qsetup-form-value input,[data-theme=dark] .qsetup-form-value select,[data-theme=dark] .qsetup-form-value textarea,[data-theme=dark] .qsg-cell-input,[data-theme=dark] .qsg-cell-select{color-scheme:dark}[data-theme=dark] .qsetup-form-value select{background:var(--app-bg);border-color:var(--app-border)}[data-theme=dark] .qsg-badge-new{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .qsg-badge-reuse{background:#14532d;color:#86efac}[data-theme=dark] .qsg-badge-warn{background:#451a03;color:#fcd34d}[data-theme=dark] .qsetup-grid th{border-color:#ffffff1a}.ql-container{font-family:var(--font-sans);font-size:13px;flex:1;display:flex;flex-direction:column}.ql-editor{flex:1;min-height:240px;line-height:1.7}[data-theme=dark] .ql-toolbar{background:#1e2a3a;border-color:var(--app-border)!important}[data-theme=dark] .ql-toolbar .ql-stroke{stroke:#ccc}[data-theme=dark] .ql-toolbar .ql-fill{fill:#ccc}[data-theme=dark] .ql-toolbar .ql-picker{color:#ccc}[data-theme=dark] .ql-toolbar .ql-picker-options{background:#1e2a3a;border-color:var(--app-border)}[data-theme=dark] .ql-container{border-color:var(--app-border)!important;background:var(--app-bg)}[data-theme=dark] .ql-editor{color:var(--app-text)}[data-theme=dark] .ql-editor.ql-blank:before{color:var(--app-text-muted)}.card.dev-status-page{margin:var(--space-2);margin-bottom:var(--space-4)}.dev-status-page{padding:var(--space-6)}.dev-status-page__header{margin-bottom:var(--space-4)}.dev-status-page__title{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.45;color:var(--app-text)}.dev-status-page__subtitle{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--app-muted)}.dev-status-page__filters{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.dev-status-page__project-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--app-text)}.dev-status-page__project-select{min-width:16.25rem}.dev-status-page__guide{margin-bottom:var(--space-4);font-size:var(--text-sm)}.dev-status-page__msg{margin-bottom:var(--space-4)}.dev-status-page__tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.dev-status-page__tab-btn[aria-selected=true]{cursor:default}.dev-status-page__content{min-height:0}.dev-status-tab{display:flex;flex-direction:column;gap:var(--space-3)}.dev-status-tab__title{margin:0;font-size:1.05rem;font-weight:600;color:var(--app-text)}.dev-status-tab__actions{margin-top:var(--space-4)}.dev-status-note{margin-bottom:var(--space-4)}.dev-status-table-wrap{overflow-x:auto}.dev-status-table-wrap--wide{max-width:80%}.dev-status-table{width:100%;font-size:var(--app-table-compact-font)}.service-desk-page{padding:var(--space-6) var(--space-8);box-sizing:border-box;min-height:0;margin:var(--space-2);margin-bottom:var(--space-4);background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.service-desk-page__header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.service-desk-page__title{margin:0;font-size:var(--text-xl);font-weight:700;line-height:1.45;color:var(--app-text)}.service-desk-page__subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--app-muted)}.service-desk-page__error{color:var(--color-error);background:var(--color-error-bg);border:1px solid var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:1.5}.service-desk-page__loading{text-align:center;padding:var(--space-8) var(--space-5);color:var(--app-muted);font-size:var(--text-base);line-height:1.5}.service-desk-list.card{margin-bottom:0;padding:0;overflow:hidden}.service-desk-list__filters{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--app-bg-subtle);border-bottom:1px solid var(--app-border);flex-wrap:wrap;align-items:center}.service-desk-list__filters .form-input{font-size:var(--text-sm)}.service-desk-list__search{flex:1 1 11.25rem;min-width:7.5rem}.service-desk-list__count{font-size:var(--text-xs);color:var(--app-muted);white-space:nowrap;margin-left:var(--space-1)}.service-desk-list__empty{text-align:center;padding:var(--space-8) var(--space-5);color:var(--app-muted);font-size:var(--text-base);line-height:1.5}.service-desk-list__table-wrap{overflow-x:auto}.service-desk-table{width:100%;border-collapse:collapse;font-size:var(--app-table-compact-font)}.service-desk-table thead th{background:var(--app-bg-subtle);border-bottom:2px solid var(--app-border);padding:var(--space-2) var(--app-table-compact-padding-x);font-weight:600;font-size:var(--text-xs);color:var(--app-muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;text-align:center;vertical-align:middle;line-height:1.4}.service-desk-table thead th.service-desk-table__th--left{text-align:left;padding-left:var(--space-4)}.service-desk-table thead th:not(.service-desk-table__th--left) .service-desk-table__sort-btn{justify-content:center}.service-desk-table__th--left .service-desk-table__sort-btn{justify-content:flex-start}.service-desk-table__sort-btn{display:inline-flex;align-items:center;gap:var(--space-1);width:100%;margin:0;padding:var(--space-1) var(--space-1);border:none;border-radius:calc(var(--radius) / 2);background:transparent;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:inherit;line-height:inherit}.service-desk-table__sort-btn:hover{color:var(--app-text);background:var(--app-border)}.service-desk-table__sort-btn:active{filter:brightness(.97)}.service-desk-table__sort-btn:focus{outline:none}.service-desk-table__sort-btn:focus-visible{outline:2px solid var(--nav-active-bg);outline-offset:2px}.service-desk-table thead th.service-desk-table__th--active .service-desk-table__sort-btn{color:var(--app-text)}.service-desk-table__sort-ind{flex-shrink:0;font-size:.65rem;opacity:.9}.service-desk-table tbody td{padding:var(--app-table-compact-padding-y) var(--app-table-compact-padding-x);min-height:2.5rem;box-sizing:border-box;border-bottom:1px solid var(--app-border);text-align:center;vertical-align:middle;color:var(--app-text)}.service-desk-table tbody td.service-desk-table__td--left{text-align:left;padding-left:var(--space-4)}.service-desk-table tbody tr{cursor:pointer;background:var(--app-surface)}.service-desk-table tbody tr:nth-child(2n){background:var(--app-bg-subtle)}.service-desk-table tbody tr:hover{background:var(--app-bg-selected)}.service-desk-table__mono{font-family:ui-monospace,monospace;font-size:var(--text-xs);color:var(--app-muted)}.service-desk-table__title-cell{font-weight:500;max-width:17.5rem}.service-desk-table__title-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text)}.service-desk-table__meta{color:var(--app-muted);font-size:var(--app-table-compact-font)}.service-desk-table__date{color:var(--app-muted);white-space:nowrap;font-size:var(--app-table-compact-font)}.service-desk-ticket__chip{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:500;padding:.125rem var(--space-2);border-radius:var(--radius);white-space:nowrap;border:1px solid var(--chip-br, var(--app-border));background:var(--chip-bg, var(--app-bg-subtle));color:var(--chip-fg, var(--app-text))}.service-desk-ticket__chip--FEEDBACK{--chip-fg: var(--change-flow-ecn);--chip-bg: color-mix(in srgb, var(--change-flow-ecn) 12%, var(--app-surface));--chip-br: color-mix(in srgb, var(--change-flow-ecn) 35%, var(--app-border))}.service-desk-ticket__chip--BUG{--chip-fg: var(--color-error);--chip-bg: color-mix(in srgb, var(--color-error) 12%, var(--app-surface));--chip-br: color-mix(in srgb, var(--color-error) 35%, var(--app-border))}.service-desk-ticket__chip--FEATURE{--chip-fg: var(--color-primary);--chip-bg: color-mix(in srgb, var(--color-primary) 12%, var(--app-surface));--chip-br: color-mix(in srgb, var(--color-primary) 35%, var(--app-border))}.service-desk-ticket__chip--QUESTION{--chip-fg: var(--change-flow-approve);--chip-bg: color-mix(in srgb, var(--change-flow-approve) 12%, var(--app-surface));--chip-br: color-mix(in srgb, var(--change-flow-approve) 35%, var(--app-border))}.service-desk-ticket__chip--SUPPORT{--chip-fg: var(--app-muted);--chip-bg: var(--app-bg-subtle);--chip-br: var(--app-border)}.service-desk-ticket__pri{font-size:var(--text-sm);font-weight:600}.service-desk-ticket__pri--LOW{color:var(--color-success)}.service-desk-ticket__pri--MEDIUM{color:var(--color-primary)}.service-desk-ticket__pri--HIGH{color:var(--color-warning)}.service-desk-ticket__pri--CRITICAL{color:var(--color-error)}.service-desk-ticket__status{display:inline-block;border-radius:var(--radius);padding:.125rem var(--space-2);font-size:var(--text-xs);font-weight:600;white-space:nowrap;border:1px solid var(--st-br, var(--app-border));background:var(--st-bg, var(--app-bg-subtle));color:var(--st-fg, var(--app-text))}.service-desk-ticket__status--NEW{--st-fg: var(--app-muted);--st-bg: color-mix(in srgb, var(--app-muted) 10%, var(--app-surface));--st-br: color-mix(in srgb, var(--app-muted) 40%, var(--app-border))}.service-desk-ticket__status--REVIEW{--st-fg: var(--color-primary);--st-bg: color-mix(in srgb, var(--color-primary) 12%, var(--app-surface));--st-br: color-mix(in srgb, var(--color-primary) 40%, var(--app-border))}.service-desk-ticket__status--IN_PROGRESS{--st-fg: var(--color-warning);--st-bg: color-mix(in srgb, var(--color-warning) 12%, var(--app-surface));--st-br: color-mix(in srgb, var(--color-warning) 40%, var(--app-border))}.service-desk-ticket__status--WAITING_USER{--st-fg: var(--change-flow-ecn);--st-bg: color-mix(in srgb, var(--change-flow-ecn) 12%, var(--app-surface));--st-br: color-mix(in srgb, var(--change-flow-ecn) 40%, var(--app-border))}.service-desk-ticket__status--RESOLVED{--st-fg: var(--color-success);--st-bg: color-mix(in srgb, var(--color-success) 12%, var(--app-surface));--st-br: color-mix(in srgb, var(--color-success) 40%, var(--app-border))}.service-desk-ticket__status--CLOSED{--st-fg: var(--app-muted);--st-bg: var(--app-bg-subtle);--st-br: var(--app-border)}table.data-table:not(.plm-table),table.project-task-table:not(.plm-table){width:100%;min-width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.35;letter-spacing:-.025em;background:var(--plm-table-bg);color:var(--app-text)}table.data-table:not(.plm-table) thead th,table.project-task-table:not(.plm-table) thead th{background:var(--plm-table-header-bg);border:none;border-bottom:1px solid var(--plm-table-row-border);padding:var(--space-4) var(--space-5);font-weight:600;font-size:var(--text-sm);color:var(--plm-table-th-fg);vertical-align:middle;white-space:nowrap;text-transform:none}table.data-table:not(.plm-table) tbody td,table.project-task-table:not(.plm-table) tbody td{border:none;border-bottom:1px solid var(--plm-table-row-border);padding:var(--space-4) var(--space-5);min-height:3.25rem;vertical-align:middle;box-sizing:border-box;background:var(--plm-table-bg)}table.data-table:not(.plm-table) tbody tr:hover td,table.project-task-table:not(.plm-table) tbody tr:hover td{background:var(--plm-table-hover)}.plm-table.service-desk-table{background:var(--plm-table-bg);font-size:var(--text-sm)}.plm-table.service-desk-table thead th{background:var(--plm-table-header-bg);border-bottom:1px solid var(--plm-table-row-border);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);font-weight:600;text-transform:none;letter-spacing:-.025em;color:var(--plm-table-th-fg);line-height:1.35}.plm-table.service-desk-table thead th.plm-table__th--sort-active,.plm-table.service-desk-table thead th.service-desk-table__th--active{color:var(--plm-table-sort-fg)}.plm-table.service-desk-table thead th.service-desk-table__th--active .service-desk-table__sort-btn,.plm-table.service-desk-table thead th.plm-table__th--sort-active .plm-table__sort-btn{color:inherit}.plm-table.service-desk-table .service-desk-table__sort-ind,.plm-table.service-desk-table .plm-table__sort-ind{color:var(--plm-table-sort-fg)}.plm-table.service-desk-table tbody td{background:var(--plm-table-bg);border-bottom:1px solid var(--plm-table-row-border);padding:var(--space-4) var(--space-5)}.plm-table.service-desk-table tbody tr:hover td{background:var(--plm-table-hover)}.plm-table.service-desk-table .service-desk-table__sort-btn:hover{background:var(--plm-table-hover);color:var(--plm-table-th-fg)}.react-datepicker-popper{z-index:10050;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:var(--app-border);color:var(--app-surface)}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:var(--app-bg-subtle);color:var(--app-bg-subtle)}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:var(--app-surface);color:var(--app-surface)}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:var(--app-bg-subtle);color:var(--app-bg-subtle)}.react-datepicker{font-family:var(--font-sans);font-size:var(--text-sm, .875rem);background-color:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-dropdown, 0 10px 25px rgba(0, 0, 0, .12))}.react-datepicker__header{background-color:var(--app-bg-subtle);border-bottom:1px solid var(--app-border);border-top-left-radius:var(--radius, 8px)}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:var(--radius, 8px)}.react-datepicker__header--middle,.react-datepicker__header--bottom{border-top:1px solid var(--app-border)}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header,h2.react-datepicker__current-month{color:var(--app-text);font-weight:600}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:var(--app-text)}.react-datepicker__day-name{color:var(--app-muted)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:var(--app-muted)}.react-datepicker__navigation:hover *:before{border-color:var(--app-text)}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:var(--app-surface);border:1px solid var(--app-border);color:var(--app-text)}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{color:var(--app-muted);opacity:.55}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:var(--app-bg-selected)}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{background-color:var(--color-primary);color:var(--color-on-accent)}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:var(--nav-active-bg, var(--color-primary));color:var(--color-on-accent)}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:var(--app-bg-selected);color:var(--app-text)}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:var(--color-primary);color:var(--color-on-accent)}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__month-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__quarter-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__year-text--in-range){background-color:color-mix(in srgb,var(--color-primary) 45%,transparent);color:var(--app-text)}.react-datepicker__time-container{border-left:1px solid var(--app-border)}.react-datepicker__time-container--with-today-button{border:1px solid var(--app-border)}.react-datepicker__time-container .react-datepicker__time{background:var(--app-surface)}.react-datepicker__time-list-item:hover{background:var(--app-bg-selected)!important}.react-datepicker__time-list-item--selected{background:var(--color-primary)!important;color:var(--color-on-accent)!important}.react-datepicker__today-button{background:var(--app-bg-subtle);border-top:1px solid var(--app-border);color:var(--app-text)}.react-datepicker__today-button:hover{background:var(--app-bg-selected)}.react-datepicker__close-icon:after{background-color:var(--color-primary);color:var(--color-on-accent)}.react-datepicker__close-icon--disabled:after{background-color:var(--app-muted);color:var(--app-surface)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:var(--app-surface);border:1px solid var(--app-border)}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{color:var(--app-text)}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:var(--app-bg-selected)}
|
|
2
|
+
/*# sourceMappingURL=index.css.map */
|