:root{--color-primary:#2b60c4;--color-primary-hover:#1e4a9e;--color-primary-light:#2b60c41c;--color-text-heading:#1e293b;--color-text-body:#3e4a5c;--color-text-secondary:#526073;--color-text-muted:#64748b;--color-text-placeholder:#66768f;--color-text-on-primary:#fff;--color-bg-page:#e9eef5;--color-bg-card:#fff;--color-bg-input:#f8fafc;--color-border-input:#e2e8f0;--color-border-input-hover:#93c5fd;--color-divider:#eef2f7;--color-divider-strong:#dde5ee;--color-error:#cd322d;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-success:#277c54;--color-success-bg:#dcfce7;--color-success-border:#bbf7d0;--color-warning:#a35b24;--color-warning-bg:#ffedd5;--color-warning-border:#fed7aa;--color-pending:#8b6823;--color-pending-bg:#fef9c3;--color-pending-border:#fde68a;--color-danger:#c8325f;--color-danger-bg:#ffe4e6;--color-danger-border:#fecdd3;--color-status-draft:#64748b;--color-status-pending:#f97316;--color-status-approved:#16a34a;--color-contact-supplier:var(--color-status-pending);--color-contact-customer:var(--color-status-approved);--color-contact-owner:#334155;--color-product-raw:var(--color-status-draft);--color-product-processed:var(--color-status-pending);--color-product-finished:var(--color-status-approved);--font-family:"Noto Sans Thai", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.25rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;--space-0-5:.125rem;--space-2:.375rem;--space-3:.5rem;--space-4:.75rem;--space-5:1rem;--space-6:1.25rem;--space-7:1.5rem;--space-8:2rem;--space-9:3rem;--space-1:.25rem;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-full:9999px;--shadow-card:0 1px 2px #0f172a0d, 0 6px 16px -8px #0f172a1f;--shadow-card-hover:0 1px 2px #0f172a0f, 0 10px 24px -10px #0f172a2e;--shadow-overlay:0 8px 24px -6px #0f172a24, 0 2px 6px -2px #0f172a14;--color-backdrop:#0f172a80;--shadow-focus:0 0 0 3px var(--color-primary-light);--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--sidebar-width:252px;--sidebar-logo-size:76px;--topbar-height:calc(var(--sidebar-logo-size) + 12px);--theme-primary:var(--color-primary);--theme-primary-hover:var(--color-primary-hover);--theme-primary-light:var(--color-primary-light);--theme-primary-glow:#2b60c424;--theme-danger-glow:#c8325a2e;--theme-success:#247875;--theme-success-bg:#2478750f;--theme-success-border:#24787526;--theme-warning:var(--color-warning);--theme-warning-bg:#fffbeb;--theme-warning-border:var(--color-warning-border);--theme-danger:var(--color-danger);--theme-danger-bg:#fff5f5;--theme-danger-border:var(--color-danger-border);--theme-danger-hover:#a52950;--theme-bg-main:var(--color-bg-page);--theme-bg-card:var(--color-bg-card);--theme-border-color:var(--color-border-input);--theme-border-hover:var(--color-border-input-hover);--theme-divider:var(--color-divider);--theme-divider-strong:var(--color-divider-strong);--theme-text-title:var(--color-text-heading);--theme-text-body:var(--color-text-body);--theme-text-secondary:var(--color-text-secondary);--theme-text-muted:var(--color-text-muted);--theme-text-light:var(--color-text-placeholder);--transition-smooth:.25s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.25s cubic-bezier(.25, 1, .5, 1);--ease-entrance:cubic-bezier(.16, 1, .3, 1);--shadow-premium:0 1px 2px #0f172a0a}.purchase-trash-link{font-weight:var(--weight-bold)}.purchase-trash-link svg{stroke-width:2.2px;width:16px;height:16px}.btn-back{align-items:center;gap:var(--space-2);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);width:fit-content;color:var(--theme-text-secondary);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--transition-smooth), border-color var(--transition-smooth), background-color var(--transition-smooth);padding:.4rem .85rem;display:inline-flex}.btn-back:hover,.btn-back:focus-visible{border-color:var(--theme-primary);color:var(--theme-primary);background:var(--theme-primary-light)}.btn-back svg{flex-shrink:0;width:15px;height:15px}.btn{justify-content:center;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:.6rem 1.1rem;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--theme-primary);color:var(--theme-bg-card);border-color:var(--theme-primary);box-shadow:0 1px 2px #2b60c43d,0 4px 10px -4px #2b60c45c}.btn-primary:hover{background:var(--theme-primary-hover);border-color:var(--theme-primary-hover);box-shadow:0 1px 2px #2b60c447,0 6px 14px -4px #2b60c470}.btn-primary:disabled{box-shadow:none}.btn-secondary{background:var(--theme-bg-card);color:var(--theme-text-body);border-color:var(--theme-border-color)}.btn-secondary:hover{border-color:var(--theme-primary);color:var(--theme-primary);background:var(--theme-primary-light)}.btn-danger{background:var(--theme-danger);color:var(--theme-bg-card);border-color:var(--theme-danger);box-shadow:0 1px 2px #c8325f3d,0 4px 10px -4px #c8325f5c}.btn-danger:hover{background:var(--theme-danger-hover);border-color:var(--theme-danger-hover)}.btn-danger:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--theme-border-color);background:var(--theme-bg-card);width:32px;height:32px;color:var(--theme-text-muted);cursor:pointer;transition:all var(--transition-smooth);justify-content:center;align-items:center;display:inline-flex;position:relative}.btn-icon:after{content:"";position:absolute;inset:-6px}.btn-icon:hover{border-color:var(--theme-primary);color:var(--theme-primary);background:var(--theme-primary-light)}.btn-icon svg{stroke-width:2.2px;width:15px;height:15px}.btn-icon-danger:hover:not(:disabled){border-color:var(--theme-danger);color:var(--theme-danger);background:var(--theme-danger-bg)}.spinner{border-radius:var(--radius-full);border:2.5px solid;border-top-color:#0000;width:1.125rem;height:1.125rem;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.company-card{background:var(--theme-bg-card);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:var(--space-6);transition:box-shadow var(--transition-base), border-color var(--transition-base);flex-direction:column;padding:1.5rem;display:flex}.card-header{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--color-divider);margin-bottom:.25rem;padding-bottom:.85rem;display:flex}.card-title-group{align-items:center;gap:var(--space-3);display:flex}.card-icon-badge{border-radius:var(--radius-md);background:var(--theme-primary-light);width:36px;height:36px;color:var(--theme-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-icon-badge svg{width:18px;height:18px}.card-title-group h2{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--theme-text-title);margin:0}.card-title-group p{font-size:var(--text-xs);color:var(--theme-text-muted);margin:0}.form-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.form-grid.single-col{grid-template-columns:1fr}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.form-group{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-contact-owner);align-items:center;gap:var(--space-1);justify-content:flex-start;display:flex}.form-label .required-star{color:#ef4444}.company-input,.company-select,.company-textarea{border-radius:var(--radius-md);width:100%;font-size:var(--text-base);color:#0f172a;background:var(--theme-bg-card);box-sizing:border-box;border:1px solid #cbd5e1;padding:.55rem .75rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.company-input:focus,.company-select:focus,.company-textarea:focus{border-color:var(--theme-primary);outline:none;box-shadow:0 0 0 3px #2b60c426}.company-input:disabled,.company-textarea:disabled{background:var(--color-bg-input);color:var(--theme-text-muted);cursor:not-allowed}.company-input.has-error,.company-select.has-error,.company-textarea.has-error{border-color:#ef4444}.field-error-text{font-size:var(--text-xs);color:#ef4444;font-weight:var(--weight-medium);margin-top:.1rem}.btn-edit-header{background:var(--theme-primary);color:var(--theme-bg-card);border:1px solid var(--theme-primary);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;gap:var(--space-2);white-space:nowrap;padding:.45rem 1.1rem;font-family:inherit;transition:all .2s;display:inline-flex}.btn-edit-header:hover{background:var(--theme-primary-hover);border-color:var(--theme-primary-hover)}.btn-edit-header svg{width:16px;height:16px}.btn-save-primary{background:var(--theme-primary);color:var(--theme-bg-card);border:1px solid var(--theme-primary);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;gap:var(--space-2);white-space:nowrap;padding:.55rem 1.35rem;font-family:inherit;transition:all .2s;display:inline-flex}.btn-save-primary:hover:not(:disabled){background:var(--theme-primary-hover);border-color:var(--theme-primary-hover)}.btn-save-primary:disabled{opacity:.5;cursor:not-allowed}.btn-save-primary svg{width:16px;height:16px}.btn-cancel-outlined{background:var(--theme-bg-card);color:var(--theme-text-body);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:1px solid #cbd5e1;padding:.55rem 1.15rem;font-family:inherit;transition:all .2s}.btn-cancel-outlined:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.btn-cancel-outlined:disabled{opacity:.5;cursor:not-allowed}.edit-mode-badge{align-items:center;gap:var(--space-2);background:var(--theme-primary-light);color:var(--theme-primary-hover);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;border:1px solid #bfdbfe;padding:.35rem .75rem;display:inline-flex}.visually-hidden-input{display:none}.otp-boxes-container{gap:var(--space-3);justify-content:space-between;width:100%;display:flex}.otp-box-input{text-align:center;min-width:0;height:3.25rem;font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--theme-text-title);background:var(--theme-bg-card);border-radius:var(--radius-md);border:1.5px solid #cbd5e1;outline:none;flex:1;padding:0;transition:border-color .2s,box-shadow .2s,background-color .2s}.otp-box-input:hover{border-color:var(--color-text-muted)}.otp-box-input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3.5px #2b60c438}.otp-box-input:disabled{background-color:var(--color-bg-input);border-color:var(--theme-border-color);color:var(--color-text-muted);cursor:not-allowed}.receiving-toolbar-title{align-items:center;gap:var(--space-3);display:flex}.receiving-count{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--theme-primary);background:var(--theme-primary-light,#345ca814);border-radius:var(--radius-full);padding:.15rem .6rem}.table-responsive{overscroll-behavior-inline:contain;scrollbar-width:thin;width:100%;overflow:auto clip}.table-container{background:var(--theme-bg-card);border:1px solid var(--theme-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:clip}.table-toolbar{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--theme-divider-strong);background:var(--theme-bg-card);padding:1.25rem 1.5rem;display:flex}.table-search{flex:1;max-width:320px;position:relative}.table-search input{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);width:100%;font-size:var(--text-base);background:var(--theme-bg-card);color:var(--theme-text-title);transition:all var(--transition-smooth);padding:.6rem .8rem .6rem 2.25rem}.table-search input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-glow);outline:none}.table-search .icon{color:var(--theme-text-muted);align-items:center;width:15px;height:15px;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.table-search .icon svg{width:100%;height:100%}.table-filters{align-items:center;gap:var(--space-4);display:flex}.table-date-filter{align-items:center;gap:var(--space-2);box-sizing:border-box;flex-shrink:0;width:190px;max-width:100%;display:flex}.table-date-filter--wide{width:255px}.table-filter-clear{color:var(--theme-text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.table-filter-clear:hover,.table-filter-clear:focus-visible{color:var(--theme-text-body)}.table-container--popup{overflow:visible}.table-container--popup>.table-toolbar{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.table-container--popup>.table-pagination,.table-container--popup>.table-responsive:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.table-container>div:last-of-type{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;table-layout:auto;width:100%}.data-table--wide{min-width:980px}@media (width<=640px){.data-table--wide{min-width:720px}}.data-table th{padding:var(--space-4);text-align:left;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-secondary);background:var(--color-bg-input);border-bottom:1px solid var(--theme-divider-strong);white-space:nowrap}.data-table--dense th{padding-block:.7rem}.data-table--dense td{padding-block:.72rem}.table-sortable-header{padding:0!important}.table-sort-button{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:.7rem var(--space-4);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;display:flex}.table-sort-button.is-left{text-align:left;justify-content:flex-start}.table-sort-button.is-center{text-align:center;justify-content:center}.table-sort-button.is-right{text-align:right;justify-content:flex-end}.table-sortable-header.is-leading .table-sort-button{padding-left:1.5rem}.table-sort-button:hover,.table-sort-button:focus-visible,.table-sort-button.is-active{color:var(--theme-primary);background:var(--theme-primary-light)}.table-sort-button:focus-visible{z-index:1;outline:2px solid var(--theme-primary);outline-offset:-2px;position:relative}.table-sort-icon{opacity:.35;width:14px;height:14px;transition:transform var(--transition-smooth), opacity var(--transition-smooth);flex:none;display:inline-flex}.table-sort-icon svg{width:14px;height:14px}.table-sort-button.is-active .table-sort-icon{opacity:1}.table-sort-icon.is-ascending{transform:rotate(180deg)}.data-table td{font-size:var(--text-base);border-bottom:1px solid var(--theme-divider);color:var(--theme-text-body);vertical-align:middle;transition:color var(--transition-smooth);padding:1rem .75rem}.data-table tbody tr{transition:background-color var(--transition-smooth)}.data-table tbody tr:hover{background-color:var(--theme-primary-light)}.data-table tbody tr:hover td{color:var(--theme-text-title)}.data-table tbody tr:last-child td{border-bottom:0}.entity-primary{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.entity-primary strong{color:var(--theme-text-title);font-size:var(--text-md);font-weight:var(--weight-semibold)}.entity-primary>span{color:var(--theme-text-muted);font-size:var(--text-sm);line-height:1.35}.entity-primary strong.table-primary-identifier,.table-primary-identifier{color:var(--theme-primary)}.entity-name-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.usage-hint{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--theme-primary);background:var(--theme-primary-light);border:1px solid #2b60c42e;align-items:center;margin-left:.35rem;padding:.2rem .55rem;display:inline-flex}.contact-link{color:var(--theme-text-body);font-weight:var(--weight-medium);align-items:center;text-decoration:none;transition:color .15s;display:inline-flex}.contact-link:hover{color:var(--theme-primary);text-decoration:underline}.type-chip{align-items:center;gap:var(--space-3);border:1px solid var(--theme-border-color);border-radius:var(--radius-sm);background:var(--theme-bg-card);white-space:nowrap;padding:4px 10px;display:inline-flex}.type-mark{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--theme-text-body);line-height:1.35;display:inline-flex}.type-mark+.type-mark{border-left:1px solid var(--theme-border-color);padding-left:.5rem}.type-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.type-dot-supplier{background:var(--color-contact-supplier)}.type-dot-customer{background:var(--color-contact-customer)}.type-dot-owner{background:var(--color-contact-owner)}.type-dot-raw{background:var(--color-product-raw)}.type-dot-processed{background:var(--color-product-processed)}.type-dot-finished{background:var(--color-product-finished)}.type-dot-unknown{background:var(--color-text-placeholder)}.status-badge{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;padding:4px 10px;line-height:1;display:inline-flex}.status-badge.processing{color:var(--theme-primary);background:#2b60c414;border-color:#2b60c433}.status-badge.confirmed{background:var(--theme-success-bg);color:var(--theme-success);border-color:var(--theme-success-border)}.status-badge.warning{background:var(--color-pending-bg);color:#b45309;border-color:#fcd34d}.status-badge.inactive{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.actions-cell{white-space:nowrap;text-align:center;width:140px}.data-table--gutter>thead>tr>th:first-child,.data-table--gutter>tbody>tr>td:first-child:not([colspan]){padding-left:1.5rem}.data-table th:last-child{text-align:center}.data-table th.th-data{text-align:left}.data-table th.adj-num,.data-table th.smv-num,.data-table th.dsx-num,.data-table th.stock-col-number,.data-table th.stock-col-updated{text-align:right}.data-table th.stock-col-po,.data-table th.stock-col-expiry-status,.data-table th.adj-col-remove,.data-table th.dsx-col-remove{text-align:center}.data-table .adj-num,.data-table .smv-num,.data-table .dsx-num,.data-table .stock-col-number,.data-table td.num,.data-table .money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.row-actions{justify-content:center;gap:var(--space-4);display:flex}.table-pagination{border-top:1px solid var(--theme-border-color);background:var(--theme-bg-card);font-size:var(--text-sm);color:var(--theme-text-muted);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.pagination-right{align-items:center;gap:var(--space-7);display:flex}.page-size-selector{align-items:center;gap:var(--space-3);display:flex}.page-size-selector select{appearance:none;border:1px solid var(--theme-border-color);border-radius:var(--radius-sm);background-color:var(--theme-bg-card);width:58px;color:var(--theme-text-body);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-smooth);background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .35rem center;background-repeat:no-repeat;background-size:9px;outline:none;padding:.25rem 1.25rem .25rem .45rem}.page-size-selector select.select-wide{width:86px}.page-size-selector select:focus{border-color:var(--theme-primary)}.pagination-btns{gap:var(--space-2);display:flex}.pagination-btns button{border-radius:var(--radius-md);background:var(--theme-bg-card);border:1px solid var(--theme-border-color);min-width:32px;height:32px;color:var(--theme-text-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-smooth);justify-content:center;align-items:center;padding:0 6px;display:flex}.pagination-btns button:hover{border-color:var(--theme-primary);color:var(--theme-primary);background:var(--theme-primary-light)}.pagination-btns button.active{background:var(--theme-primary);color:var(--theme-bg-card);border-color:var(--theme-primary)}.pagination-btns button:disabled{opacity:.45;cursor:not-allowed}.pagination-btns button:disabled:hover{border-color:var(--theme-border-color);color:var(--theme-text-body);background:var(--theme-bg-card)}.pagination-ellipsis{min-width:20px;height:32px;color:var(--theme-text-muted);font-weight:var(--weight-semibold);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.state-text{text-align:center;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--theme-text-muted);background:var(--theme-bg-card);padding:3rem}.state-error{color:var(--theme-danger);background:var(--theme-danger-bg);border:1px solid var(--theme-danger-border);border-radius:var(--radius-md);margin:1rem;padding:1rem}.empty-state.compact{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4.5rem 2rem;display:flex}.empty-state.compact h3{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--theme-text-title);margin-bottom:.35rem}.empty-state.compact p{color:var(--theme-text-muted);font-size:var(--text-base);max-width:320px}@media (width<=768px){.table-toolbar{flex-direction:column;align-items:stretch;padding:1rem}.table-search{max-width:100%}.table-filters{flex-wrap:wrap}.table-pagination{align-items:flex-start;gap:var(--space-4);flex-direction:column;padding:1rem}.pagination-right{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;width:100%}.pagination-btns button{min-width:44px;height:44px}}.stock-col-expiry{white-space:nowrap}.stock-unit-inline{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);margin-left:.3rem}.expiry-date-value{display:block}.stock-col-expiry-status{white-space:nowrap;text-align:center}.expiry-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--theme-bg-card);white-space:nowrap;padding:.15rem .5rem;display:inline-block}.expiry-badge.tone-success{background:var(--theme-success)}.expiry-badge.tone-pending{background:var(--color-status-pending)}.expiry-badge.tone-danger{background:var(--theme-danger)}.expiry-badge.tone-muted{background:var(--color-status-draft)}.expiry-soonest-tag{border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-left:.35rem;padding:.05rem .35rem}.type-dot-active{background:var(--color-status-approved)}.type-dot-inactive{background:var(--theme-danger)}.load-error{align-items:center;gap:var(--space-4);margin:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--theme-danger-border);border-radius:var(--radius-md);background:var(--theme-danger-bg);color:var(--theme-text-body);font-size:var(--text-base);flex-wrap:wrap;display:flex}.load-error-icon{color:var(--theme-danger);flex-shrink:0;display:flex}.load-error-icon svg{width:18px;height:18px}.load-error-text{flex:1;min-width:0}.load-error-retry{flex-shrink:0}.empty-state-action{margin-top:var(--space-5)}.dsx-source-chip{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--theme-primary);background:var(--theme-primary-light);border-radius:var(--radius-full);white-space:nowrap;padding:.3rem .75rem;display:inline-flex}.dsx-source-chip svg{width:15px;height:15px}.dsx-workspace{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.dsx-panel{background:var(--theme-bg-card);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);gap:var(--space-6);flex-direction:column;padding:1.4rem 1.5rem;display:flex}.dsx-panel.is-locked{opacity:.5;pointer-events:none}.dsx-panel-head{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.dsx-step{align-items:center;gap:var(--space-4);display:flex}.dsx-step-no{background:var(--theme-primary);width:26px;height:26px;color:var(--theme-bg-card);font-size:var(--text-sm);font-weight:var(--weight-black);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dsx-step-text h2{font-size:var(--text-md);font-weight:var(--weight-black);color:var(--theme-text-title);margin:0}.dsx-step-text p{font-size:var(--text-xs);color:var(--theme-text-muted);margin:.1rem 0 0}.dsx-field{gap:var(--space-2);flex-direction:column;display:flex}.dsx-field>label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--theme-text-muted)}.dsx-field-note{font-size:var(--text-xs);color:var(--theme-text-muted);margin:.1rem 0 0}.dsx-field-note strong{color:var(--theme-text-title);font-weight:var(--weight-black)}.dsx-field-note.is-error{color:var(--theme-danger);font-weight:var(--weight-semibold)}.dsx-lot-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dsx-lot-card{background:var(--color-bg-page);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);gap:var(--space-4);flex-direction:column;padding:.85rem 1rem;display:flex}.dsx-lot-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dsx-lot-card-title{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex}.dsx-lot-card-title strong{font-size:var(--text-base);font-weight:var(--weight-black);color:var(--theme-text-title)}.dsx-lot-card-meta{font-size:var(--text-xs);color:var(--theme-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dsx-lot-remove{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);width:30px;height:30px;color:var(--theme-text-muted);cursor:pointer;transition:all var(--transition-smooth);flex-shrink:0;place-items:center;display:grid}.dsx-lot-remove svg{width:15px;height:15px}.dsx-lot-remove:hover{border-color:var(--theme-danger);color:var(--theme-danger);background:var(--theme-danger-bg)}.dsx-lot-card-body{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.4fr);align-items:start;display:grid}.dsx-lot-qty{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dsx-lot-total{justify-content:space-between;align-items:center;gap:var(--space-5);border:1px solid var(--theme-primary);border-radius:var(--radius-md);background:var(--theme-primary-light);font-size:var(--text-base);color:var(--theme-text-body);flex-wrap:wrap;padding:.75rem 1rem;display:flex}.dsx-lot-total strong{color:var(--theme-text-title);font-weight:var(--weight-black)}@media (width<=768px){.dsx-lot-card-body{grid-template-columns:1fr}}.dsx-fact{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dsx-fact-label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--theme-text-muted)}.dsx-fact-value{font-size:var(--text-base);font-weight:var(--weight-black);color:var(--theme-text-title);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dsx-qty-controls{align-items:center;gap:var(--space-4);display:flex}.dsx-qty-controls .dissection-input-wrapper{max-width:240px}.dsx-link-btn{color:var(--theme-primary);font-weight:var(--weight-bold);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast);background:0 0;border:none;padding:.35rem .25rem}.dsx-link-btn:hover{color:var(--theme-primary-hover);text-decoration:underline}.dsx-inline-empty{justify-content:center;align-items:center;gap:var(--space-3);border:1.5px dashed var(--theme-border-color);border-radius:var(--radius-md);color:var(--theme-text-muted);text-align:center;flex-direction:column;padding:1.5rem 1rem;display:flex}.dsx-inline-empty svg{opacity:.6;width:26px;height:26px}.dsx-inline-empty p{font-size:var(--text-sm);margin:0}.dsx-detail-page{gap:var(--space-6);flex-direction:column;width:100%;padding:1.5rem;display:flex}.dsx-detail-card{gap:var(--space-5);flex-direction:column;display:flex}.dsx-detail-heading{align-items:baseline;gap:var(--space-3);font-size:var(--text-md);font-weight:var(--weight-black);color:var(--theme-text-title);margin:0;display:flex}.dsx-detail-heading span{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--theme-text-muted)}.dsx-detail-facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem 1.25rem;display:grid}.dsx-detail-fact{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex}.dsx-detail-fact-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--theme-text-muted)}.dsx-detail-fact-value{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--theme-text-title);overflow-wrap:anywhere}.dsx-detail-fact-value.is-accent{color:var(--theme-primary)}.dsx-detail-sub{font-size:var(--text-xs);color:var(--theme-text-muted)}.dsx-detail-page .dsx-num,.sas-page .dsx-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dsx-detail-page .dsx-strong,.sas-page .dsx-strong{font-weight:var(--weight-black)}.dsx-detail-page .dsx-accent{color:var(--theme-primary);font-weight:var(--weight-black)}.dsx-detail-page tfoot td{border-top:2px solid var(--theme-border-color);background:var(--color-bg-input)}.dsx-detail-note{border-top:1px solid var(--theme-border-color);padding-top:.9rem}.dsx-detail-note-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--theme-text-muted);margin-bottom:.3rem;display:block}.dsx-detail-note p{border-radius:var(--radius-md);background:var(--color-bg-input);font-size:var(--text-base);color:var(--theme-text-body);margin:0;padding:.7rem .85rem}.adj-diff{font-weight:var(--weight-black)}.adj-diff.is-up,.adj-summary .is-up{color:#15803d}.adj-diff.is-down,.adj-summary .is-down{color:var(--color-error)}.proc-rules-dialog{width:min(600px,95vw)}.proc-rule-add{align-items:flex-end;gap:var(--space-4);display:flex}.proc-rule-field{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.proc-rule-add-btn{flex-shrink:0}.proc-rule-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:-.35rem 0 0}.proc-rule-listing{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.proc-rule-listing-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin:0}.proc-rule-count{font-variant-numeric:tabular-nums;color:var(--theme-text-title)}.proc-rule-list{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.proc-rule-item:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.proc-rule-item:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.proc-rule-item{min-width:0;padding:.6rem .5rem .6rem .85rem}.proc-rule-row{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;min-width:0;display:flex}.proc-rule-item+.proc-rule-item{border-top:1px solid var(--theme-border-color)}.proc-rule-name{min-width:0;font-weight:var(--weight-semibold);color:var(--theme-text-title);overflow-wrap:anywhere;flex:1}.proc-rule-sku{border-radius:var(--radius-sm);background:var(--color-bg-input);font-family:monospace;font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0;padding:.1rem .45rem}.proc-rule-remove{flex-shrink:0}.proc-rule-toggle{align-items:center;gap:var(--space-2);border:1px solid var(--theme-border-color);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;margin-left:auto;padding:.25rem .55rem;display:inline-flex}.proc-rule-toggle:hover:not(:disabled){color:var(--theme-text-title);background:var(--color-bg-input)}.proc-rule-toggle:disabled{cursor:default;opacity:.5}.proc-rule-toggle svg{transition:transform .15s}.proc-rule-toggle.is-open svg{transform:rotate(180deg)}.proc-rule-outputs{border-left:2px solid var(--theme-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-bg-page);gap:var(--space-3);flex-direction:column;margin:.6rem -.15rem .15rem .15rem;padding:.65rem .7rem;display:flex}.proc-output-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.proc-output-chip{align-items:center;gap:var(--space-2);border:1px solid var(--theme-border-color);border-radius:var(--radius-full);background:var(--theme-bg-card);max-width:100%;font-size:var(--text-sm);padding:.2rem .3rem .2rem .55rem;display:inline-flex}.proc-output-name{overflow-wrap:anywhere;min-width:0;color:var(--theme-text-title)}.proc-output-remove{border-radius:var(--radius-full);width:1.15rem;height:1.15rem;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.proc-output-remove:hover:not(:disabled){background:var(--color-danger-soft,#fee2e2);color:var(--color-danger)}.proc-output-remove:disabled{cursor:default;opacity:.5}.proc-rule-add--inline{gap:var(--space-2)}.proc-rule-note--inline{font-size:var(--text-sm);margin:0}@media (width<=640px){.proc-rule-add{flex-direction:column;align-items:stretch}}.doc-tab-panel>.dsx-workspace>.dsx-panel:first-child{border-top-left-radius:0;border-top-right-radius:0}.dialog-backdrop{z-index:999;background:var(--color-backdrop);overscroll-behavior:contain;padding:1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) fadeIn;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog-backdrop--top{z-index:1100}.edit-contact-dialog{background:var(--theme-bg-card);border-radius:var(--radius-lg);width:min(560px,95vw);box-shadow:var(--shadow-overlay);border:1px solid #e2e8f0e6;flex-direction:column;margin:auto;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:visible}.edit-product-dialog,.create-product-dialog{background:var(--theme-bg-card);border-radius:var(--radius-lg);width:min(660px,95vw);box-shadow:var(--shadow-overlay);border:1px solid #e2e8f0e6;flex-direction:column;margin:auto;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:visible}.dialog-header{border-bottom:1px solid var(--theme-border-color);background:var(--theme-bg-card);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.dialog-title-group{align-items:center;gap:var(--space-4);display:flex}.dialog-icon-badge{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--theme-primary-light) 0%, #dbeafe 100%);width:44px;height:44px;color:var(--theme-primary);border:1px solid #bfdbfecc;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dialog-subtitle{font-size:var(--text-xs);color:var(--theme-text-muted);font-weight:var(--weight-normal);margin:.15rem 0 0}.dialog-form,.dialog-body{min-height:0}.dialog-header h3{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--theme-text-title);margin:0}.dialog-close-btn{border-radius:var(--radius-sm);border:1px solid var(--theme-border-color);background:var(--theme-bg-card);width:28px;height:28px;color:var(--theme-text-muted);cursor:pointer;transition:all var(--transition-smooth);font-size:var(--text-xs);place-items:center;display:grid;position:relative}.dialog-close-btn:after{content:"";position:absolute;inset:-8px}.dialog-close-btn:hover{border-color:var(--theme-danger);color:var(--theme-danger);background:var(--theme-danger-bg)}.dialog-form{gap:var(--space-6);background:var(--theme-bg-card);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);padding:1.5rem;display:grid;overflow-y:visible}.dialog-form-grid{grid-template-columns:1fr 1fr;gap:1.25rem 1rem;display:grid}.dialog-form-grid .full-width{grid-column:1/-1}.dialog-form label{gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-body);display:grid}.dialog-form input,.dialog-form select,.dialog-form textarea{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);width:100%;color:var(--theme-text-title);font-size:var(--text-base);transition:all var(--transition-smooth);padding:.65rem .8rem}.dialog-form .searchable-dropdown-input{padding:.65rem 2.2rem .65rem .8rem}.dialog-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:2.25rem}.dialog-form input:focus,.dialog-form select:focus,.dialog-form textarea:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-glow);outline:none}.dialog-form textarea{resize:vertical}.dialog-actions{justify-content:flex-end;gap:var(--space-4);flex-shrink:0;margin-top:.5rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.delete-dialog{max-width:440px!important}.delete-dialog-body{text-align:center;align-items:center;gap:var(--space-4);background:var(--theme-bg-card);flex-direction:column;padding:1.75rem 1.5rem 1.25rem;display:flex}.delete-warning-icon{background:var(--theme-danger-bg);width:54px;height:54px;color:var(--theme-danger);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.delete-warning-icon.tone-primary{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)}.delete-warning-icon.tone-success{background:color-mix(in srgb, var(--color-success) 8%, transparent);color:var(--color-success)}.delete-warning-icon:not(.tone-primary):not(.tone-success){animation:.5s ease-in-out shake}.delete-warning-icon svg{width:26px;height:26px}.delete-dialog-body p{font-size:var(--text-md);color:var(--theme-text-body);margin:0;line-height:1.5}.delete-dialog-body strong{color:var(--theme-text-title);word-break:break-word}.delete-subtext{font-size:var(--text-xs);color:var(--theme-text-muted);font-weight:var(--weight-medium)}.delete-actions{background:var(--theme-bg-card);padding:1rem 1.5rem 1.5rem!important}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (width<=640px),(height<=700px){.dialog-backdrop{padding:.75rem}.dialog-form{padding:1.25rem}}@media (prefers-reduced-motion:reduce){.dialog-backdrop,.edit-contact-dialog,.edit-product-dialog,.create-product-dialog,.delete-warning-icon{animation:none}}.dialog-error{color:var(--theme-danger);background:var(--theme-danger-bg);border:1px solid var(--theme-danger-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);align-items:center;gap:var(--space-3);margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.confirm-dialog-icon{border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:.25rem;display:flex}.confirm-dialog-icon.submit-info{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--theme-primary)}.confirm-dialog-icon.approve-success{background:color-mix(in srgb, var(--color-success) 8%, transparent);color:var(--color-success)}.confirm-dialog-icon svg{width:24px;height:24px}.confirm-payment-note{align-items:center;gap:var(--space-3);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--color-bg-input);width:100%;font-size:var(--text-sm);flex-wrap:wrap;justify-content:center;margin-top:.9rem;padding:.7rem .9rem;display:flex}.confirm-payment-label{color:var(--theme-text-muted)}.confirm-payment-account{color:var(--theme-text-title);font-weight:var(--weight-semibold)}.confirm-payment-amount{font-weight:var(--weight-bold);color:var(--theme-danger);white-space:nowrap;margin-left:auto}.confirm-dialog-error{border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);width:100%;color:var(--color-error);font-size:var(--text-sm);text-align:left;margin:.9rem 0 0;padding:.7rem .9rem}.registry-dialog{width:min(560px,95vw)}.registry-body{gap:var(--space-5);background:var(--theme-bg-card);flex-direction:column;max-height:60vh;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.registry-add{gap:var(--space-3);display:flex}.registry-add input{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);min-width:0;height:38px;font-family:inherit;font-size:var(--text-base);color:var(--theme-text-title);flex:1;padding:.5rem .8rem}.registry-add input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--theme-primary-glow);outline:none}.registry-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.registry-row{align-items:center;gap:var(--space-3);border:1px solid var(--theme-divider);border-radius:var(--radius-md);padding:.5rem .35rem .5rem .7rem;display:flex}.registry-row.is-off{background:var(--color-bg-input)}.registry-row.is-off .registry-name{color:var(--theme-text-muted)}.registry-row input{border:1px solid var(--color-primary);border-radius:var(--radius-sm);min-width:0;height:34px;font-family:inherit;font-size:var(--text-base);flex:1;padding:.4rem .6rem}.registry-row input:focus{box-shadow:0 0 0 3px var(--theme-primary-glow);outline:none}.registry-name{align-items:center;gap:var(--space-3);min-width:0;font-size:var(--text-base);color:var(--theme-text-title);flex:1;display:flex}.registry-off-tag{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--theme-text-muted);background:color-mix(in srgb, var(--theme-text-muted) 12%, transparent);flex-shrink:0;padding:.05rem .4rem}.registry-actions{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.registry-actions .btn{height:34px;font-size:var(--text-sm);padding:0 .85rem}.registry-icon-btn{border:1px solid var(--theme-border-color);border-radius:var(--radius-sm);background:var(--theme-bg-card);width:32px;height:32px;color:var(--theme-text-muted);cursor:pointer;transition:all var(--transition-smooth);place-items:center;display:grid;position:relative}.registry-icon-btn:after{content:"";position:absolute;inset:-6px}.registry-icon-btn svg{width:15px;height:15px}.registry-icon-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.registry-icon-btn.is-danger:hover:not(:disabled){border-color:var(--theme-danger);color:var(--theme-danger);background:var(--theme-danger-bg)}.registry-icon-btn:disabled{opacity:.5;cursor:not-allowed}.registry-footer{padding:0 1.5rem 1.25rem}.shelf-life-block{border:1px solid var(--theme-divider);border-radius:var(--radius-md);background:var(--color-bg-input);min-width:0;margin:0 1.5rem 1.25rem;padding:1rem 1rem .85rem}.shelf-life-block[disabled]{opacity:.6}.shelf-life-block-head{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.shelf-life-block legend{float:none;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--theme-text-title);padding:0}.shelf-life-add{align-items:center;gap:var(--space-2);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-primary);cursor:pointer;padding:.35rem .7rem;display:inline-flex}.shelf-life-add:hover{background:var(--theme-primary-light)}.shelf-life-add svg{width:14px;height:14px}.shelf-life-block-hint,.shelf-life-empty{font-size:var(--text-xs);color:var(--color-text-muted);margin:.4rem 0 0;line-height:1.6}.shelf-life-empty{padding:.7rem 0 .2rem}.shelf-life-rows{gap:var(--space-3);flex-direction:column;margin-top:.85rem;display:flex}.shelf-life-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 5.5rem 2rem;align-items:center;display:grid}.shelf-life-row--head{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted)}.shelf-life-row>.searchable-dropdown-container{min-width:0}.shelf-life-row input{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);width:100%;min-width:0;font-size:var(--text-base);color:var(--theme-text-title);box-sizing:border-box;transition:all var(--transition-smooth);padding:.65rem .8rem;font-family:inherit}.shelf-life-row input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-glow);outline:none}.shelf-life-row.is-invalid input{border-color:var(--theme-danger)}.shelf-life-error{font-size:var(--text-xs);color:var(--theme-danger);margin:.6rem 0 0}@media (width<=640px){.shelf-life-block{margin-inline:1rem}.shelf-life-row{grid-template-columns:1fr 1fr}.shelf-life-row--head{display:none}.shelf-life-row>:first-child{grid-column:1/-1}}.shelf-life-value{font-variant-numeric:tabular-nums}.shelf-life-unset{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.contact-page-content{gap:var(--space-7);flex-direction:column;width:100%;max-width:100%;margin:0 auto;padding:1.5rem;display:flex}.page-header{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.page-title-group>.btn-back{margin-bottom:.5rem}.page-title-group h1{font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--theme-text-title);letter-spacing:-.02em;margin:0}.po-link{font:inherit;font-weight:var(--weight-semibold);text-align:inherit;color:var(--theme-primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.po-link:hover,.po-link:focus-visible{text-decoration:underline}.po-link-text{color:var(--theme-primary);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--transition-smooth);text-decoration:none}.po-link-text:hover,.po-link-text:focus-visible{color:var(--theme-primary-hover);text-decoration:underline}.trash-table .actions-cell{width:280px}.trash-restore-btn,.trash-purge-btn{min-width:120px}.trash-countdown{border-radius:var(--radius-full);color:#c2410c;font-size:var(--text-xs);font-weight:var(--weight-bold);background:#fff7ed;align-items:center;padding:.3rem .6rem;display:inline-flex}.trash-notice{border:1px solid var(--color-success-border);color:#166534;background:var(--color-success-bg);border-radius:var(--radius-md);padding:.9rem 1rem}.filter-segment-bar{background:var(--theme-bg-card);border:1px solid var(--theme-divider-strong);border-radius:var(--radius-lg);display:flex;overflow:hidden}.filter-segment{--seg-tone:var(--theme-primary);--seg-tint:var(--theme-primary-light);align-items:flex-start;gap:var(--space-1);text-align:left;cursor:pointer;min-width:0;transition:background-color var(--transition-base), border-color var(--transition-base);background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:column;flex:1 1 0;padding:.85rem 1.1rem .75rem;font-family:inherit;display:flex}.filter-segment[data-tone=supplier]{--seg-tone:var(--color-contact-supplier);--seg-tint:color-mix(in srgb, var(--color-contact-supplier) 7%, transparent)}.filter-segment[data-tone=customer]{--seg-tone:var(--color-contact-customer);--seg-tint:color-mix(in srgb, var(--color-contact-customer) 7%, transparent)}.filter-segment[data-tone=raw]{--seg-tone:var(--color-product-raw);--seg-tint:color-mix(in srgb, var(--color-product-raw) 7%, transparent)}.filter-segment[data-tone=processed]{--seg-tone:var(--color-product-processed);--seg-tint:color-mix(in srgb, var(--color-product-processed) 7%, transparent)}.filter-segment[data-tone=finished]{--seg-tone:var(--color-product-finished);--seg-tint:color-mix(in srgb, var(--color-product-finished) 7%, transparent)}.filter-segment+.filter-segment{box-shadow:inset 1px 0 0 var(--theme-divider)}.filter-segment:hover{background:var(--color-bg-input)}.filter-segment:focus-visible{outline:2px solid var(--seg-tone);outline-offset:-3px}.filter-segment[aria-pressed=true]{background:var(--seg-tint);border-bottom-color:var(--seg-tone)}.filter-segment-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-body);white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:inline-flex;overflow:hidden}.filter-segment-dots{flex-shrink:0;gap:3px;display:inline-flex}.filter-segment-name{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--theme-text-title);text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:color var(--transition-base);line-height:1.3;overflow:hidden}.filter-segment[aria-pressed=true] .filter-segment-name{color:var(--seg-tone)}@media (width<=1024px){.filter-segment-bar{overflow-x:auto}.filter-segment{flex:1 0 auto;min-width:128px}}@media (width<=640px){.filter-segment{min-width:112px;padding:.7rem .9rem .6rem}}@media (prefers-reduced-motion:reduce){.filter-segment,.filter-segment-name{transition:none}}@media (width<=1024px){.contact-page-content{gap:var(--space-5);padding:1rem}}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch}.page-title-group h1{font-size:var(--text-xl)}}@media (width<=640px){.contact-page-content{padding:.75rem}}.page-tabs{gap:var(--space-3);border-bottom:1px solid var(--theme-divider-strong);display:flex}.doc-tab-panel{flex-direction:column;display:flex}.doc-tab-bar{scrollbar-width:none;z-index:1;align-items:flex-end;margin-bottom:-1px;padding-left:.75rem;display:flex;position:relative;overflow-x:auto}.doc-tab-bar::-webkit-scrollbar{display:none}.doc-tab{align-items:center;gap:var(--space-3);border:1px solid var(--color-divider-strong);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-bg-input);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-body);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;padding:.62rem 1.05rem;display:inline-flex}.doc-tab+.doc-tab{margin-left:-1px}.doc-tab:hover:not([aria-pressed=true]){background:var(--theme-bg-card);color:var(--theme-text-title)}.doc-tab:focus-visible{outline:2px solid var(--theme-primary);outline-offset:-2px}.doc-tab[aria-pressed=true]{background:var(--theme-bg-card);border-bottom-color:var(--theme-bg-card);color:var(--theme-text-title);font-weight:var(--weight-bold);cursor:default;z-index:1;padding-top:calc(.62rem + 4px);position:relative}.doc-tab-count{border-radius:var(--radius-full);background:var(--theme-primary);min-width:18px;height:18px;color:var(--theme-bg-card);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 5px;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1;display:inline-flex}.doc-tab-count.tone-draft{background:var(--color-status-draft)}.doc-tab-count.tone-pending{background:var(--color-status-pending)}.doc-tab-count.tone-approved{background:var(--color-status-approved)}.doc-tab-count.tone-danger{background:var(--theme-danger)}.doc-tab-count.tone-success{background:var(--theme-success)}.doc-tab-count.tone-muted{background:var(--color-text-muted)}.doc-tab-count.tone-supplier{background:var(--color-contact-supplier)}.doc-tab-count.tone-customer{background:var(--color-contact-customer)}.doc-tab-count.tone-raw{background:var(--color-product-raw)}.doc-tab-count.tone-processed{background:var(--color-product-processed)}.doc-tab-count.tone-finished{background:var(--color-product-finished)}.doc-tab-panel>.table-container,.doc-tab-panel>.table-container--popup>.table-toolbar{border-top-left-radius:0;border-top-right-radius:0}.po-status-badge{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);border:1px solid;justify-content:center;align-items:center;padding:4px 10px;line-height:1.2;display:inline-flex}.po-status-badge.draft{background-color:color-mix(in srgb, var(--color-status-draft) 8%, transparent);color:var(--color-status-draft);border-color:color-mix(in srgb, var(--color-status-draft) 22%, transparent)}.po-status-badge.pending-approval{background-color:color-mix(in srgb, var(--color-status-pending) 8%, transparent);color:var(--color-status-pending);border-color:color-mix(in srgb, var(--color-status-pending) 22%, transparent)}.po-status-badge.approved{background-color:color-mix(in srgb, var(--color-status-approved) 8%, transparent);color:var(--color-status-approved);border-color:color-mix(in srgb, var(--color-status-approved) 22%, transparent)}.po-status-badge.closed{background-color:color-mix(in srgb, var(--color-danger) 8%, transparent);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 22%, transparent)}.po-status-badge.payment-outstanding{background-color:color-mix(in srgb, var(--color-status-pending) 8%, transparent);color:var(--color-status-pending);border-color:color-mix(in srgb, var(--color-status-pending) 22%, transparent)}.po-status-badge.payment-paid{background-color:color-mix(in srgb, var(--color-status-approved) 8%, transparent);color:var(--color-status-approved);border-color:color-mix(in srgb, var(--color-status-approved) 22%, transparent)}.page-tab-btn{align-items:center;gap:var(--space-3);font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--theme-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:.75rem 1.25rem;display:inline-flex;position:relative}.page-tab-btn:hover{color:var(--theme-text-title)}.page-tab-btn svg{opacity:.7;flex-shrink:0;width:16px;height:16px}.page-tab-btn.active svg{opacity:1}.page-tab-btn.active{color:var(--theme-primary)}.page-tab-btn.active:after{content:"";background:var(--theme-primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.required-star{color:#ef4444;margin-left:2px}.info-label{font-size:var(--text-xs);color:var(--theme-text-muted);font-weight:var(--weight-semibold)}.info-value{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--theme-text-title)}.info-value.highlight{color:var(--theme-primary);font-weight:var(--weight-bold)}.document-support-stack{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.document-support-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.document-note-box{gap:var(--space-3);min-width:0;min-height:7.5rem;padding:var(--space-5);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);background:var(--color-bg-input);flex-direction:column;display:flex}.document-support-title{margin-bottom:var(--space-3);color:var(--theme-text-muted);font-size:var(--text-sm);font-weight:var(--weight-bold);display:block}.document-note-box .document-support-title{margin-bottom:0}.document-note-content{color:var(--theme-text-body);font-size:var(--text-base);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.6}.document-attachments-section{flex-direction:column;min-width:0;display:flex}.attachment-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,16.875rem),1fr));display:grid}.attachment-card{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);min-width:0;transition:border-color var(--transition-smooth), background-color var(--transition-smooth);position:relative;overflow:hidden}.attachment-card-main{align-items:center;gap:var(--space-3);min-width:0;color:var(--theme-text-body);grid-template-columns:4.25rem minmax(0,1fr);padding:.65rem;text-decoration:none;display:grid}.attachment-card:hover,.attachment-card:focus-within{border-color:var(--theme-primary);background:var(--theme-primary-light)}.attachment-card-main:focus-visible{outline:none}.attachment-card.is-removable .attachment-card-main{padding-right:var(--space-9)}.attachment-card-remove{top:var(--space-2);right:var(--space-2);border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--theme-text-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.attachment-card-remove svg{width:1rem;height:1rem}.attachment-card-remove:hover,.attachment-card-remove:focus-visible{border-color:var(--theme-danger-border);background:var(--theme-danger-bg);color:var(--theme-danger);outline:none}.attachment-card-remove:disabled{cursor:not-allowed;opacity:.55}.attachment-card-preview{border:1px solid var(--theme-divider);border-radius:var(--radius-sm);background:var(--color-bg-input);width:4.25rem;height:4.25rem;overflow:hidden}.attachment-card-preview.is-image img{object-fit:cover;width:100%;height:100%;display:block}.attachment-card-preview.is-document{color:var(--theme-primary);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.attachment-card-preview.is-document .file-icon{width:1.45rem;height:1.45rem}.attachment-card-preview.is-document span{font-size:.65rem;font-weight:var(--weight-bold);letter-spacing:.04em}.attachment-card-details{flex-direction:column;gap:3px;min-width:0;display:flex}.attachment-card-name{color:var(--theme-text-title);font-size:var(--text-sm);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-card-meta{color:var(--theme-text-muted);font-size:var(--text-xs);line-height:1.35}.attachment-card-empty{padding:var(--space-4);border:1px dashed var(--theme-border-color);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--theme-text-muted);font-size:var(--text-sm);text-align:center}@media (width<=768px){.document-support-grid{grid-template-columns:minmax(0,1fr)}}.receive-row-btn{border:1px solid var(--theme-primary);background:var(--theme-primary);color:var(--theme-bg-card);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-smooth);padding:.4rem .9rem}.receive-row-btn:hover{background:var(--theme-primary-hover);border-color:var(--theme-primary-hover)}.doc-tab-trailing{align-items:flex-end;margin-left:auto;padding-right:.75rem;display:flex}.doc-tab-action{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-divider-strong);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-bg-input);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-body);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;padding:.62rem .9rem;display:inline-flex}.doc-tab-action svg{flex-shrink:0;width:17px;height:17px}@media (width<=768px){.doc-tab-action-label{display:none}.doc-tab-action{padding:.62rem .7rem}}.doc-tab-action:hover{background:var(--theme-bg-card);color:var(--color-primary)}.doc-tab-action:focus-visible{outline:2px solid var(--theme-primary);outline-offset:-2px}.detail-view-container{gap:var(--space-6);width:100%;animation:fadeInView var(--transition-slow);flex-direction:column;display:flex}.detail-view-topline{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.document-detail-sheet{gap:0}.document-detail-facts{gap:var(--space-6) var(--space-7);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.document-detail-fact{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.document-detail-label{color:var(--theme-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.document-detail-value{min-width:0;color:var(--theme-text-title);font-size:var(--text-base);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.document-detail-value.is-primary,.document-detail-sku,.document-detail-product-name,.document-detail-reference,.document-detail-number.is-primary{color:var(--theme-primary)}.document-detail-section-meta{color:var(--theme-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.document-detail-items-scroll{scrollbar-color:var(--theme-border-hover) transparent;scrollbar-width:thin;overflow-x:auto}.document-detail-items-table{min-width:48rem}.document-detail-items-table .document-detail-sequence-heading{text-align:center;width:5rem}.document-detail-items-table .document-detail-number-heading{text-align:right;width:10rem}.document-detail-items-table .document-detail-unit-heading{text-align:center;width:7rem}.document-detail-sku,.document-detail-product-name,.document-detail-reference{font-size:var(--text-base);font-weight:var(--weight-semibold)}.document-detail-number{color:var(--theme-text-body);text-align:right;font-variant-numeric:tabular-nums}.document-detail-number.is-strong{font-weight:var(--weight-black)}.document-detail-unit{color:var(--theme-text-muted);text-align:center}.document-detail-empty{padding:var(--space-8);text-align:center}.document-detail-empty-state{padding:var(--space-7);border:1px dashed var(--theme-border-color);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--theme-text-muted);text-align:center}@media (width<=1024px){.document-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.document-detail-facts{grid-template-columns:minmax(0,1fr)}.document-detail-items-table{min-width:0}.purchase-form-section-header .document-detail-section-meta{grid-column:2;justify-self:start}.purchase-form-items-table .document-detail-empty{padding:var(--space-7);display:block;text-align:center!important}.purchase-form-items-table .document-detail-empty:before{display:none}}.purchase-form-container{width:100%;margin-bottom:2rem;animation:.25s cubic-bezier(.25,1,.5,1) slideUp}.purchase-form-card{background:var(--theme-bg-card);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);gap:var(--space-6);flex-direction:column;padding:1.75rem 2rem;display:flex}.purchase-order-form{gap:0}.purchase-order-form .purchase-form-section{gap:var(--space-5);min-width:0;padding:var(--space-7) 0;border-bottom:1px solid var(--theme-divider-strong);flex-direction:column;display:flex}.purchase-order-form .purchase-form-section:first-child{padding-top:0}.purchase-order-form .purchase-form-section:last-of-type{border-bottom:0;padding-bottom:0}.purchase-form-section-header{align-items:center;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;min-width:0;display:grid}.purchase-form-section-status{border-radius:var(--radius-full);background:var(--theme-text-muted);width:1.125rem;height:1.125rem;color:var(--theme-bg-card);transition:background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.purchase-form-section-status.is-complete{background:var(--theme-success)}.purchase-form-section-status svg{stroke-width:3px;width:.75rem;height:.75rem}.purchase-form-section-copy{min-width:0}.purchase-form-section-header h2{color:var(--theme-text-title);font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0}.purchase-form-top-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);margin-bottom:.25rem;display:grid}.purchase-order-form .purchase-form-top-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr)}.purchase-form-label-group{gap:var(--space-2);min-width:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-body);flex-direction:column;display:flex}.purchase-form-label-group.full-width{grid-column:span 3}.purchase-form-input,.purchase-form-select,.purchase-form-textarea{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--theme-text-title);background:var(--theme-bg-card);transition:all var(--transition-smooth);width:100%;padding:.65rem .8rem}.purchase-form-input.disabled{background:var(--color-bg-input);color:var(--theme-text-muted);cursor:not-allowed}.purchase-form-input:focus,.purchase-form-select:focus,.purchase-form-textarea:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-glow);outline:none}.purchase-form-divider{background-color:var(--theme-border-color);height:1px;margin:.75rem 0}.purchase-form-items-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.purchase-form-items-header h2{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--theme-text-title);margin:0}.purchase-form-add-row-btn{color:var(--theme-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border:0;align-items:center;gap:6px;display:flex}.purchase-form-add-row-btn:hover{color:var(--theme-primary-hover)}.purchase-form-add-row-btn .add-icon{font-size:18px;line-height:1;display:block}.purchase-form-items-table{border-collapse:separate;border-spacing:0;border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);width:100%;margin-bottom:1.25rem}.purchase-form-items-scroll{width:100%}.purchase-order-form .purchase-form-items-table{border-collapse:separate;border-spacing:0 var(--space-2);border:0;margin-bottom:0}.purchase-order-form .purchase-form-items-table thead th{background:0 0}.purchase-order-form .purchase-form-items-table tbody td{border-top:1px solid var(--theme-border-color);border-right:1px solid var(--theme-divider);border-bottom:1px solid var(--theme-border-color);background:var(--theme-bg-card)}.purchase-order-form .purchase-form-items-table tbody td:first-child{border-left:1px solid var(--theme-border-color);border-radius:var(--radius-md) 0 0 var(--radius-md)}.purchase-order-form .purchase-form-items-table tbody .purchase-item-sequence-cell{background:var(--theme-divider-strong);color:var(--theme-text-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:center}.purchase-order-form .purchase-form-items-table tbody td:last-child{border-right:1px solid var(--theme-border-color);border-radius:0 var(--radius-md) var(--radius-md) 0}.purchase-order-form .searchable-dropdown-input,.purchase-order-form .po-item-dashed-input,.purchase-order-form .purchase-form-items-table .purchase-form-input.disabled,.purchase-order-form .datepicker-input{color:var(--theme-primary)!important}.po-item-line-total{color:var(--theme-primary);font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;display:flex}.item-field-stack{justify-content:center;align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.field-error-text{margin-top:var(--space-1);color:var(--theme-danger);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.35;display:block}.items-error-text{margin-left:var(--space-4);color:var(--theme-danger);font-size:var(--text-sm);font-weight:var(--weight-medium)}.purchase-form-items-table th{background-color:var(--color-bg-input);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--theme-text-muted);border-bottom:1px solid var(--theme-border-color);padding:.75rem 1rem}.purchase-form-items-table th:first-child{border-top-left-radius:var(--radius-md)}.purchase-form-items-table th:last-child{border-top-right-radius:var(--radius-md)}.purchase-form-items-table td{border-bottom:1px solid var(--theme-border-color);vertical-align:middle;padding:.65rem 1rem}.purchase-form-items-table tr:last-child td{border-bottom:0}.purchase-form-items-table tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.purchase-form-items-table tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.purchase-order-form .purchase-form-items-table tbody tr:last-child td{border-bottom:1px solid var(--theme-border-color)}.po-item-dashed-input{border:1px dashed var(--theme-border-color);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--theme-text-title);background:var(--theme-bg-card);text-align:center;width:100px;transition:all var(--transition-smooth);padding:.45rem .6rem}.po-item-dashed-input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 2px var(--theme-primary-glow);border-style:solid;outline:none}.po-item-delete-btn{color:var(--theme-text-muted);font-size:var(--text-md);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.po-item-delete-btn:hover{color:var(--theme-danger);transform:scale(1.1)}.purchase-form-bottom-grid{gap:var(--space-8);grid-template-columns:1fr 1fr;margin-top:1rem;display:grid}.purchase-form-settlement-grid{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1.6fr) minmax(17rem,.8fr);min-width:0;display:grid}.po-item-tax-control{width:100%;min-width:0;display:block;position:relative}.po-item-tax-custom-input{width:100%;min-height:2.25rem;margin-top:var(--space-2);padding:.35rem var(--space-2);border:1px solid var(--theme-border-color);border-radius:var(--radius-sm);background:var(--theme-bg-card);color:var(--theme-text-body);font:inherit;text-align:center}.po-item-tax-custom-input:focus{border-color:var(--theme-primary);box-shadow:var(--shadow-focus);outline:none}.po-item-tax-select{appearance:none;width:100%;min-height:2.5rem;padding:.45rem calc(var(--space-5) + var(--space-2)) .45rem var(--space-2);border:1px solid var(--theme-border-color);border-radius:var(--radius-sm);background:var(--theme-bg-card);color:var(--theme-primary);font:inherit;text-align:center;cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.po-item-tax-chevron{inset-inline-end:var(--space-3);width:1rem;height:1rem;color:var(--theme-primary);pointer-events:none;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.po-item-tax-chevron svg{stroke-width:2px;width:100%;height:100%}.purchase-order-form .purchase-form-items-table td.purchase-item-tax-cell{padding-inline:var(--space-2)}.po-item-tax-select:hover:not(:disabled){border-color:var(--theme-border-hover)}.po-item-tax-select:focus{border-color:var(--theme-primary);box-shadow:var(--shadow-focus);outline:none}.po-item-tax-select:disabled{color:var(--theme-text-muted);background:var(--color-bg-input);cursor:not-allowed}.po-item-tax-select:disabled+.po-item-tax-chevron{color:var(--theme-text-muted)}.purchase-form-support-grid{align-items:start;gap:var(--space-6);grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);min-width:0;display:grid}.purchase-form-support-grid>*{min-width:0}.purchase-form-support-grid .purchase-form-textarea{resize:vertical;min-height:180px}.expense-entry-form .purchase-form-input:not(.disabled){color:var(--theme-primary)}.purchase-form-optional{margin-top:var(--space-6);border:1px solid var(--theme-divider);border-radius:var(--radius-lg);background:var(--color-bg-input)}.purchase-form-optional>summary{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-5);color:var(--theme-text-title);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;list-style:none;display:flex}.purchase-form-optional>summary::-webkit-details-marker{display:none}.purchase-form-optional>summary:after{content:"";border-right:2px solid var(--theme-text-muted);border-bottom:2px solid var(--theme-text-muted);width:8px;height:8px;transition:transform var(--transition-smooth);margin-left:auto;transform:rotate(45deg)translateY(-2px)}.purchase-form-optional[open]>summary:after{transform:rotate(225deg)translate(-2px,-2px)}.purchase-form-optional>summary small{color:var(--theme-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.purchase-form-optional-grid{align-items:start;gap:var(--space-6);padding:0 var(--space-5) var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.purchase-form-attachment-container h3{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--theme-text-title);margin:0 0 .75rem}.purchase-upload-dropzone{border-radius:var(--radius-lg);background-color:var(--color-bg-input);text-align:center;cursor:pointer;transition:all var(--transition-smooth);border:2px dashed #cbd5e1;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:2rem 1.5rem;display:flex}.purchase-upload-dropzone:hover{border-color:var(--theme-primary);background-color:var(--theme-primary-light)}.upload-cloud-icon-wrapper{width:44px;height:44px;color:var(--theme-primary);background-color:#2b60c414;border-radius:50%;place-items:center;margin-bottom:.75rem;display:grid}.upload-cloud-icon-wrapper svg{width:20px;height:20px}.upload-main-text{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--theme-text-title);margin-bottom:.25rem}.upload-sub-text{font-size:var(--text-xs);color:var(--theme-text-muted)}.purchase-form-summary-card{border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);gap:var(--space-4);background-color:#f4f6fc;flex-direction:column;padding:1.5rem 1.75rem;display:flex}.purchase-order-form .purchase-form-summary-card{background:var(--theme-primary-light);min-height:100%}.purchase-form-tax-summary{gap:var(--space-5)}.purchase-tax-summary-lines{gap:var(--space-3);display:grid}.purchase-tax-summary-row{align-items:baseline;gap:var(--space-3);color:var(--theme-text-body);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.purchase-tax-summary-row>span:last-child{color:var(--theme-text-muted)}.purchase-tax-summary-row strong,.purchase-tax-summary-total strong{font-variant-numeric:tabular-nums;white-space:nowrap}.purchase-tax-summary-total{align-items:baseline;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);background:var(--theme-primary);color:var(--theme-bg-card);grid-template-columns:minmax(0,1fr) auto auto;margin-top:auto;display:grid}.purchase-tax-summary-total strong{font-size:var(--text-2xl);font-weight:var(--weight-black)}.purchase-form-summary-card h3{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--theme-text-title);margin:0 0 .25rem}.summary-row{font-size:var(--text-base);color:var(--theme-text-body);justify-content:space-between;align-items:center;display:flex}.summary-row span{font-weight:var(--weight-medium);color:var(--theme-text-muted)}.summary-row strong{font-weight:var(--weight-bold);color:var(--theme-text-title)}.net-total-row{font-size:var(--text-md);font-weight:var(--weight-bold)}.net-total-row span{color:var(--theme-text-title);font-weight:var(--weight-bold);font-size:var(--text-md)}.net-total-value{font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--theme-primary)!important}.purchase-form-footer{border-top:1px solid var(--theme-border-color);justify-content:space-between;align-items:center;margin-top:1.75rem;padding-top:1.25rem;display:flex}@media (width>=1024px){.purchase-order-form .purchase-form-footer{bottom:var(--space-4);z-index:4;margin:var(--space-7) -.75rem -.75rem;padding:var(--space-4) .75rem;border:1px solid var(--theme-divider);border-radius:var(--radius-lg);background:var(--theme-bg-card);box-shadow:var(--shadow-card);position:sticky}}.purchase-form-footer .right-actions{gap:var(--space-4);display:flex}.cancel-btn{border-color:var(--theme-border-color);background:var(--theme-bg-card);color:var(--theme-text-body)}.cancel-btn:hover{background:#f1f5f9}.save-draft-btn{border-color:var(--theme-border-color);background:var(--theme-bg-card);color:var(--theme-text-body)}.save-draft-btn:hover{border-color:var(--theme-primary);color:var(--theme-primary);background:var(--theme-primary-light)}.confirm-po-btn{background:var(--theme-primary);color:var(--theme-bg-card);border-color:var(--theme-primary)}.confirm-po-btn:hover{background:var(--theme-primary-hover);border-color:#001f44}.purchase-form-input.field-has-error,.purchase-form-select.field-has-error,.purchase-form-textarea.field-has-error,.po-item-dashed-input.field-has-error,.searchable-dropdown-input.field-has-error,.datepicker-input-wrapper.field-has-error .datepicker-input{border-color:var(--theme-danger)!important;background-color:var(--color-error-bg)!important}.purchase-form-input.field-has-error:focus,.purchase-form-select.field-has-error:focus,.purchase-form-textarea.field-has-error:focus,.po-item-dashed-input.field-has-error:focus,.searchable-dropdown-input.field-has-error:focus,.datepicker-input-wrapper.field-has-error .datepicker-input:focus{border-color:var(--theme-danger)!important;box-shadow:0 0 0 3px #ef444433!important}.close-po-dialog{width:min(760px,94vw);max-width:760px}.close-po-lead{font-size:var(--text-base);color:var(--theme-text-body);margin:0 0 1rem;line-height:1.55}.close-po-section+.close-po-section{border-top:1px solid var(--theme-divider);margin-top:1.25rem;padding-top:1.25rem}.close-po-section h4{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--theme-text-muted);margin:0 0 .65rem}.close-po-table th,.close-po-table td{font-size:var(--text-sm);padding:.55rem .6rem}.close-po-table td{vertical-align:top}.data-table.close-po-table th.cpo-num,.close-po-table .cpo-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.close-po-table .cpo-sub{font-size:var(--text-xs);color:var(--theme-text-muted);margin-top:.15rem}.close-po-table .is-missing{color:var(--color-warning);font-weight:var(--weight-bold)}.close-po-table tfoot td{border-top:1px solid var(--theme-divider-strong);font-weight:var(--weight-bold)}.close-po-money{border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg,var(--color-warning-bg));padding:1rem}.close-po-section.close-po-money+.close-po-section,.close-po-section+.close-po-section.close-po-money{border-top:0}.close-po-hint{font-size:var(--text-sm);color:var(--theme-text-body);margin:0 0 .85rem;line-height:1.6}.close-po-field{display:block}.close-po-field>span{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--theme-text-title);margin-bottom:.35rem;display:block}.close-po-required{color:var(--color-error)}.close-po-field textarea{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);width:100%;font-family:inherit;font-size:var(--text-base);resize:vertical;padding:.6rem .8rem}.close-po-input-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.close-po-input-row input{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);width:9rem;font-size:var(--text-md);text-align:right;font-variant-numeric:tabular-nums;background:var(--theme-bg-card);padding:.5rem .7rem}.close-po-unit{font-size:var(--text-base);color:var(--theme-text-muted)}.close-po-quick{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--theme-text-body);cursor:pointer;padding:.4rem .75rem}.close-po-quick:hover:not(:disabled){border-color:var(--theme-primary,var(--theme-primary));color:var(--theme-primary,var(--theme-primary))}.close-po-outcome{gap:var(--space-1);border-top:1px solid var(--color-warning-border);font-size:var(--text-base);margin-top:.85rem;padding-top:.75rem;display:grid}.close-po-outcome>div{justify-content:space-between;gap:var(--space-5);display:flex}.close-po-outcome strong{font-variant-numeric:tabular-nums}.close-po-outcome .is-loss strong{color:var(--color-error)}.close-po-outcome-empty{font-size:var(--text-sm);color:var(--theme-text-muted);display:block}.btn-danger-solid{border-radius:var(--radius-md);background:var(--color-error);color:var(--theme-bg-card);font-weight:var(--weight-semibold);cursor:pointer;border:none;padding:.5rem 1.25rem}.btn-danger-solid:disabled{opacity:.6;cursor:not-allowed}.purchase-form-error-bottom{margin-top:1.5rem;margin-bottom:-.5rem}.purchase-form-add-row-btn .add-icon svg{stroke-width:2.5px}@media (width<=768px){.purchase-form-card{gap:var(--space-5);padding:1rem}.purchase-form-top-grid,.purchase-order-form .purchase-form-top-grid{gap:var(--space-4);grid-template-columns:1fr}.purchase-order-form .purchase-form-section{padding:var(--space-6) 0}.purchase-form-section-header{align-items:start;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.purchase-form-section-status{justify-self:start}.purchase-form-section-header .purchase-form-add-row-btn{grid-column:2;justify-self:start}.purchase-form-label-group.full-width{grid-column:span 1}.purchase-form-items-header{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.items-error-text{margin:var(--space-1) 0 0;display:block}.purchase-form-items-scroll{overflow:visible}.purchase-form-items-table,.purchase-form-items-table tbody,.purchase-form-items-table tr,.purchase-form-items-table td{width:100%;display:block}.purchase-form-items-table{background:0 0;border:0}.purchase-form-items-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.purchase-form-items-table tbody{gap:var(--space-4);display:grid}.purchase-form-items-table tr{padding:var(--space-3);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);background:var(--theme-bg-card)}.purchase-form-items-table td,.purchase-form-items-table tr:last-child td{align-items:start;gap:var(--space-3);border:0;border-bottom:1px solid var(--theme-divider);grid-template-columns:minmax(7rem,.8fr) minmax(0,1.6fr);padding:.6rem 0;display:grid;text-align:left!important}.purchase-form-items-table td:last-child,.purchase-form-items-table tr:last-child td:last-child{border-bottom:0}.purchase-order-form .purchase-form-items-table tbody td,.purchase-order-form .purchase-form-items-table tbody tr:last-child td{border:0;border-bottom:1px solid var(--theme-divider);background:0 0;border-radius:0}.purchase-order-form .purchase-form-items-table tbody td:last-child,.purchase-order-form .purchase-form-items-table tbody tr:last-child td:last-child{border-bottom:0}.purchase-form-items-table td:before{content:attr(data-label);color:var(--theme-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:2.5rem}.purchase-form-items-table td>*{min-width:0}.purchase-form-items-table .po-item-dashed-input,.purchase-form-items-table .purchase-form-input{width:100%}.purchase-form-items-table .item-field-stack{align-items:stretch}.purchase-form-items-table .po-item-delete-btn{justify-self:end;width:44px;min-height:44px}.purchase-form-bottom-grid{gap:var(--space-5);grid-template-columns:1fr}.purchase-form-settlement-grid,.purchase-form-support-grid,.purchase-form-optional-grid{grid-template-columns:1fr}.purchase-form-optional-grid{padding-inline:var(--space-4)}.purchase-form-footer,.purchase-form-footer .right-actions{align-items:stretch;gap:var(--space-3);flex-direction:column}.purchase-form-footer .btn{width:100%;min-height:44px}}@media (width<=420px){.purchase-form-items-table td,.purchase-form-items-table tr:last-child td{gap:var(--space-1);grid-template-columns:1fr}.purchase-form-items-table td:before{line-height:1.4}}.payment-terms-editor,.payment-installment-workspace,.payment-installment-list,.payment-plan-details,.payment-history-block{flex-direction:column;min-width:0;display:flex}.payment-entry-card{padding:var(--space-5);border:1px dashed var(--theme-border-hover);border-radius:var(--radius-lg);background:var(--color-bg-input)}.payment-entry-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--theme-divider);display:flex}.payment-entry-header h4{color:var(--theme-primary);font-size:var(--text-base);font-weight:var(--weight-bold);margin:0}.payment-entry-header span{color:var(--theme-text-muted);font-size:var(--text-xs)}.payment-entry-fields{gap:var(--space-5);padding-top:var(--space-5);grid-template-columns:minmax(240px,1.4fr) minmax(180px,.6fr);display:grid}.payment-full-account{min-width:0}.payment-account-logo,.payment-account-icon{flex-shrink:0;width:28px;height:28px}.payment-account-dropdown .searchable-dropdown-input.has-lead{padding-left:3.25rem}.payment-account-dropdown .searchable-dropdown-item-icon{min-width:28px;margin-top:0}.payment-account-logo{object-fit:contain}.payment-account-icon{border-radius:var(--radius-full);background:var(--theme-primary-light);color:var(--theme-primary);place-items:center;display:grid}.payment-account-icon svg{width:16px;height:16px}.payment-entry-summary{align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--theme-divider);color:var(--theme-text-secondary);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.payment-entry-summary>span{text-align:right}.payment-entry-summary>span strong{margin-left:var(--space-2);color:var(--theme-text-title);font-variant-numeric:tabular-nums}.payment-entry-summary-total{align-items:center;gap:var(--space-3);min-width:270px;min-height:58px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--theme-primary);color:var(--color-text-on-primary);grid-template-columns:auto 1fr auto auto;display:grid}.payment-entry-summary-total svg{width:18px;height:18px}.payment-entry-summary-total strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.payment-entry-summary>p{color:var(--theme-text-secondary);text-align:right;grid-column:2;margin:0}.payment-terms-editor,.payment-installment-workspace,.payment-plan-details{gap:var(--space-5)}.payment-terms-heading,.payment-plan-details-header,.payment-history-heading{justify-content:space-between;align-items:center;gap:var(--space-5);min-width:0;display:flex}.payment-terms-heading h3,.payment-plan-details-header h2,.payment-schedule-block h3,.payment-history-heading h3{color:var(--theme-text-title);font-size:var(--text-md);font-weight:var(--weight-bold);margin:0}.payment-terms-heading p,.payment-plan-details-header p{margin:var(--space-1) 0 0;color:var(--theme-text-muted);font-size:var(--text-sm)}.payment-terms-toggle{padding:var(--space-1);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--color-bg-input);flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));display:inline-grid}.payment-terms-toggle button{min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-sm);color:var(--theme-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast)}.payment-terms-toggle button:hover:not(:disabled){color:var(--theme-primary)}.payment-terms-toggle button.is-active{background:var(--theme-bg-card);color:var(--theme-primary);box-shadow:var(--shadow-card)}.payment-terms-toggle button:disabled{opacity:.55;cursor:not-allowed}.payment-plan-notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--theme-warning-border);border-radius:var(--radius-md);background:var(--theme-warning-bg);color:var(--theme-text-body);font-size:var(--text-sm);line-height:1.5;display:flex}.payment-plan-notice svg{width:18px;height:18px;margin-top:var(--space-0-5);color:var(--theme-warning);flex-shrink:0}.payment-installment-summary,.payment-plan-overview{border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);background:var(--theme-bg-card);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.payment-installment-summary>div,.payment-plan-overview>div{gap:var(--space-1);min-width:0;padding:var(--space-4) var(--space-5);border-right:1px solid var(--theme-divider);flex-direction:column;display:flex}.payment-installment-summary>div:last-child,.payment-plan-overview>div:last-of-type{border-right:0}.payment-installment-summary span,.payment-plan-overview span,.payment-schedule-row span,.payment-history-date span,.payment-history-amount span{color:var(--theme-text-muted);font-size:var(--text-xs)}.payment-installment-summary strong,.payment-plan-overview strong{color:var(--theme-text-title);font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.payment-installment-summary .is-balanced strong,.payment-plan-overview .is-paid strong{color:var(--theme-success)}.payment-plan-overview .is-document-total strong{color:var(--theme-primary)}.payment-plan-overview .is-paid-amount strong{color:var(--theme-success)}.payment-installment-summary .is-outstanding strong,.payment-plan-overview .is-outstanding strong{color:var(--theme-warning)}.payment-installment-list,.payment-history-block{gap:var(--space-4)}.payment-installment-row{align-items:end;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);background:var(--color-bg-input);grid-template-columns:auto minmax(150px,.8fr) minmax(140px,.7fr) minmax(190px,1fr) minmax(180px,1fr) auto;display:grid}.payment-installment-index{align-items:center;gap:var(--space-3);color:var(--theme-text-title);white-space:nowrap;align-self:center;display:flex}.payment-installment-index>span,.payment-schedule-number{border-radius:var(--radius-full);background:var(--theme-primary-light);width:28px;height:28px;color:var(--theme-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);place-items:center;display:inline-grid}.payment-installment-index strong{font-size:var(--text-sm)}.payment-installment-field{gap:var(--space-2);min-width:0;color:var(--theme-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);flex-direction:column;display:flex}.payment-installment-field>input,.payment-installment-field>select,.payment-amount-input,.payment-record-form input,.payment-record-form select{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);width:100%;min-width:0;min-height:42px;color:var(--theme-text-title);font-size:var(--text-base);font-weight:var(--weight-medium)}.payment-installment-field>input,.payment-installment-field>select,.payment-record-form input,.payment-record-form select{padding:0 var(--space-4)}.payment-installment-field>input:focus,.payment-installment-field>select:focus,.payment-record-form input:focus,.payment-record-form select:focus,.payment-amount-input:focus-within{border-color:var(--theme-primary);box-shadow:var(--shadow-focus);outline:none}.payment-amount-input{align-items:center;display:flex;overflow:hidden}.payment-amount-input input{width:auto;min-width:0;min-height:40px;padding:0 var(--space-4);color:var(--theme-primary);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;flex:1}.payment-amount-input input[type=number]{appearance:textfield}.payment-amount-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.payment-amount-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.payment-amount-input>span{padding:0 var(--space-4) 0 var(--space-2);color:var(--theme-text-muted);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0}.payment-installment-remove{border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--theme-bg-card);width:40px;height:40px;color:var(--theme-text-muted);cursor:pointer;place-items:center;display:grid}.payment-installment-remove:hover:not(:disabled){border-color:var(--theme-danger);color:var(--theme-danger);background:var(--theme-danger-bg)}.payment-installment-remove:disabled{opacity:.4;cursor:not-allowed}.payment-installment-remove svg,.payment-installment-add svg,.payment-status-chip svg,.payment-plan-overview .btn svg{width:16px;height:16px}.payment-installment-add{align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);border:1px solid var(--theme-primary);border-radius:var(--radius-md);color:var(--theme-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;align-self:flex-start;display:inline-flex}.payment-installment-add:hover:not(:disabled){background:var(--theme-primary-light)}.payment-installment-add:disabled{opacity:.55;cursor:not-allowed}.payment-plan-details{padding-top:var(--space-2)}.payment-status-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:nowrap;border:1px solid;display:inline-flex}.payment-status-chip.is-paid{border-color:var(--theme-success-border);background:var(--theme-success-bg);color:var(--theme-success)}.payment-status-chip.is-outstanding{border-color:var(--theme-warning-border);background:var(--theme-warning-bg);color:var(--theme-warning)}.payment-plan-overview{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch}.payment-plan-overview .btn{margin:0 var(--space-5);white-space:nowrap;align-self:center}.payment-schedule-block{gap:var(--space-4);padding-top:var(--space-2);flex-direction:column;display:flex}.payment-schedule-list,.payment-history-list{gap:var(--space-3);flex-direction:column;display:flex}.payment-schedule-row{align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);background:var(--color-bg-input);grid-template-columns:auto minmax(130px,.7fr) minmax(180px,1fr) minmax(130px,auto);display:grid}.payment-schedule-row>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.payment-schedule-row strong{color:var(--theme-text-title);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payment-schedule-amount{font-variant-numeric:tabular-nums;text-align:right;color:var(--theme-primary)!important}.payment-history-heading{padding-top:var(--space-3);border-top:1px solid var(--theme-divider-strong)}.payment-history-heading>span{color:var(--theme-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.payment-history-empty{place-items:center;gap:var(--space-2);min-height:190px;padding:var(--space-7);border:1px dashed var(--theme-border-color);border-radius:var(--radius-lg);color:var(--theme-text-muted);text-align:center;display:grid}.payment-history-empty svg{width:28px;height:28px;color:var(--theme-primary)}.payment-history-empty strong{color:var(--theme-text-title);font-size:var(--text-base)}.payment-history-empty span{font-size:var(--text-sm)}.payment-history-item{align-items:center;gap:var(--space-5);padding:var(--space-5);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);background:var(--theme-bg-card);grid-template-columns:auto minmax(200px,1.2fr) minmax(170px,.9fr) minmax(130px,.7fr) minmax(140px,.7fr);display:grid}.payment-history-check{border-radius:var(--radius-full);background:var(--theme-success-bg);width:30px;height:30px;color:var(--theme-success);place-items:center;display:grid}.payment-history-check svg{width:16px;height:16px}.payment-history-main,.payment-history-recorder,.payment-history-date,.payment-history-amount{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.payment-history-main>strong{color:var(--theme-primary);font-size:var(--text-base)}.payment-history-main>span,.payment-history-recorder strong,.payment-history-date strong{color:var(--theme-text-body);font-size:var(--text-sm)}.payment-history-main small,.payment-history-recorder small,.payment-history-recorder>span{color:var(--theme-text-muted);font-size:var(--text-xs)}.payment-history-amount{text-align:right}.payment-history-amount strong{color:var(--theme-primary);font-size:var(--text-md);font-variant-numeric:tabular-nums}.payment-record-dialog{width:min(640px,100%);max-height:calc(100dvh - 3rem);overflow:hidden}.payment-record-dialog .dialog-close-btn svg{width:16px;height:16px}.payment-plan-footer-note{max-width:260px;color:var(--theme-warning);font-size:var(--text-xs);text-align:right;line-height:1.45}.payment-record-dialog .dialog-header p{margin-top:var(--space-1);color:var(--theme-text-muted);font-size:var(--text-sm)}.payment-record-form{gap:var(--space-4);border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:1.25rem;display:grid;overflow-y:auto}.payment-record-dialog .dialog-actions{gap:var(--space-3);border-top:1px solid var(--theme-border-color);background:var(--theme-bg-card);margin:0;padding:1rem 1.25rem}.payment-record-form .payment-plan-notice,.payment-record-error{grid-column:1/-1}.payment-record-form label{gap:var(--space-2);min-width:0;color:var(--theme-text-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);flex-direction:column;display:flex}.payment-record-error{padding:var(--space-3) var(--space-4);border:1px solid var(--theme-danger-border);border-radius:var(--radius-md);background:var(--theme-danger-bg);color:var(--theme-danger);font-size:var(--text-sm);margin:0}@media (width<=1024px){.payment-installment-row{grid-template-columns:auto repeat(2,minmax(0,1fr)) auto}.payment-installment-index,.payment-installment-note{grid-column:span 2}.payment-history-item{grid-template-columns:auto minmax(0,1fr) minmax(150px,auto)}.payment-history-recorder,.payment-history-date{grid-column:2}}@media (width<=768px){.payment-terms-heading,.payment-plan-details-header{flex-direction:column;align-items:stretch}.payment-installment-summary,.payment-plan-overview{grid-template-columns:1fr}.payment-installment-summary>div,.payment-plan-overview>div{border-right:0;border-bottom:1px solid var(--theme-divider)}.payment-plan-overview .btn{margin:var(--space-4)}.payment-schedule-row{grid-template-columns:auto 1fr}.payment-schedule-amount{text-align:left;grid-column:2}.payment-record-form{grid-template-columns:1fr}}@media (width<=640px){.payment-record-dialog{max-height:calc(100dvh - 1.5rem)}.payment-record-dialog .dialog-header,.payment-record-form,.payment-record-dialog .dialog-actions{padding:1rem}.payment-record-dialog .dialog-actions .btn{flex:1;min-width:0}.payment-terms-toggle,.payment-installment-row,.payment-history-item{grid-template-columns:1fr}.payment-installment-index,.payment-installment-note,.payment-history-recorder,.payment-history-date,.payment-history-amount{grid-column:auto}.payment-installment-remove{width:100%}.payment-history-amount{text-align:left}.payment-plan-footer-note{text-align:left;max-width:none}.payment-entry-card{padding:var(--space-4)}.payment-entry-fields,.payment-entry-summary{grid-template-columns:1fr}.payment-entry-summary>span,.payment-entry-summary>p{text-align:left;grid-column:auto}.payment-entry-summary-total{min-width:0}}.skeleton{pointer-events:none}.skeleton-line{background:linear-gradient(90deg, var(--color-divider) 25%, var(--theme-border-color) 50%, var(--color-divider) 75%);border-radius:var(--radius-sm);height:var(--skeleton-height,.875rem);width:var(--skeleton-width,100%);background-size:200% 100%;animation:1.5s infinite loading-pulse}.skeleton-line.short{width:40%;height:12px;margin-bottom:var(--space-3)}.skeleton-line.medium{width:60%;height:2.25rem;margin-bottom:var(--space-3)}.skeleton-line.long{width:80%;height:12px}.skeleton-table td{padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--theme-divider)}.skeleton-table tr:last-child td{border-bottom:0}.skeleton-table td:nth-child(3n+1) .skeleton-line{--skeleton-width:70%}.skeleton-table td:nth-child(3n+2) .skeleton-line{--skeleton-width:45%}.skeleton-table td:nth-child(3n) .skeleton-line{--skeleton-width:60%}@keyframes loading-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-line{background:var(--color-divider);animation:none}}.skeleton-table-row .skeleton-line{--skeleton-height:.875rem}.skeleton-table-row td:nth-child(3n+2) .skeleton-line{--skeleton-width:45%}.skeleton-table-row td:nth-child(3n) .skeleton-line{--skeleton-width:60%}.skeleton-table-row td:nth-child(3n+1) .skeleton-line{--skeleton-width:70%}.skeleton-facts{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.skeleton-fact{gap:var(--space-2);flex-direction:column;display:flex}.skeleton-fact-label{--skeleton-height:.75rem;--skeleton-width:45%}.skeleton-fact-value{--skeleton-height:1.125rem;--skeleton-width:80%}.skeleton-page-title{--skeleton-height:1.75rem;--skeleton-width:240px}.toast-notification{z-index:9999;align-items:center;gap:var(--space-4);background:var(--theme-bg-card);border-radius:var(--radius-lg);border:1px solid var(--theme-border-color);border-left:3px solid var(--theme-primary);-webkit-backdrop-filter:blur(10px);padding:.85rem 1.35rem;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 12px 30px #0f172a26,0 4px 12px #0f172a0d}.toast-notification.success{border-left-color:var(--color-success)}.toast-notification.danger{border-left-color:var(--color-error)}.toast-notification.warning{border-left-color:var(--color-warning)}.toast-notification.info{border-left-color:var(--theme-primary)}.toast-icon-svg{width:16px;height:16px;color:var(--theme-primary);flex-shrink:0}.toast-notification.success .toast-icon-svg{color:var(--color-success)}.toast-notification.danger .toast-icon-svg{color:var(--color-error)}.toast-notification.warning .toast-icon-svg{color:var(--color-warning)}.toast-message{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--theme-text-title)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media print{.toast-notification{display:none!important}}.page-transition{flex-direction:column;flex:1;min-width:0;display:flex}.page-transition>*{animation:pageEnterUp .46s var(--ease-entrance) backwards}@keyframes pageEnterUp{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.page-transition{animation:none!important;display:block!important}.page-transition .page-header,.page-transition .doc-tab-panel,.page-transition .table-container{animation:none!important}}.attachment-mobile-upload-btn{align-items:center;gap:var(--space-4);width:100%;min-width:0;margin-top:var(--space-3);padding:var(--space-4);color:var(--theme-text-title);background:var(--theme-bg-card);border:1px solid var(--theme-border-color);border-radius:var(--radius-md);text-align:left;font-weight:var(--weight-semibold);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);display:flex}.attachment-mobile-upload-btn:hover:not(:disabled){border-color:var(--theme-border-hover);background:var(--color-primary-light);box-shadow:var(--shadow-card)}.attachment-mobile-upload-btn:disabled{cursor:not-allowed;opacity:.6}.attachment-mobile-upload-btn>span:last-child{gap:var(--space-0-5);min-width:0;display:grid}.attachment-mobile-upload-btn strong{font-size:var(--text-sm)}.attachment-mobile-upload-btn small{color:var(--theme-text-muted);font-size:var(--text-xs);font-weight:var(--weight-normal)}.attachment-mobile-upload-icon{width:2rem;height:2rem;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-full);flex:none;place-items:center;display:grid}.attachment-mobile-upload-icon svg{width:1rem;height:1rem}.mobile-upload-backdrop{place-items:center}.mobile-upload-dialog{width:min(calc(100% - var(--space-8)), 28rem);max-height:calc(100svh - var(--space-9));background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:auto}.mobile-upload-dialog-body{justify-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;display:grid}.mobile-upload-qr{padding:var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-divider-strong);border-radius:var(--radius-md);display:inline-block}.mobile-upload-heading,.mobile-upload-help,.mobile-upload-expiry{margin:0}.mobile-upload-heading{color:var(--theme-text-title);font-weight:var(--weight-bold)}.mobile-upload-help{max-width:34ch;color:var(--theme-text-muted);font-size:var(--text-sm)}.mobile-upload-expiry{padding-top:var(--space-1);color:var(--theme-text-body);font-size:var(--text-sm)}.mobile-upload-page{min-height:100svh;padding:var(--space-6) var(--space-4);background:var(--theme-bg-card);place-items:center;display:grid}.mobile-upload-card{text-align:center;width:min(100%,26rem)}.mobile-upload-card h1{margin:var(--space-3) 0 var(--space-2);color:var(--theme-text-title);font-size:var(--text-xl)}.mobile-upload-page-icon{width:3rem;height:3rem;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-full);place-items:center;margin:0 auto;display:grid}.mobile-upload-page-icon svg{width:1.5rem;height:1.5rem}.mobile-upload-page .mobile-upload-help{margin:0}.mobile-upload-file-input{display:none}.mobile-upload-selection-summary{margin:var(--space-4) 0 0;color:var(--theme-text-body);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.mobile-upload-preview-list{margin-top:var(--space-4);text-align:left}.mobile-upload-preview-list .attachment-card-grid{grid-template-columns:minmax(0,1fr)}.mobile-upload-actions{gap:var(--space-3);margin-top:var(--space-6);display:grid}.mobile-upload-select,.mobile-upload-finish{justify-content:center;align-items:center;gap:var(--space-2);width:100%;margin:0;display:inline-flex}.mobile-upload-select svg{width:1rem;height:1rem}.mobile-upload-complete{margin-top:var(--space-6);color:var(--theme-text-body)}.mobile-upload-complete svg{width:2.5rem;height:2.5rem;margin:0 auto var(--space-3);color:var(--color-success)}.mobile-upload-complete h2{color:var(--theme-text-title);font-size:var(--text-lg)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}body{min-height:100svh;font-family:var(--font-family);color:var(--color-text-body);background:var(--color-bg-page);line-height:1.5}#root{min-height:100svh}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}button{background:0 0;border:none}.turnstile-field{align-items:center;gap:var(--space-2);flex-direction:column;margin:.25rem 0;display:flex}.turnstile-field>div{max-width:100%;overflow-x:auto}.turnstile-error{font-size:var(--text-sm);color:var(--theme-danger);margin:0}.login-page{background:var(--color-bg-page);min-height:100svh;font-family:var(--font-family);justify-content:center;align-items:center;padding:clamp(1rem,3vw,1.25rem);display:flex}.login-card{background:var(--theme-bg-card);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);width:100%;max-width:25.5rem;padding:clamp(2rem,5vw,2.75rem) clamp(1.5rem,4vw,2.25rem);transition:all .25s;box-shadow:0 10px 30px #0f172a14}.login-brand{text-align:center;margin-bottom:clamp(1rem,3vw,1.5rem)}.login-brand h1{color:var(--color-text-heading);font-size:clamp(1.125rem,4vw,1.375rem);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0 0 .25rem;line-height:1.3}.login-brand p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.forgot-card{max-width:26.5rem}.forgot-header{text-align:center;margin-bottom:clamp(1.25rem,3vw,1.75rem)}.forgot-header h2{color:var(--theme-primary);font-size:clamp(1.375rem,4vw,1.625rem);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0 0 .625rem;line-height:1.25}.forgot-header p{color:#4b5563;font-size:var(--text-base);margin:0;line-height:1.5}.forgot-header .forgot-hint{font-size:var(--text-sm);color:var(--theme-text-muted);margin-top:.625rem}.forgot-inline-link{color:var(--theme-primary,var(--theme-primary));font-size:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.forgot-inline-link:hover{opacity:.8}.login-form{flex-direction:column;gap:clamp(.875rem,3vw,1.125rem);display:flex}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-group label{color:var(--color-contact-owner);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.input-group input{background:var(--theme-bg-card);border:1.5px solid var(--theme-primary);border-radius:var(--radius-md);width:100%;color:var(--color-text-heading);font-size:var(--text-base);font-weight:var(--weight-medium);transition:border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);outline:none;padding:.75rem .875rem}.input-group input::placeholder{color:var(--color-text-muted)}.input-group input:hover{border-color:var(--theme-primary)}.input-group input:focus{border-color:var(--theme-primary-hover);box-shadow:0 0 0 3px #2b60c42e}.otp-input-wrapper{gap:var(--space-3);flex-direction:column;display:flex}.otp-resend-row{justify-content:flex-end;align-items:center;margin-top:.125rem;display:flex}.resend-otp-btn{color:var(--theme-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm);background:0 0;border:none;padding:.4rem .75rem;transition:color .2s}.resend-otp-btn:hover:not(:disabled){color:var(--theme-primary-hover);text-decoration:underline}.resend-otp-btn:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.8}.password-wrapper{position:relative}.password-wrapper input{padding-right:2.75rem}.password-toggle{min-width:2.75rem;min-height:2.75rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-base);justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-primary,var(--theme-primary))}.password-toggle svg{width:1.125rem;height:1.125rem}.forgot-row{justify-content:flex-end;margin-top:-.375rem;display:flex}.forgot-link{color:var(--theme-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:.25rem 0}.forgot-link:hover{color:var(--theme-primary-hover);text-decoration:underline}.login-btn{width:100%;min-height:2.75rem;margin-top:var(--space-1);border-radius:var(--radius-md);background:var(--theme-primary);color:var(--theme-bg-card);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);justify-content:center;align-items:center;padding:.8125rem;display:flex}.login-btn:hover{background:var(--theme-primary-hover)}.login-btn:active{transform:scale(.99)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.back-link-row{justify-content:center;margin-top:.5rem;display:flex}.back-to-login-btn{color:var(--theme-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;padding:.25rem .5rem;transition:color .2s}.back-to-login-btn:hover{color:var(--theme-primary-hover);text-decoration:underline}.error-message{align-items:center;gap:var(--space-3);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);background:var(--color-error-bg,var(--color-error-bg));color:var(--color-error);font-size:var(--text-sm);margin-bottom:.625rem;padding:.625rem .875rem;display:flex}.error-message svg{flex-shrink:0;width:1rem;height:1rem}.info-message{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);background:var(--theme-primary-light);color:var(--theme-primary-hover);font-size:var(--text-sm);border:1px solid #bfdbfe;margin-bottom:.625rem;padding:.625rem .875rem;display:flex}.info-message svg{flex-shrink:0;width:1rem;height:1rem}.success-overlay{z-index:100;animation:fadeIn var(--transition-slow);background:#fffffff2;justify-content:center;align-items:center;padding:clamp(1rem,3vw,1.25rem);display:flex;position:fixed;inset:0}.success-content{background:var(--theme-bg-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:22rem;padding:1.5rem;box-shadow:0 12px 24px #0f172a1a}.success-icon{border-radius:var(--radius-full);background:var(--color-success-bg);width:3rem;height:3rem;color:var(--color-status-approved);justify-content:center;align-items:center;margin:0 auto .75rem;display:flex}.success-icon svg{width:1.5rem;height:1.5rem}.success-content h2{color:var(--color-text-heading);font-size:var(--text-xl);font-weight:var(--weight-bold)}.success-content p{color:var(--color-text-muted);font-size:var(--text-base);margin-top:.25rem}:root{--sidebar-collapse-motion:.18s cubic-bezier(.2, 0, 0, 1)}.contacts-sidebar{border-right:1px solid var(--theme-border-color);background:var(--theme-bg-card);z-index:10;height:100svh;width:var(--sidebar-width);min-width:0;transition:width var(--sidebar-collapse-motion), transform var(--transition-smooth);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;left:0}.sidebar-header{height:var(--topbar-height);border-bottom:1px solid var(--theme-border-color);align-items:center;gap:var(--space-4);padding:0 1rem;display:flex}.sidebar-logo{border-radius:var(--radius-md);background:var(--theme-primary);width:56px;height:56px;color:var(--theme-bg-card);transition:width var(--sidebar-collapse-motion), height var(--sidebar-collapse-motion), transform var(--transition-bounce);border:1px solid #ffffff1a;flex-shrink:0;place-items:center;display:grid}.sidebar-logo.has-logo{background:0 0;border-color:#0000}.sidebar-logo-img{object-fit:contain;border-radius:var(--radius-md);width:100%;height:100%}.sidebar-logo:hover{transform:rotate(5deg)scale(1.05)}.sidebar-logo svg{width:26px;height:26px}.sidebar-brand{flex:1;min-width:0;overflow:hidden}.sidebar-brand h1{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--theme-text-title);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.sidebar-brand p{font-size:var(--text-sm);color:var(--theme-text-muted);font-weight:var(--weight-semibold);margin-top:.15rem}.sidebar-nav{scrollbar-width:none;gap:var(--space-6);flex-direction:column;flex:1;padding:1.25rem .75rem;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{gap:var(--space-1);flex-direction:column;display:flex}.nav-section-title{font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.08em;color:var(--theme-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.35rem;padding:0 .75rem;overflow:hidden}.nav-item{align-items:center;gap:var(--space-4);border-radius:var(--radius-md);width:100%;color:var(--theme-text-body);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-medium);transition:background-color var(--transition-smooth), color var(--transition-smooth), transform var(--transition-smooth);background:0 0;border:0;padding:.65rem .75rem;text-decoration:none;display:flex;overflow:hidden}.nav-item:hover{background:var(--theme-primary-light);color:var(--theme-primary);transform:translate(4px)}.nav-item.active{background:var(--theme-primary);color:var(--theme-bg-card);font-weight:var(--weight-semibold)}.nav-item.active:hover{color:var(--theme-bg-card);background:var(--theme-primary);transform:none}.nav-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.nav-icon svg{width:100%;height:100%}.nav-badge{border-radius:var(--radius-full);background:var(--theme-danger);min-width:18px;height:18px;color:var(--theme-bg-card);font-size:var(--text-xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;margin-left:auto;padding:0 6px;line-height:1;display:flex}.sidebar-footer{border-top:1px solid var(--theme-border-color);align-items:center;gap:var(--space-4);background:var(--color-bg-input);padding:1rem .75rem;display:flex}.user-profile-link{align-items:center;gap:var(--space-4);border-radius:var(--radius-md);min-width:0;transition:background-color var(--transition-smooth), color var(--transition-smooth);cursor:pointer;flex:1;margin:-.35rem -.5rem;padding:.35rem .5rem;text-decoration:none;display:flex}.user-profile-link:hover{background:0 0}.user-profile-link:hover .user-info strong{color:var(--theme-primary,var(--theme-primary))}.user-avatar{background:linear-gradient(135deg, var(--theme-primary), var(--theme-primary-hover));width:32px;height:32px;color:var(--theme-bg-card);font-weight:var(--weight-bold);font-size:var(--text-base);border-radius:50%;flex-shrink:0;place-items:center;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:grid;overflow:hidden}.user-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-info{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.user-info strong{font-size:var(--text-base);color:var(--theme-text-title);font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:block;overflow:hidden}.user-info p{font-size:var(--text-xs);color:var(--theme-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;line-height:1;overflow:hidden}.logout-btn{border:1px solid var(--theme-border-color);background:var(--theme-bg-card);width:32px;height:32px;color:var(--theme-text-body);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-smooth), color var(--transition-smooth), border-color var(--transition-smooth);flex-shrink:0;justify-content:center;align-items:center;display:flex}.logout-btn svg{width:16px;height:16px}.logout-btn:hover{background:var(--color-error-bg);color:var(--theme-danger);border-color:var(--theme-danger-border)}.contacts-layout.sidebar-collapsed .contacts-sidebar{width:72px}.contacts-layout.sidebar-collapsed .sidebar-brand,.contacts-layout.sidebar-collapsed .nav-section-title,.contacts-layout.sidebar-collapsed .nav-label,.contacts-layout.sidebar-collapsed .nav-badge{display:none!important}.contacts-layout.sidebar-collapsed .sidebar-header{justify-content:center!important;gap:0!important;padding:0!important}.contacts-layout.sidebar-collapsed .sidebar-logo{width:44px;height:44px}@media (width<=1024px){.sidebar-logo{width:44px;height:44px}}.contacts-layout.sidebar-collapsed .nav-item{justify-content:center!important;gap:0!important;padding:.65rem!important}.contacts-layout.sidebar-collapsed .nav-item:hover{transform:none}.contacts-layout.sidebar-collapsed .sidebar-footer{justify-content:center;padding:1rem .5rem}.contacts-layout.sidebar-collapsed .sidebar-footer .user-info,.contacts-layout.sidebar-collapsed .sidebar-footer .logout-btn{display:none!important}.contacts-topbar{height:var(--topbar-height);border-bottom:1px solid var(--theme-border-color);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:stretch;gap:var(--space-7);z-index:9;background:#fffc;padding:0 1.5rem;display:flex;position:sticky;top:0}.contacts-topbar.has-slots{grid-template-columns:1fr auto 1fr;display:grid}.topbar-tabs{grid-column:2;align-items:flex-end;min-width:0;display:flex}.topbar-tabs .page-tabs{border-bottom:0;flex-shrink:0}.topbar-actions{justify-self:end;align-items:center;gap:var(--space-4);grid-column:3;min-width:0;display:flex}.topbar-left{align-items:center;gap:var(--space-5);flex:1;min-width:0;display:flex}.topbar-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em;color:var(--theme-text-title);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.25;overflow:hidden}.topbar-heading{min-width:0}.breadcrumb{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--theme-text-secondary);min-width:0;margin-bottom:.15rem}.breadcrumb ol{align-items:center;gap:var(--space-2);min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.breadcrumb li{align-items:center;gap:var(--space-2);white-space:nowrap;min-width:0;display:flex}.breadcrumb li+li:before{content:"/";color:var(--theme-text-muted)}.breadcrumb a{color:inherit;border-radius:var(--radius-sm);transition:color var(--transition-smooth);padding:.1rem .2rem;text-decoration:none}.breadcrumb a:hover{color:var(--theme-primary);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--theme-text-title);font-weight:var(--weight-semibold);text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.contacts-topbar{align-items:stretch;gap:var(--space-4);flex-direction:column;height:auto;padding:.85rem 1rem 0}.contacts-topbar.has-slots{display:flex}.topbar-actions{flex-wrap:wrap;justify-self:stretch}.topbar-title{font-size:var(--text-xl)}.topbar-tabs{align-items:stretch}}.topbar-icon-btn{border-radius:var(--radius-md);border:1px solid var(--theme-border-color);background:var(--theme-bg-card);width:44px;height:44px;color:var(--theme-text-body);cursor:pointer;transition:all var(--transition-smooth);place-items:center;display:grid;position:relative}.topbar-icon-btn:hover{border-color:var(--theme-primary);color:var(--theme-primary)}.topbar-icon-btn[aria-label=การแจ้งเตือน]:hover svg{animation:.6s bellRing}@keyframes bellRing{0%{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-15deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-10deg)}75%{transform:rotate(4deg)}to{transform:rotate(0)}}.topbar-icon-btn svg{width:18px;height:18px}.topbar-icon-btn i{background:var(--theme-danger);border:2px solid var(--theme-bg-card);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.contacts-layout{background:var(--theme-bg-main);min-height:100svh;color:var(--theme-text-body);grid-template-columns:auto 1fr;display:grid}.contacts-main{flex-direction:column;min-width:0;display:flex}@media (width<=1024px){:root{--sidebar-width:68px}.contacts-sidebar .nav-label,.contacts-sidebar .nav-section-title,.contacts-sidebar .sidebar-brand,.contacts-sidebar .user-info{display:none}.contacts-sidebar .nav-item{justify-content:center}}@media (width<=640px){.contacts-layout{grid-template-columns:1fr}.contacts-layout .contacts-sidebar{width:min(84vw,300px);max-width:300px;box-shadow:none;z-index:1200;position:fixed;top:0;left:0;transform:translate(-100%)}.contacts-layout.mobile-nav-open .contacts-sidebar{transform:translate(0);box-shadow:0 0 40px #0f172a38}.contacts-layout .contacts-sidebar .nav-label,.contacts-layout .contacts-sidebar .nav-section-title,.contacts-layout .contacts-sidebar .sidebar-brand,.contacts-layout .contacts-sidebar .user-info{display:revert}.contacts-layout .contacts-sidebar .nav-item{justify-content:flex-start}}.mobile-nav-scrim{z-index:1150;background:#0f172a73;animation:.18s ease-out fadeIn;position:fixed;inset:0}.sidebar-close-btn{border-radius:var(--radius-md);border:1px solid var(--theme-border-color);background:var(--theme-bg-card);width:44px;height:44px;color:var(--theme-text-body);cursor:pointer;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.sidebar-close-btn:hover{border-color:var(--theme-primary);color:var(--theme-primary)}.sidebar-close-btn svg{width:18px;height:18px}@media (prefers-reduced-motion:reduce){.contacts-sidebar,.mobile-nav-scrim{transition:none;animation:none}}.access-denied{text-align:center;align-items:center;gap:var(--space-4);border:1px solid var(--theme-divider-strong);border-radius:var(--radius-lg);background:var(--theme-bg-card);flex-direction:column;max-width:34rem;margin:3rem auto;padding:2.5rem 2rem;display:flex}.access-denied-icon{width:48px;height:48px;color:var(--theme-text-light);display:inline-flex}.access-denied-icon svg{stroke-width:1.5px;width:100%;height:100%}.access-denied h1{font-size:var(--text-xl);font-weight:var(--weight-black);color:var(--theme-text-title);margin:0;line-height:1.4}.access-denied p{font-size:var(--text-base);color:var(--theme-text-body);margin:0;line-height:1.7}.access-denied-actions{justify-content:center;gap:var(--space-4);flex-wrap:wrap;margin-top:.5rem;display:flex}.error-boundary{background:var(--theme-bg-main,var(--color-bg-page));place-items:center;min-height:100vh;padding:1.5rem;display:grid}.error-boundary-card{text-align:center;background:var(--theme-bg-card);border:1px solid var(--theme-border-color);border-radius:var(--radius-lg);width:100%;max-width:30rem;box-shadow:var(--shadow-card);padding:2.5rem 2rem}.error-boundary-icon{font-size:var(--text-4xl);line-height:1}.error-boundary-card h1{font-size:var(--text-xl);color:var(--theme-text-title);margin:1rem 0 .5rem}.error-boundary-card p{color:var(--theme-text-body);font-size:var(--text-base);margin:0 0 1.5rem}.error-boundary-detail{text-align:left;font-size:var(--text-xs);color:var(--theme-danger);background:var(--theme-danger-bg);border:1px solid var(--theme-danger-border,var(--color-danger-bg));border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;margin-bottom:1.5rem;padding:.75rem;overflow-x:auto}
