.app-shell{height:100%;min-height:100%;display:flex;overflow:hidden}.app-nav{width:var(--nav-width);background:var(--nav-bg);color:var(--nav-text);flex-direction:column;flex-shrink:0;align-self:stretch;display:flex;overflow-y:auto}.app-nav-brand{border-bottom:1px solid #ffffff0f;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem 1rem;display:flex}.app-nav-brand-title{flex-wrap:wrap;align-items:baseline;gap:.35rem;display:flex}.app-nav-brand-title-text{font-size:1.1rem;font-weight:700}.app-nav-brand-version{letter-spacing:.04em;opacity:.55;text-transform:lowercase;font-size:.55rem;font-weight:500}.app-nav-brand-logo{object-fit:contain;opacity:.96;width:9.5rem;max-width:100%;height:auto;display:block}.app-nav-list{flex-direction:column;gap:.05rem;padding:.5rem 0 .75rem;display:flex}.app-nav-group{border-top:1px solid #ffffff0f;margin-top:.35rem;padding-top:.35rem}.app-nav-group--active .app-nav-group-label{color:var(--nav-text);opacity:.95}.app-nav-group-label{text-transform:uppercase;letter-spacing:.07em;color:var(--nav-text-muted);opacity:.75;padding:.35rem 1rem .2rem;font-size:.62rem;font-weight:600}.app-nav-link{color:var(--nav-text-muted);padding:.42rem 1rem;font-size:.82rem;line-height:1.25;transition:color .15s,background .15s;display:block}.app-nav-link--sub{border-radius:0 4px 4px 0;margin-right:.35rem;padding:.28rem .5rem .28rem 1.25rem;font-size:.74rem}.app-nav-link:hover{color:var(--nav-text);background:#ffffff0a}.app-nav-link--active{color:var(--nav-active);background:#2d7dd21f;font-weight:500}.app-main{flex:1;min-height:0;padding:1.5rem 2rem;overflow:hidden auto}.page-placeholder{max-width:48rem}.page-placeholder__title{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.page-placeholder__description{color:var(--nav-text-muted);margin:0 0 1rem;font-size:.95rem}.page-placeholder__hint{background:var(--card-bg);border:1px solid var(--border);color:var(--nav-text-muted);border-radius:6px;margin:0;padding:1rem;font-size:.9rem}.searchable-select{width:100%;position:relative}.searchable-select__input{box-sizing:border-box;border:1px solid var(--border);background:var(--card-bg);width:100%;color:inherit;border-radius:6px;padding:.4rem 2rem .4rem .5rem;font-size:.9rem}.searchable-select__chevron{width:16px;height:16px;color:var(--nav-text-muted,#64748b);pointer-events:auto;cursor:pointer;z-index:1;justify-content:center;align-items:center;margin-top:-8px;transition:transform .15s;display:flex;position:absolute;top:50%;right:.45rem}.searchable-select__chevron--open{transform:rotate(180deg)}.searchable-select__input:disabled~.searchable-select__chevron{opacity:.5}.searchable-select__input:disabled{opacity:.65;cursor:not-allowed}.searchable-select__input:focus{outline:2px solid var(--nav-active,#2563eb);outline-offset:1px}.searchable-select__list{z-index:40;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;max-height:14rem;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f172a1f}.searchable-select__list--unbounded{max-height:min(22rem,70vh);overflow:hidden auto}.searchable-select__empty{color:var(--nav-text-muted);padding:.45rem .55rem;font-size:.82rem}.searchable-select__option{text-align:left;border:none;border-bottom:1px solid var(--border,#e2e8f0);cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;padding:.45rem .55rem;font-size:.88rem;display:block}.searchable-select__option:last-child{border-bottom:none}.searchable-select__option:hover,.searchable-select__option:focus-visible{background:color-mix(in srgb, var(--nav-active,#2563eb) 12%, transparent);outline:none}.searchable-select__option--highlight{background:color-mix(in srgb, var(--nav-active,#2563eb) 18%, transparent)}.entity-toolbar{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.entity-toolbar-create{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--page-heading);border-radius:8px;align-self:flex-start;padding:.55rem 1rem;font-size:.95rem;font-weight:600}.entity-toolbar-create:hover{border-color:var(--nav-active);color:var(--nav-active)}.entity-toolbar-create--active{background:var(--page-bg);border-color:var(--border);color:var(--nav-text-muted);font-weight:600}.entity-toolbar-create--active:hover{border-color:var(--nav-active);color:var(--nav-active)}.entity-toolbar-panel{border:1px solid var(--border);background:var(--card-bg);box-sizing:border-box;border-radius:8px;width:100%;max-width:none;padding:.75rem 1rem}.entity-form-section{margin-top:1rem}.entity-form-section:first-child{margin-top:0}.entity-form-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--nav-text-muted);margin:0 0 .45rem;font-size:.68rem;font-weight:600}.entity-form-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem 1rem;margin-bottom:.75rem;display:grid}.entity-form-section .entity-form-grid{margin-bottom:0}.entity-form-section:last-child{margin-bottom:.75rem}.entity-form-grid label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;flex-direction:column;gap:.2rem;font-size:.75rem;font-weight:600;display:flex}.entity-form-grid input,.entity-form-grid textarea,.entity-form-grid select,.entity-form-grid .searchable-select__input{border:1px solid var(--border);border-radius:6px;padding:.4rem 2rem .4rem .5rem;font-family:inherit;font-size:.9rem;line-height:1.4}.entity-form-grid input.entity-form-readonly{background:var(--page-bg,#f8fafc);color:var(--page-heading,#1a1d23);cursor:default}.entity-form-grid textarea{resize:vertical;min-height:4rem}.entity-checkbox-label{align-items:center;gap:.5rem;flex-direction:row!important}.entity-checkbox-label input[type=checkbox]{width:auto}.entity-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.entity-form-actions button{cursor:pointer;border:1px solid var(--border);background:var(--page-bg);border-radius:6px;padding:.4rem .85rem;font-size:.9rem}.entity-form-actions button[type=submit]{background:var(--nav-active);color:#fff;border-color:var(--nav-active)}.entity-form-actions--compact{border-bottom:1px solid var(--border);margin-bottom:.55rem;padding-bottom:.45rem}.entity-form-actions--compact button{border-radius:5px;padding:.22rem .55rem;font-size:.78rem}.entity-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.35rem;display:flex}.entity-detail-header-title{text-transform:uppercase;letter-spacing:.02em;color:var(--nav-text-muted);font-size:.75rem;font-weight:600}.entity-edit-btn{cursor:pointer;color:var(--nav-text-muted);background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.1rem;line-height:1}.entity-edit-btn:hover{color:var(--nav-active);background:#2d7dd214}.sortable-th-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;max-width:100%;padding:0;font-weight:600;text-decoration:none;display:inline-flex}.sortable-th-btn--right{justify-content:flex-end;width:100%}.sortable-th-btn:hover{color:var(--nav-active)}.sortable-th-indicator{opacity:.85;font-size:.65rem}.vendors-page{max-width:100%}.vendors-page h1{color:var(--page-heading);margin:0 0 .5rem;font-size:1.5rem}.vendors-page .vendors-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.vendors-page .vendors-source code{font-size:.8em}.vendors-page .vendors-source--db{color:#2d7dd2;font-weight:500}.vendors-page .vendors-toolbar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.vendors-page .vendors-search{border:1px solid var(--border);border-radius:6px;flex:1;max-width:30rem;padding:.5rem .75rem;font-size:.9rem}.vendors-page .vendors-search:focus{border-color:var(--nav-active);outline:none}.vendors-page .vendors-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.vendors-page table{border-collapse:collapse;width:100%;font-size:.9rem}.vendors-page th,.vendors-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.vendors-page th{background:var(--page-bg);color:var(--page-heading);font-weight:600}.vendors-page tbody tr:hover{background:#00000005}.vendors-page tbody tr.vendor-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.vendors-page tbody tr.vendor-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.vendors-page tbody tr.vendor-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.vendors-page tbody tr.vendor-row--expanded .vendor-toggle{color:var(--nav-active);font-weight:700}.vendors-page tbody tr.vendor-row--clickable{cursor:pointer}.vendors-page .vendor-toggle{width:2rem;color:var(--nav-text-muted);text-align:center;background:0 0;border:none;padding:.25rem;font-size:.8rem;display:inline-block}.vendors-page .vendor-toggle:hover{color:var(--nav-active)}.vendors-page .vendor-name{font-weight:500}.vendors-page .vendor-detail-row td{border-bottom:1px solid var(--border);vertical-align:top;background:#00000005;padding:0 .75rem 1rem}.vendors-page .vendor-detail-stack{box-sizing:border-box;border:1px solid var(--border);background:var(--card-bg);border-radius:8px;width:100%;max-width:min(100%,57rem);padding:.65rem .75rem}.vendors-page .vendor-description-cell{vertical-align:top;max-width:16rem}.vendors-page .vendor-description-clamp{-webkit-line-clamp:3;line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.vendors-page .vendor-detail-grid{grid-template-columns:1fr;gap:.75rem 1rem;font-size:.85rem;display:grid}@media (width>=28rem){.vendors-page .vendor-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.vendors-page .vendor-detail-section{flex-direction:column;gap:.25rem;display:flex}.vendors-page .vendor-detail-section label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.vendors-page .vendor-detail-section .value{white-space:pre-wrap;word-break:break-word}.vendors-page .vendor-detail-section a.value{color:var(--nav-active)}.vendors-page .vendors-loading,.vendors-page .vendors-error{text-align:center;color:var(--nav-text-muted);padding:2rem}.vendors-page .vendors-error{color:#c53030}.vendors-page .vendor-website-link{color:var(--nav-active);text-decoration:none}.vendors-page .vendor-website-link:hover{text-decoration:underline}.vendors-page .vendor-email-link{color:var(--nav-active);text-decoration:none}.vendors-page .vendor-email-link:hover{text-decoration:underline}.vendors-page .vendor-po-section{background:#2d7dd212;border:1px solid #2d7dd259;border-radius:8px;margin-top:1rem;padding:.65rem .75rem}.vendors-page .vendor-po-section-header label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.vendors-page .vendor-po-section-status{color:var(--nav-text-muted);margin:.5rem 0}.vendors-page .vendor-po-list{flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.vendors-page .vendor-po-block{border-top:1px solid var(--border);padding-top:.4rem}.vendors-page .vendor-po-block:first-child{border-top:none;padding-top:0}.vendors-page .vendor-po-row{cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:flex-start;gap:.35rem .5rem;padding:.25rem 0;display:flex}.vendors-page .vendor-po-row:hover{color:var(--nav-active)}.vendors-page .vendor-po-row-icon{width:1.25rem;color:var(--nav-text-muted);flex-shrink:0;padding-top:.15rem;font-size:.75rem;line-height:1.4}.vendors-page .vendor-po-row-body{flex-wrap:wrap;flex:12rem;align-items:baseline;gap:.35rem .75rem;min-width:0;display:flex}.vendors-page .vendor-po-row-summary{word-break:break-word;flex:14rem;min-width:0;font-size:.85rem;line-height:1.35}.vendors-page .vendor-po-row-total{color:var(--nav-text-muted);flex-shrink:0;font-size:.85rem;font-weight:600}.vendors-page .vendor-po-lines-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.vendors-page .vendor-po-lines-table{border-collapse:collapse;width:100%;min-width:28rem;font-size:.85rem}.vendors-page .vendor-po-lines-table th,.vendors-page .vendor-po-lines-table td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .5rem}.vendors-page .vendor-po-lines-table th{background:#00000005;font-weight:600}.vendors-page .vendor-po-lines{padding:.5rem 0}.vendors-page .vendor-contact-action{font:inherit;border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:6px;padding:.2rem .45rem;font-size:.75rem}.vendors-page .vendor-contact-action--danger{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.vendor-contact-employee-select{max-width:100%}.materials-page h1{margin:0 0 .5rem;font-size:1.5rem}.materials-page .materials-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.materials-page .materials-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.materials-page .materials-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.materials-page .materials-filter-select{min-width:9rem}.materials-page .materials-filter-select.searchable-select .searchable-select__input{border:1px solid var(--border);background:var(--card-bg);color:inherit;border-radius:6px;padding:.45rem 2rem .45rem .6rem;font-size:.85rem}.materials-page .materials-search{border:1px solid var(--border);border-radius:6px;width:100%;max-width:30rem;padding:.5rem .75rem;font-size:.9rem}.materials-page .materials-search:focus{border-color:var(--nav-active);outline:none}.materials-page .materials-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto}.materials-page table{border-collapse:collapse;width:100%;font-size:.9rem}.materials-page th,.materials-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.materials-page th{background:var(--page-bg);font-weight:600}.materials-page tbody tr:hover{background:#00000005}.materials-page .materials-row--clickable{cursor:pointer}.materials-page tr.materials-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.materials-page tr.materials-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.materials-page tr.materials-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.materials-page tr.materials-row--expanded .materials-expand-icon{color:var(--nav-active);font-weight:700}.materials-page .materials-vendor-link{color:var(--nav-active,#2d7dd2);font-weight:600;text-decoration:none}.materials-page .materials-vendor-link:hover{text-decoration:underline}.materials-page .materials-expand-icon{width:1.75rem;color:var(--nav-text-muted);font-size:.75rem;display:inline-block}.materials-page .materials-detail-row td{box-sizing:border-box;background:#2d7dd20f;width:100%}.materials-page .materials-detail-grid{box-sizing:border-box;flex-direction:column;gap:.35rem;width:100%;min-width:0;max-width:100%;padding:.35rem .5rem .65rem;font-size:.85rem;display:flex}.materials-page .materials-detail-structure{flex-direction:column;gap:1.1rem;width:100%;max-width:min(100%,76rem);margin:0 auto;display:flex}.materials-page .materials-detail-block-title{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--nav-text-muted);margin:0 0 .4rem;padding-bottom:.25rem;font-size:.68rem;font-weight:600}.materials-page .materials-detail-block-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:start;gap:.65rem 1.5rem;display:grid}.materials-page .materials-detail-block-grid--full{grid-template-columns:1fr}.materials-page .materials-detail-block-grid--name-row{grid-template-columns:1fr;margin-bottom:.35rem}.materials-page .materials-detail-block-grid--name-row .value{color:var(--page-heading,#1a1d23);font-size:.95rem;font-weight:600}.materials-page .materials-detail-block-grid--classification-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=52rem){.materials-page .materials-detail-block-grid--classification-row{grid-template-columns:1fr}}.materials-page .materials-detail-section{flex-direction:column;gap:.3rem;min-width:0;display:flex}.materials-page .materials-detail-section--full{width:100%}.materials-page .materials-detail-section label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.materials-page .materials-detail-section .value{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.materials-page .materials-detail-value--prose{max-width:100%;color:var(--page-heading,#1a1d23);font-size:.9rem;font-weight:400;line-height:1.5;display:block}.materials-page .materials-item-edit-panel{box-sizing:border-box;width:100%;max-width:min(100%,76rem);margin:0 auto}.materials-page .materials-item-edit-panel--toolbar{align-self:stretch}.materials-page .materials-item-edit-panel .entity-toolbar-panel{width:100%;max-width:none}.materials-page .materials-item-edit-panel .entity-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.materials-page .materials-item-edit-panel .entity-form-grid textarea{box-sizing:border-box;width:100%;min-height:5.5rem}.materials-page .materials-item-edit-panel .item-form-field-span-all{grid-column:1/-1}.materials-page .materials-item-edit-panel .item-form-name-grid{grid-template-columns:1fr;margin-bottom:.4rem}.materials-page .materials-item-edit-panel .item-form-name-grid input{box-sizing:border-box;width:100%;max-width:none}.materials-page .materials-item-edit-panel .item-form-classification-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=52rem){.materials-page .materials-item-edit-panel .item-form-classification-grid{grid-template-columns:1fr}}.materials-page .materials-loading,.materials-page .materials-error{color:var(--nav-text-muted);padding:2rem}.materials-page .materials-error{color:#c53030}.materials-page .materials-source--db{color:var(--nav-active);font-weight:500}.po-form{--po-accent:#0d9488;--po-accent-dim:#0d948824;--po-line-bg:var(--card-bg,#fff);--po-ink:#0f172a;--po-ink-soft:#334155;--po-muted:#475569;--po-header-fg:var(--page-heading,#0f172a);border:1px solid var(--border,#e2e8f0);background:linear-gradient(165deg, var(--po-accent-dim) 0%, transparent 38%), var(--po-line-bg);border-radius:12px;padding:1rem 1.1rem 1.15rem;box-shadow:inset 0 1px #ffffff80}.po-form input::placeholder,.po-form textarea::placeholder{color:#64748b;opacity:1}form.po-form.entity-toolbar-panel .entity-form-grid input.po-unit-cost-input:placeholder-shown{color:#64748b;font-weight:500}form.po-form.entity-toolbar-panel .entity-form-grid label{color:var(--po-ink);text-transform:none;letter-spacing:.01em;font-size:.82rem;font-weight:700}form.po-form.entity-toolbar-panel .entity-form-grid input,form.po-form.entity-toolbar-panel .entity-form-grid textarea,form.po-form.entity-toolbar-panel .entity-form-grid select{color:var(--page-heading,#0f172a);font-weight:500}.po-form-hint{color:var(--po-ink-soft);margin:0 0 .75rem;font-size:.88rem;font-weight:600;line-height:1.45}.po-form-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--po-ink);margin:1rem 0 .5rem;font-size:.75rem;font-weight:800}.po-form-section-title:first-of-type{margin-top:0}.po-form-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem .85rem;display:grid}.po-form-grid label,.po-form-grid-full label{color:var(--po-ink);flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:700;display:flex}.po-form-grid input,.po-form-grid select,.po-form-grid textarea{font:inherit;border:1px solid var(--border,#cbd5e1);background:var(--input-bg,#fff);color:var(--po-ink);border-radius:8px;padding:.45rem .55rem}.po-form-grid-full{grid-column:1/-1}.po-form-po-readonly{background:var(--po-accent-dim);border:1px dashed var(--po-accent);font-variant-numeric:tabular-nums;min-height:2.1rem;color:var(--po-accent);border-radius:8px;align-items:center;padding:0 .55rem;font-weight:700;display:flex}.po-lines-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.po-lines-toolbar button{font:inherit;border:1px solid var(--po-accent);background:var(--po-accent);color:#fff;cursor:pointer;border-radius:8px;padding:.4rem .75rem;font-size:.85rem;font-weight:600}.po-lines-toolbar button:hover{filter:brightness(1.05)}.po-lines-toolbar button.secondary{color:var(--po-accent);background:0 0}.po-line-card{border:1px solid var(--border,#e2e8f0);background:var(--card-bg,#fff);border-radius:10px;margin-bottom:.65rem;padding:.75rem .85rem;position:relative}.po-line-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.po-line-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--po-accent-dim);color:var(--po-accent);border-radius:6px;padding:.2rem .45rem;font-size:.7rem;font-weight:800}.po-line-remove{font:inherit;color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:.25rem .5rem;font-size:.78rem}.po-line-source-toggle{border:1px solid var(--border,#cbd5e1);border-radius:8px;display:inline-flex;overflow:hidden}.po-line-source-toggle button{font:inherit;cursor:pointer;color:var(--po-ink-soft);background:0 0;border:none;padding:.35rem .65rem;font-size:.78rem}.po-line-source-toggle button.active{background:var(--po-accent);color:#fff}.po-line-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem .65rem;display:grid}.po-line-grid .po-line-classification-grid{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem .65rem;display:grid}.po-line-grid .po-line-classification-grid label{margin:0}.po-line-grid label{color:var(--po-ink);flex-direction:column;gap:.15rem;font-size:.72rem;font-weight:600;display:flex}.po-line-grid input,.po-line-grid textarea,.po-line-grid select{font:inherit;border:1px solid var(--border,#cbd5e1);color:var(--po-ink);border-radius:6px;padding:.38rem .45rem}.po-search-wrap{grid-column:1/-1;position:relative}.po-search-dropdown{z-index:20;border:1px solid var(--border,#cbd5e1);background:var(--card-bg,#fff);border-radius:8px;max-height:14rem;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f172a1f}.po-search-hit{text-align:left;border:none;border-bottom:1px solid var(--border,#f1f5f9);cursor:pointer;width:100%;font:inherit;color:var(--po-ink);background:0 0;padding:.45rem .55rem;font-size:.82rem;display:block}.po-search-hit:hover,.po-search-hit:focus-visible{background:var(--po-accent-dim);outline:none}.po-search-hit-meta{color:var(--po-muted);margin-top:.15rem;font-size:.72rem;display:block}.po-search-error{color:#b91c1c;background:#fef2f2;padding:.5rem .55rem;font-size:.78rem}.po-search-empty{color:var(--po-ink-soft);padding:.5rem .55rem;font-size:.78rem}.po-picked-pill{color:#047857;background:#ecfdf5;border-radius:6px;margin-top:.35rem;padding:.25rem .5rem;font-size:.78rem;font-weight:600}.po-line-extension{background:var(--po-accent-dim);color:#0f766e;font-variant-numeric:tabular-nums;border:1px solid #0d948859;border-radius:8px;grid-column:1/-1;margin-top:.2rem;padding:.4rem .55rem;font-size:.8rem;font-weight:700}.po-line-extension-hint{color:var(--po-header-fg,#334155);font-weight:600}.po-line-extension-muted{color:var(--po-header-fg,#475569);font-weight:600}.po-merch-from-lines{border:1px solid var(--po-accent);color:var(--po-ink);background:#0d94881a;border-radius:8px;margin:0 0 .65rem;padding:.5rem .7rem;font-size:.88rem;font-weight:600}.po-merch-from-lines strong{font-variant-numeric:tabular-nums;color:#0f766e;font-weight:800}.po-merch-from-lines-hint{color:var(--po-ink-soft);font-size:.8rem;font-weight:600}.po-money-input-row{border:1px solid var(--border,#cbd5e1);background:var(--input-bg,#fff);border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.po-money-input-row:focus-within{outline:2px solid var(--po-accent);outline-offset:1px}.po-money-symbol{font-variant-numeric:tabular-nums;color:var(--po-muted);border-right:1px solid var(--border,#e2e8f0);-webkit-user-select:none;user-select:none;background:#0f172a0d;flex-shrink:0;align-items:center;padding:0 .45rem 0 .55rem;font-weight:700;display:flex}.po-money-currency-suffix{letter-spacing:.04em;color:var(--po-ink-soft);border-left:1px solid var(--border,#e2e8f0);-webkit-user-select:none;user-select:none;background:#0f172a0d;flex-shrink:0;align-items:center;padding:0 .55rem 0 .45rem;font-size:.82rem;font-weight:700;display:flex}.po-money-input-row input{flex:1;min-width:0;box-shadow:none!important;border:none!important;border-radius:0!important}.po-line-grid .po-money-input-row{border-radius:6px}.po-line-grid .po-money-input-row input{padding:.38rem .45rem!important}.po-form-grid .po-money-input-row input{padding:.45rem .55rem!important}.po-money-input-row--computed input.po-input-computed,form.po-form.entity-toolbar-panel .entity-form-grid .po-money-input-row input.po-input-computed{font-variant-numeric:tabular-nums;cursor:default;font-weight:700;color:var(--po-ink)!important;background:#f1f5f9!important;border-style:none!important}.po-money-input-row--computed{border-style:dashed;border-color:#94a3b8}.po-form-actions-row{border-top:1px solid var(--border,#e2e8f0);flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.po-form-actions-row button[type=submit]{font:inherit;background:var(--nav-active,#2d7dd2);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.55rem 1.1rem;font-weight:700}.po-form-actions-row button[type=button]{font:inherit;border:1px solid var(--border,#cbd5e1);cursor:pointer;background:0 0;border-radius:8px;padding:.55rem 1rem}.po-form-actions-row.entity-form-actions--compact{border-top:none;border-bottom:1px solid var(--border,#e2e8f0);margin-top:0;margin-bottom:.65rem;padding-top:0;padding-bottom:.5rem}.po-form-actions-row.entity-form-actions--compact button[type=submit]{padding:.28rem .75rem;font-size:.8rem;font-weight:700}.po-form-actions-row.entity-form-actions--compact button[type=button]{padding:.26rem .65rem;font-size:.8rem}.purchase-orders-page h1{margin:0 0 .5rem;font-size:1.5rem}.purchase-orders-page .purchase-orders-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.purchase-orders-page .purchase-orders-toolbar{margin-bottom:1rem}.purchase-orders-page .purchase-orders-toggle-row{margin:0 0 .65rem}.purchase-orders-page .purchase-orders-toggle-inner{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.purchase-orders-page .purchase-orders-toggle-item{color:var(--nav-text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.purchase-orders-page .purchase-orders-search{border:1px solid var(--border);border-radius:6px;width:100%;max-width:33rem;padding:.5rem .75rem;font-size:.9rem}.purchase-orders-page .purchase-orders-search:focus{border-color:var(--nav-active);outline:none}.purchase-orders-page .purchase-orders-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto}.purchase-orders-page table{border-collapse:collapse;width:100%;font-size:.9rem}.purchase-orders-page th,.purchase-orders-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.purchase-orders-page th{background:var(--page-bg);font-weight:600}.purchase-orders-page .purchase-orders-col-vendor{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;width:12%;max-width:12rem;overflow:hidden}.purchase-orders-page th.purchase-orders-col-vendor .sortable-th-btn{max-width:100%}.purchase-orders-page tbody tr:hover{background:#00000005}.purchase-orders-page .purchase-orders-detail-row td{background:#2d7dd20f}.purchase-orders-page .purchase-orders-detail-actions{justify-content:flex-end}.purchase-orders-page .purchase-orders-detail-vendor-strip{background:#2d7dd214;border:1px solid #2d7dd240;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.65rem;padding:.5rem .65rem;font-size:.9rem;display:flex}.purchase-orders-page .purchase-orders-detail-vendor-strip-label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.purchase-orders-page .purchase-orders-detail-vendor-link{font-weight:500}.purchase-orders-page .purchase-orders-detail-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.5rem 2rem;padding:.25rem 0;font-size:.85rem;display:grid}.purchase-orders-page .purchase-orders-detail-section{flex-direction:column;gap:.25rem;display:flex}.purchase-orders-page .purchase-orders-detail-section label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.purchase-orders-page .purchase-orders-detail-section .value{white-space:pre-wrap;word-break:break-word}.purchase-orders-page .purchase-orders-link{color:var(--nav-active);text-decoration:none}.purchase-orders-page .purchase-orders-link:hover{text-decoration:underline}.purchase-orders-page .purchase-orders-row--clickable{cursor:pointer}.purchase-orders-page tr.purchase-orders-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.purchase-orders-page tr.purchase-orders-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.purchase-orders-page tr.purchase-orders-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.purchase-orders-page tr.purchase-orders-row--expanded .purchase-orders-expand-icon{color:var(--nav-active);font-weight:700}.purchase-orders-page .purchase-orders-expand-icon{width:1.75rem;color:var(--nav-text-muted);font-size:.75rem;display:inline-block}.purchase-orders-page .purchase-orders-source--db{color:var(--nav-active);font-weight:500}.purchase-orders-page .purchase-orders-source--static{color:var(--nav-text-muted)}.purchase-orders-lines{margin-top:.75rem}.purchase-orders-lines-header h3{margin:0 0 .5rem;font-size:1rem}.purchase-orders-lines-status{color:var(--nav-text-muted);margin:.5rem 0}.purchase-orders-lines-table-wrap{border:1px solid var(--border);background:#00000005;border-radius:8px;overflow:hidden}.purchase-orders-lines-table{border-collapse:collapse;width:100%;font-size:.85rem}.purchase-orders-lines-table th,.purchase-orders-lines-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .65rem}.purchase-orders-lines-table th{background:var(--page-bg);font-weight:600}.purchase-orders-page .purchase-orders-toolbar-actions{flex-wrap:wrap;align-items:stretch;gap:.5rem;width:100%;max-width:52rem;display:flex}.purchase-orders-page .purchase-orders-toolbar-actions>.entity-toolbar-create{text-align:center;box-sizing:border-box;flex:11rem;align-self:stretch}.purchase-orders-page .purchase-orders-receive-panel .purchase-orders-receive-notes{grid-column:1/-1}.purchase-orders-page .purchase-orders-receive-table-wrap{border:1px solid var(--border);background:#00000005;border-radius:8px;margin:.5rem 0 .75rem;overflow:auto}.purchase-orders-page .purchase-orders-receive-table{border-collapse:collapse;width:100%;font-size:.85rem}.purchase-orders-page .purchase-orders-receive-table th,.purchase-orders-page .purchase-orders-receive-table td{border-bottom:1px solid var(--border);text-align:left;padding:.45rem .6rem}.purchase-orders-page .purchase-orders-receive-table th{background:var(--page-bg);font-weight:600}.purchase-orders-page .purchase-orders-receive-qty{width:6.5rem;max-width:100%}.purchase-orders-page .purchase-orders-receive-status{margin:.35rem 0;font-size:.9rem}.purchase-orders-page .po-rfq-quotes{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.purchase-orders-page .po-rfq-quotes-header{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.purchase-orders-page .po-rfq-quotes-header h3{margin:0;font-size:1rem;font-weight:600}.purchase-orders-page .po-rfq-quotes-vendor{color:var(--nav-text-muted);font-size:.85rem}.purchase-orders-page .po-rfq-quotes-hint{color:var(--nav-text-muted);margin:0 0 .65rem;font-size:.85rem;line-height:1.45}.purchase-orders-page .po-rfq-quotes-drop{border:1px dashed var(--border);background:var(--page-bg);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.65rem;padding:.85rem 1rem;transition:border-color .15s,background .15s;display:flex}.purchase-orders-page .po-rfq-quotes-drop--active{border-color:var(--nav-active);background:#00000008}.purchase-orders-page .po-rfq-quotes-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.purchase-orders-page .po-rfq-quotes-drop-label{color:var(--nav-text-muted);font-size:.85rem}.purchase-orders-page .po-rfq-quotes-status{margin:.35rem 0;font-size:.85rem}.purchase-orders-page .po-rfq-quotes-list{margin:0;padding-left:1.15rem;font-size:.9rem}.purchase-orders-page .po-rfq-quotes-list li{margin:.25rem 0}.purchase-orders-page .po-rfq-quotes-meta{color:var(--nav-text-muted);margin-left:.5rem;font-size:.8rem}.employees-page h1{margin:0 0 .5rem;font-size:1.5rem}.employees-page .employees-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.employees-page .employees-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.employees-page .employees-show-inactive{color:var(--nav-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:inline-flex}.employees-page .employees-show-inactive input{cursor:pointer;width:auto}.employees-page .employees-inactive-hint{color:var(--nav-text-muted)}.employees-page .employees-search{border:1px solid var(--border);border-radius:6px;width:100%;max-width:20rem;padding:.5rem .75rem;font-size:.9rem}.employees-page .employees-search:focus{border-color:var(--nav-active);outline:none}.employees-page .employees-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto}.employees-page table{border-collapse:collapse;width:100%;font-size:.9rem}.employees-page th,.employees-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.employees-page th{background:var(--page-bg);font-weight:600}.employees-page tbody tr:hover{background:#00000005}.employees-page tr.employees-row--inactive:not(.employees-row--expanded) td{color:var(--nav-text-muted);opacity:.92}.employees-page .employees-row--clickable{cursor:pointer}.employees-page tr.employees-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.employees-page tr.employees-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.employees-page tr.employees-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.employees-page tr.employees-row--expanded .employees-expand-icon{color:var(--nav-active);font-weight:700}.employees-page .employees-expand-icon{width:1.75rem;color:var(--nav-text-muted);font-size:.75rem;display:inline-block}.employees-page .employees-detail-row td{background:#2d7dd20f}.employees-page .employees-detail-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.5rem 2rem;min-width:0;padding:.25rem 0;font-size:.85rem;display:grid}.employees-page .employees-detail-grid>.entity-detail-header,.employees-page .employees-detail-grid>form.entity-toolbar-panel{grid-column:1/-1}.employees-page .employees-detail-grid>form.entity-toolbar-panel{box-sizing:border-box;width:100%;max-width:min(100%,76rem);margin:0 auto}.employees-page .employees-detail-grid form.entity-toolbar-panel .entity-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.employees-page .employees-detail-grid form.entity-toolbar-panel .entity-form-grid textarea{box-sizing:border-box;width:100%;min-width:0}.employees-page .employees-detail-grid form.entity-toolbar-panel .entity-form-grid input,.employees-page .employees-detail-grid form.entity-toolbar-panel .entity-form-grid select{box-sizing:border-box;min-width:0;max-width:100%}.employees-page .entity-toolbar .entity-toolbar-panel{max-width:min(100%,76rem)}.employees-page .employees-detail-section{flex-direction:column;gap:.25rem;display:flex}.employees-page .employees-detail-section label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.employees-page .employees-detail-section .value{white-space:pre-wrap;word-break:break-word}.employees-page .employees-loading,.employees-page .employees-error{color:var(--nav-text-muted);padding:2rem}.employees-page .employees-error{color:#c53030}.employees-page .employees-source--db{color:var(--nav-active);font-weight:500}.employees-page a.email-link{color:var(--nav-active)}.settings-page h1{margin:0 0 .5rem;font-size:1.5rem}.settings-page .settings-intro{color:var(--nav-text-muted);max-width:48rem;margin-bottom:1.25rem;font-size:.9rem}.settings-page .settings-manifest{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;max-height:min(70vh,36rem);overflow:auto}.settings-page .settings-manifest table{border-collapse:collapse;width:100%;font-size:.8rem}.settings-page .settings-manifest th,.settings-page .settings-manifest td{text-align:left;border-bottom:1px solid var(--border);padding:.45rem .6rem}.settings-page .settings-manifest th{background:var(--page-bg);font-weight:600;position:sticky;top:0}.settings-page .settings-manifest tr:hover td{background:#00000005}.settings-page .settings-meta{color:var(--nav-text-muted);margin-bottom:.75rem;font-size:.85rem}.settings-page .settings-loading,.settings-page .settings-error{color:var(--nav-text-muted);padding:1rem}.settings-page .settings-error{color:#c53030}.settings-page .settings-dataset{font-family:ui-monospace,monospace;font-size:.75rem}.settings-page .settings-path a{color:var(--nav-active);word-break:break-all}.icc{max-width:56rem;margin:1.5rem 0 2rem}.icc h2{margin:0 0 .5rem;font-size:1.15rem}.icc-intro{color:var(--nav-text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.45}.icc-loading{color:var(--nav-text-muted);padding:.5rem 0}.icc-hint{color:var(--nav-text-muted);margin-top:.5rem;font-size:.85rem}.icc-panel{padding:.5rem 0}.icc-diagram{border:1px solid var(--border);background:linear-gradient(135deg,#2d7dd20f 0%,#00000005 100%);border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.icc-diagram-row{flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:.5rem .35rem;margin-bottom:.65rem;display:flex}.icc-diagram-row:last-child{margin-bottom:0}.icc-diagram-row--merge{justify-content:center;margin-top:.25rem}.icc-diagram-row--side{border-top:1px dashed var(--border);gap:.75rem;margin-top:.75rem;padding-top:.75rem}.icc-box{border-radius:8px;flex:auto;min-width:7rem;max-width:14rem;padding:.5rem .65rem}.icc-box-label{font-family:ui-monospace,Cascadia Code,monospace;font-size:.8rem;font-weight:700;display:block}.icc-box-sub{color:var(--nav-text-muted);margin-top:.2rem;font-size:.72rem;line-height:1.3;display:block}.icc-box--type{background:#2d7dd21f;border:1px solid #2d7dd259}.icc-box--cat{background:#228b221a;border:1px solid #228b2259}.icc-box--sub{background:#b478281f;border:1px solid #b4782866}.icc-box--items{background:var(--card-bg);border:2px solid var(--nav-active,#2d7dd2);max-width:22rem}.icc-box--vendor{background:#7850a01a;border:1px solid #7850a059}.icc-box--detail{border:1px solid var(--border);background:#64646414;max-width:22rem}.icc-arrow{color:var(--nav-text-muted);align-self:center;padding:0 .15rem;font-weight:700}.icc-actions{margin:0 0 .75rem;font-size:.88rem}.icc-actions a{color:var(--nav-active);font-weight:600}.icc-msg{color:#2f855a;margin:0 0 .75rem;font-size:.9rem}.icc-stack{flex-direction:column;gap:.45rem;display:flex}.icc-collapse{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;overflow:hidden}.icc-collapse-header{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(#00000005 0%,#0000 100%);border:none;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;padding:.45rem .65rem;display:flex}.icc-collapse-header:hover{background:#2d7dd20f}.icc-collapse-chevron{color:var(--nav-text-muted);flex:none;width:1rem;font-size:.65rem}.icc-collapse-title{font-size:.88rem;font-weight:700}.icc-collapse-summary{color:var(--nav-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:8rem;min-width:0;font-size:.72rem;font-weight:400;line-height:1.3;overflow:hidden}.icc-collapse-body{border-top:1px solid var(--border);background:var(--page-bg);padding:.65rem .85rem .85rem}.icc-collapse-body h4{color:var(--nav-text-muted);margin:0 0 .5rem;font-size:.85rem}.icc-card-hint{color:var(--nav-text-muted);margin:0 0 .65rem;font-size:.78rem;line-height:1.35}.icc-table{border-collapse:collapse;width:100%;margin-bottom:.75rem;font-size:.8rem}.icc-table th,.icc-table td{text-align:left;border-bottom:1px solid var(--border);padding:.35rem .4rem}.icc-form{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.5rem;display:flex}.icc-form label{flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:600;display:flex}.icc-form input,.icc-form select,.icc-form .searchable-select__input{box-sizing:border-box;border:1px solid var(--border);color:#0f172a;background:#fff;border-radius:6px;min-height:2.25rem;padding:.45rem .6rem;font-size:.85rem}.icc-form .searchable-select__input{padding:.45rem 2rem .45rem .6rem}.icc-form button{border:1px solid var(--border);background:var(--nav-active,#2d7dd2);color:#fff;cursor:pointer;border-radius:6px;align-self:flex-start;margin-top:.25rem;padding:.4rem .75rem;font-size:.85rem}.icc-form button:disabled{opacity:.6;cursor:not-allowed}.icc-classification-list{margin:0 0 .75rem;padding:0;list-style:none}.icc-classification-list li{margin-bottom:.5rem}.icc-editor-head{text-transform:uppercase;letter-spacing:.04em;color:var(--nav-text-muted);align-items:end;gap:.5rem .65rem;margin-bottom:.35rem;padding:0 .05rem;font-size:.62rem;font-weight:600;display:grid}.icc-editor-head--types{grid-template-columns:minmax(6rem,1fr) minmax(8rem,1.4fr) 4.5rem 5.5rem}.icc-editor-head--categories,.icc-editor-head--subs{grid-template-columns:minmax(6rem,1fr) minmax(8rem,1.2fr) minmax(10rem,1.1fr) 4.5rem minmax(8.5rem,auto)}.icc-editor-head-cell--action{visibility:hidden;pointer-events:none}.icc-editor-grid{align-items:center;gap:.5rem .65rem;font-size:.8rem;display:grid}.icc-editor-grid--types{grid-template-columns:minmax(6rem,1fr) minmax(8rem,1.4fr) 4.5rem 5.5rem}.icc-editor-grid--categories,.icc-editor-grid--subs{grid-template-columns:minmax(6rem,1fr) minmax(8rem,1.2fr) minmax(10rem,1.1fr) 4.5rem minmax(8.5rem,auto)}.icc-editor-grid input[type=text],.icc-editor-grid input[type=number]{box-sizing:border-box;border:1px solid var(--border);color:#0f172a;background:#fff;border-radius:6px;width:100%;min-width:0;min-height:2.25rem;padding:.45rem .6rem;font-size:.85rem}.icc-editor-grid .icc-sort-input{width:100%;max-width:4.5rem}.icc-editor-grid .searchable-select{width:100%;min-width:0}.icc-editor-grid>button{border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;align-self:center;padding:.45rem .55rem;font-size:.75rem}.icc-editor-actions{flex-wrap:wrap;align-self:center;align-items:center;gap:.35rem;display:flex}.icc-editor-actions button{border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;margin:0;padding:.45rem .55rem;font-size:.75rem}.icc-editor-btn-delete{color:#dc2626;background:#fff!important;border-color:#dc2626!important}.icc-editor-btn-delete:disabled{opacity:.45;cursor:not-allowed}.settings-page .icc .icc-combobox.searchable-select .searchable-select__input{border:1px solid var(--border);color:#0f172a;background:#fff;border-radius:6px;min-height:2.25rem;padding:.45rem 2rem .45rem .6rem;font-size:.85rem}.settings-page .icc .icc-combobox.searchable-select .searchable-select__chevron{color:#64748b;right:.45rem}.settings-page .icc .icc-combobox.searchable-select .searchable-select__list{border:1px solid var(--border);color:#0f172a;background:#fff;border-radius:6px;max-height:min(22rem,70vh);overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.settings-page .icc .icc-combobox.searchable-select .searchable-select__option{color:#0f172a;background:#fff}.settings-page .icc .icc-combobox.searchable-select .searchable-select__option:hover,.settings-page .icc .icc-combobox.searchable-select .searchable-select__option:focus-visible{background:color-mix(in srgb, var(--nav-active,#2563eb) 10%, #fff);outline:none}.settings-page .icc .icc-combobox.searchable-select .searchable-select__option--highlight{background:color-mix(in srgb, var(--nav-active,#2563eb) 14%, #fff)}.icc-filter-row{flex-direction:column;gap:.25rem;max-width:22rem;margin-bottom:.65rem;display:flex}.icc-filter-row-label{text-transform:uppercase;letter-spacing:.04em;color:var(--nav-text-muted);font-size:.62rem;font-weight:600}.icc-refresh{border:1px solid var(--border);background:var(--page-bg);cursor:pointer;border-radius:6px;margin-top:1rem;padding:.4rem .75rem;font-size:.85rem}.database-page h1{margin:0 0 .5rem;font-size:1.5rem}.database-intro{color:var(--nav-text-muted);max-width:56rem;margin-bottom:1rem;font-size:.9rem}.database-intro code{background:var(--page-bg);border-radius:4px;padding:.1em .35em;font-size:.85em}.database-error{color:#c53030;margin-bottom:1rem}.database-api-off{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.database-api-off code{background:#0000000f;border-radius:4px;padding:.15em .4em;font-size:.9em}.database-meta{color:var(--nav-text-muted);margin-bottom:.75rem;font-size:.9rem}.database-layout{align-items:flex-start;gap:1.5rem;display:flex}.database-sidebar{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:14rem;padding:.75rem 0}.database-sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:var(--nav-text-muted);border-bottom:1px solid var(--border);margin:.5rem 0 0;padding:0 .75rem .5rem;font-size:.75rem;font-weight:600}.database-sidebar-title:first-child{margin-top:0}.database-table-list{margin:0;padding:.25rem 0;list-style:none}.database-table-list li{margin:0}.database-table-btn{text-align:left;cursor:pointer;width:100%;color:var(--page-heading);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.85rem;display:flex}.database-table-btn:hover{background:#0000000a}.database-table-btn--active{color:var(--nav-active);background:#2d7dd21f;font-weight:500}.database-table-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.database-table-name--slug{font-family:ui-monospace,monospace;font-size:.8rem}.database-table-count{color:var(--nav-text-muted);flex-shrink:0;margin-left:.5rem;font-size:.75rem}.database-main{flex:1;min-width:0}.database-placeholder{color:var(--nav-text-muted);padding:2rem}.database-grid-wrap{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;max-height:70vh;overflow:auto}.database-grid{border-collapse:collapse;width:100%;font-size:.8rem}.database-grid th,.database-grid td{text-align:left;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;padding:.35rem .5rem;overflow:hidden}.database-grid th{background:var(--page-bg);z-index:1;font-weight:600;position:sticky;top:0}.database-grid tbody tr:hover td{background:#00000005}.database-grid td{cursor:default}.database-grid td:hover{white-space:normal;word-break:break-word;z-index:0;overflow:visible}.projects-page h1{margin:0 0 .5rem;font-size:1.5rem}.projects-page .projects-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.projects-page .projects-toolbar{margin-bottom:1rem}.projects-page .projects-search{border:1px solid var(--border);border-radius:6px;width:100%;max-width:33rem;padding:.5rem .75rem;font-size:.9rem}.projects-page .projects-search:focus{border-color:var(--nav-active);outline:none}.projects-page .projects-filter-bar{gap:.5rem;margin-bottom:.75rem;display:flex}.projects-page .projects-filter-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--nav-text-muted);border-radius:6px;padding:.4rem .7rem;font-size:.85rem}.projects-page .projects-filter-btn--active{border-color:var(--nav-active);color:var(--nav-active);font-weight:600}.projects-page .projects-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto}.projects-page table{border-collapse:collapse;width:100%;font-size:.9rem}.projects-page th,.projects-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.projects-page th{background:var(--page-bg);font-weight:600}.projects-page tbody tr:hover{background:#00000005}.projects-page .projects-row--clickable{cursor:pointer}.projects-page tr.projects-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.projects-page tr.projects-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.projects-page tr.projects-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.projects-page .projects-task-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);color:var(--page-heading,#1a1d23);background:linear-gradient(90deg,#2d7dd21f 0%,#2d7dd20a 100%);border-radius:4px;font-weight:600}.projects-page .projects-task-row--expanded .projects-task-row-title{font-weight:700}.projects-page .projects-task-row--expanded .projects-task-row-icon{color:var(--nav-active);font-weight:700}.projects-page .projects-detail-row td{background:#2d7dd20f}.projects-page .projects-detail-grid{border-left:2px solid #2d7dd259;grid-template-columns:1fr;gap:.35rem;margin:.25rem 0 0 .35rem;padding:.35rem 0 .5rem .65rem;display:grid}.projects-page .projects-task-item{border-left:1px solid var(--border);margin-left:.25rem;padding-left:.5rem}.projects-page .projects-task-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.35rem 0;display:flex}.projects-page .projects-task-row:hover{color:var(--nav-active)}.projects-page .projects-task-row-title{flex:1}.projects-page .projects-task-row-status{color:var(--nav-text-muted)}.projects-page .projects-task-edit-btn{flex-shrink:0}.projects-page .projects-task-detail{border-left:1px dashed var(--border);margin-left:.35rem;padding:.35rem 0 .65rem .65rem}.projects-page .projects-task-detail-grid{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.5rem 2rem;font-size:.85rem;display:grid}.projects-page .projects-detail-section label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.projects-page .projects-detail-section .value{white-space:pre-wrap;word-break:break-word}.projects-page .projects-link{color:var(--nav-active);text-decoration:none}.projects-page .projects-link:hover{text-decoration:underline}.tasks-page h1{margin:0 0 .5rem;font-size:1.5rem}.tasks-page .tasks-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.tasks-page .tasks-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:1rem;display:flex}.tasks-page .tasks-employee-filter{flex:0 min(100%,16rem);min-width:12rem}.tasks-page .tasks-employee-filter .searchable-select__input{box-sizing:border-box;width:100%;min-height:2.35rem}.tasks-page .tasks-filter-bar{gap:.5rem;margin-bottom:.75rem;display:flex}.tasks-page .tasks-filter-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--nav-text-muted);border-radius:6px;padding:.4rem .7rem;font-size:.85rem}.tasks-page .tasks-filter-btn--active{border-color:var(--nav-active);color:var(--nav-active);font-weight:600}.tasks-page .tasks-search{border:1px solid var(--border);border-radius:6px;width:100%;max-width:33rem;padding:.5rem .75rem;font-size:.9rem}.tasks-page .tasks-search:focus{border-color:var(--nav-active);outline:none}.tasks-page .tasks-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto}.tasks-page table{border-collapse:collapse;width:100%;font-size:.9rem}.tasks-page th,.tasks-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.tasks-page th{background:var(--page-bg);font-weight:600}.tasks-page tbody tr:hover{background:#00000005}.tasks-page .tasks-row--clickable{cursor:pointer}.tasks-page tr.tasks-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.tasks-page tr.tasks-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.tasks-page tr.tasks-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.tasks-page tr.tasks-row--expanded .tasks-expand-icon{color:var(--nav-active);font-weight:700}.tasks-page .tasks-expand-icon{width:1.75rem;color:var(--nav-text-muted);font-size:.75rem;display:inline-block}.tasks-page .tasks-detail-row td{background:#2d7dd20f}.tasks-page .tasks-detail-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.5rem 2rem;padding:.25rem 0;font-size:.85rem;display:grid}.tasks-page .tasks-detail-section{flex-direction:column;gap:.25rem;display:flex}.tasks-page .tasks-detail-section label{color:var(--nav-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.tasks-page .tasks-detail-section .value{white-space:pre-wrap;word-break:break-word}.tasks-page .tasks-link{color:var(--nav-active);text-decoration:none}.tasks-page .tasks-link:hover{text-decoration:underline}.bom-page h1{margin:0 0 .5rem;font-size:1.5rem}.bom-page .bom-meta{color:var(--nav-text-muted);max-width:42rem;margin-bottom:1rem;font-size:.9rem;line-height:1.45}.bom-page .bom-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1.25rem;overflow:auto}.bom-page table{border-collapse:collapse;width:100%;font-size:.9rem}.bom-page th,.bom-page td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem}.bom-page th{background:var(--page-bg);font-weight:600}.bom-page tbody tr.bom-row--selected{background:#2d7dd214}.bom-page tbody tr.bom-row--clickable{cursor:pointer}.bom-page tbody tr.bom-row--clickable:hover{background:#00000008}.bom-page .bom-section-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.bom-page .bom-item-search-label{flex-direction:column;gap:.25rem;display:flex}.bom-page .bom-item-search-select{max-width:22rem}.bom-page .bom-item-search-select .bom-item-search-list.searchable-select__list{max-height:21rem;overflow-y:auto}.bom-page .bom-item-search-hint{color:var(--nav-text-muted);max-width:22rem;font-size:.75rem;line-height:1.35}.bom-page .bom-item-search-option{flex-direction:column;align-items:flex-start;gap:.12rem;display:flex}.bom-page .bom-item-search-option-name{font-size:.88rem}.bom-page .bom-item-search-option-meta{color:var(--nav-text-muted);font-size:.78rem;font-weight:500}.bom-page .bom-chart-placeholder{border:1px dashed var(--border);background:var(--page-bg);color:var(--nav-text-muted);text-align:center;border-radius:8px;margin-top:1rem;padding:1.25rem 1rem;font-size:.9rem}.fr-page h1{margin:0 0 .5rem;font-size:1.5rem}.fr-page .fr-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.9rem}.fr-page .fr-toolbar{margin-bottom:1rem}.fr-page .fr-search{border:1px solid var(--border);border-radius:6px;width:100%;max-width:33rem;padding:.5rem .75rem;font-size:.9rem}.fr-page .fr-search:focus{border-color:var(--nav-active);outline:none}.fr-page .fr-filters{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:1rem;padding:.75rem;display:flex}.fr-page .fr-filter-field{color:var(--nav-text-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.fr-page .fr-filter-field select{border:1px solid var(--border);border-radius:4px;min-width:10rem;padding:.35rem .5rem;font-size:.85rem}.fr-page .fr-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:auto}.fr-page table{border-collapse:collapse;width:100%;font-size:.9rem}.fr-page th,.fr-page td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}.fr-page th{background:var(--page-bg);font-weight:600}.fr-page tbody tr:hover{background:#00000005}.fr-page tbody tr.fr-row--expanded{box-shadow:inset 3px 0 0 var(--nav-active,#2d7dd2);background:linear-gradient(90deg,#2d7dd229 0%,#2d7dd212 100%)}.fr-page tbody tr.fr-row--expanded>td{color:var(--page-heading,#1a1d23);font-weight:600}.fr-page tbody tr.fr-row--expanded:hover{background:linear-gradient(90deg,#2d7dd233 0%,#2d7dd217 100%)}.fr-page tbody tr.fr-row--expanded .fr-row-toggle{color:var(--nav-active);font-weight:700}.fr-page tbody tr.fr-row--clickable{cursor:pointer}.fr-page .fr-row-toggle{text-align:center;width:2rem;color:var(--nav-text-muted);font-size:.8rem;display:inline-block}.fr-page .fr-detail-row td{border-bottom:1px solid var(--border);vertical-align:top;background:#00000005;padding:0 .75rem 1rem}.fr-page .fr-detail-stack{box-sizing:border-box;border:1px solid var(--border);background:var(--card-bg);border-radius:8px;width:100%;max-width:min(100%,57rem);margin-left:.5rem;padding:.65rem .75rem}.fr-page .fr-detail-stack-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.fr-page .fr-open-full-page{color:var(--nav-active);font-size:.85rem;text-decoration:none}.fr-page .fr-open-full-page:hover{text-decoration:underline}.fr-page .fr-row-link{color:inherit;text-decoration:none;display:contents}.fr-page .fr-row-link tr{cursor:pointer}.fr-page .fr-badge,.fr-page .fr-badge--status{background:#2d7dd21f;border:1px solid #2d7dd240;border-radius:4px;padding:.12rem .45rem;font-size:.75rem;display:inline-block}.fr-page .fr-badge--status{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:9.5rem;overflow:hidden}.fr-page .fr-badge--ready{background:#228b221f;border-color:#228b2259}.fr-page .fr-new-panel{border:1px solid var(--border);background:var(--page-bg);border-radius:8px;margin-top:.75rem;padding:1rem}.fr-page .fr-new-panel label{color:var(--nav-text-muted);flex-direction:column;align-items:stretch;gap:.35rem;margin-bottom:.65rem;font-size:.8rem;display:flex}.fr-page .fr-new-panel input[type=text],.fr-page .fr-new-panel select,.fr-page .fr-new-panel textarea{border:1px solid var(--border);border-radius:4px;width:100%;max-width:40rem;padding:.45rem .55rem;font-size:.9rem}.fr-page .fr-new-panel textarea{min-height:6rem;font-family:inherit}.fr-page .fr-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.fr-page .fr-new-panel__actions-top{border-bottom:1px solid var(--border);margin-top:0;margin-bottom:.5rem;padding-bottom:.45rem}.fr-page .fr-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:6px;padding:.45rem .85rem;font-size:.9rem}.fr-page .fr-btn--primary{background:var(--nav-active,#2d7dd2);color:#fff;border-color:#0000}.fr-page .fr-btn--compact,.fr-detail-surface .fr-btn--compact{border-radius:5px;padding:.22rem .55rem;font-size:.78rem}.fr-detail-surface .fr-actions--compact-top{border-bottom:1px solid var(--border);margin-top:0;margin-bottom:.55rem;padding-bottom:.45rem}.fr-detail-surface h1{margin:0 0 .35rem;font-size:1.35rem}.fr-detail-page .fr-back{color:var(--nav-active);margin-bottom:.75rem;font-size:.9rem;text-decoration:none;display:inline-block}.fr-detail-page .fr-back:hover{text-decoration:underline}.fr-detail-surface .fr-detail-meta{color:var(--nav-text-muted);margin-bottom:1rem;font-size:.85rem}.fr-detail-surface .fr-section{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;margin-bottom:1.25rem;padding:1rem}.fr-detail-surface .fr-section h2{margin:0 0 .65rem;font-size:1rem;font-weight:600}.fr-detail-surface .fr-section textarea{border:1px solid var(--border);box-sizing:border-box;border-radius:6px;width:100%;min-height:8rem;padding:.55rem .65rem;font-family:inherit;font-size:.9rem}.fr-detail-surface .fr-section textarea.fr-textarea--sm{min-height:4rem}.fr-detail-surface .fr-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem 1rem;margin-bottom:.75rem;display:grid}.fr-detail-surface .fr-grid label{color:var(--nav-text-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.fr-detail-surface .fr-grid select,.fr-detail-surface .fr-grid input[type=text]{border:1px solid var(--border);border-radius:4px;padding:.4rem .5rem;font-size:.9rem}.fr-detail-surface .fr-check{align-items:center;gap:.45rem;margin:.35rem 0;font-size:.9rem;display:flex}.fr-detail-surface .fr-comments-thread{flex-direction:column;gap:.65rem;max-width:44rem;margin:0;padding:.5rem 0;list-style:none;display:flex}.fr-detail-surface .fr-comment-row{width:100%;display:flex}.fr-detail-surface .fr-comment-row--in{justify-content:flex-start}.fr-detail-surface .fr-comment-row--out{justify-content:flex-end}.fr-detail-surface .fr-comment-row--system{justify-content:center}.fr-detail-surface .fr-comment-bubble{max-width:min(100%,26rem);color:var(--page-heading);border-radius:1rem;padding:.55rem .75rem .6rem;font-size:.88rem;line-height:1.45;box-shadow:0 1px 2px #0000000f}.fr-detail-surface .fr-comment-row--in .fr-comment-bubble{background:#2d7dd21c;border:1px solid #2d7dd22e;border-bottom-left-radius:.3rem}.fr-detail-surface .fr-comment-row--out .fr-comment-bubble{background:#2d7dd233;border:1px solid #2d7dd247;border-bottom-right-radius:.3rem}.fr-detail-surface .fr-comment-bubble--internal{border-color:#b4530959;box-shadow:0 1px 2px #b4530914}.fr-detail-surface .fr-comment-row--in .fr-comment-bubble--internal{background:#b4530914}.fr-detail-surface .fr-comment-row--out .fr-comment-bubble--internal{background:#b4530924}.fr-detail-surface .fr-comment-bubble--system{background:var(--page-bg);border:1px dashed var(--border);max-width:min(100%,34rem);color:var(--nav-text-muted);box-shadow:none;border-radius:.75rem;font-size:.82rem}.fr-detail-surface .fr-comment-bubble-meta{color:#5c6370;flex-wrap:wrap;align-items:baseline;gap:.25rem .35rem;margin-bottom:.35rem;font-size:.72rem;display:flex}.fr-detail-surface .fr-comment-bubble-author{color:var(--page-heading);font-weight:600}.fr-detail-surface .fr-comment-bubble-sep{opacity:.5;-webkit-user-select:none;user-select:none}.fr-detail-surface .fr-comment-bubble-time{font-variant-numeric:tabular-nums;color:#5c6370}.fr-detail-surface .fr-comment-internal-badge{text-transform:uppercase;letter-spacing:.03em;color:#92400e;background:#b4530933;border-radius:4px;margin-left:.15rem;padding:.08rem .35rem;font-size:.65rem;font-weight:600}.fr-detail-surface .fr-comment-bubble-text{white-space:pre-wrap;word-break:break-word}.fr-detail-surface .fr-comment-bubble--system .fr-comment-bubble-meta{justify-content:center}.fr-detail-surface .fr-follow-up-box{background:var(--page-bg);border:1px dashed var(--border);border-radius:6px;margin-top:.75rem;padding:.75rem}.fr-inline-link-btn{font:inherit;color:var(--nav-active);cursor:pointer;text-align:left;background:0 0;border:none;margin:.15rem 0 0;padding:0;font-size:.85rem;text-decoration:underline;display:inline-block}.fr-detail-surface .fr-comment-fr-link{color:var(--nav-active);font-weight:600;text-decoration:underline}.fr-detail-surface .fr-comment-fr-link:hover{color:var(--page-heading)}:root{--nav-width:10.75rem;--nav-bg:#1a1d23;--nav-text:#e2e4e9;--nav-text-muted:#8b909a;--nav-active:#2d7dd2;--page-bg:#f0f2f5;--page-heading:#1a1d23;--card-bg:#fff;--border:#e0e3e8}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--page-heading);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{height:100vh;min-height:100vh}a{color:inherit;text-decoration:none}
