:root{--red:#d90016;--red-dark:#a90013;--ink:#20252d;--muted:#6b7280;--line:#d2d8df;--line-soft:#e0e4e9;--control-line:#c4cbd4;--page-bg:#f5f6f8;--page-padding-x:clamp(28px, 2.3vw, 42px);--page-padding-y:26px;--page-stack-gap:18px;--page-section-gap:24px;--page-head-min-height:76px;--page-head-padding:8px 0 16px;--page-crumb-height:44px;--panel-radius:6px;--panel-radius-large:8px;--soft:#f1f3f5;--ok:#0f7b4f;--warn:#956300;--danger:#c30014;--inline-label-gap:8px;--table-column-gap:clamp(14px, .9vw, 20px);--table-compact-column-gap:clamp(10px, .75vw, 16px);--table-cell-x:clamp(10px, .7vw, 15px);--table-cell-y:12px;--table-compact-cell-x:calc(var(--table-compact-column-gap) / 2);--table-compact-cell-y:8px;--table-confirm-column-width:clamp(92px, 5.4vw, 110px);--table-money-column-width:clamp(118px, 6.2vw, 132px);--table-status-column-width:var(--table-confirm-column-width);--table-action-column-width:clamp(74px, 4.2vw, 84px);--table-drag-column-width:34px;--table-number-column-width:clamp(96px, 5.4vw, 112px);--quote-design-qty-column-width:clamp(108px, 6vw, 124px);--quote-production-qty-column-width:clamp(88px, 4.9vw, 104px);--quote-price-column-width:104px;--table-row-action-column-width:82px;--table-inline-editor-height:calc(100% - 12px);--table-font-size:14px;--table-line-height:20px;--quote-summary-height:120px;--quote-list-columns:clamp(124px, 6.8vw, 148px) minmax(210px, 260px) minmax(104px, 132px) minmax(300px, 1fr) clamp(130px, 7vw, 150px) clamp(124px, 6.8vw, 144px) clamp(112px, 6.2vw, 132px) clamp(98px, 5.4vw, 116px);--quote-item-columns:var(--table-drag-column-width) minmax(220px, 1.15fr) minmax(260px, 1.25fr) var(--quote-design-qty-column-width) var(--quote-production-qty-column-width) var(--quote-price-column-width) var(--quote-price-column-width) 126px var(--table-row-action-column-width);font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{color:var(--ink);background:#fff;margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.visually-hidden-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ui-button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 16px;font-weight:500;display:inline-flex}.ui-button-primary{background:var(--red);color:#fff}.ui-button-primary:hover{background:var(--red-dark)}.ui-button-secondary{background:var(--red);color:#fff}.ui-button-secondary:hover{background:var(--red-dark)}.ui-button-danger{background:var(--red);color:#fff}.ui-button-danger:hover{background:var(--red-dark)}.ui-button:disabled,.ui-button:disabled:hover{color:#fff;cursor:not-allowed;box-shadow:none;opacity:1;background:#c8ced6;border-color:#c8ced6}.ui-button-ghost{border-color:var(--line);color:var(--ink);background:#fff}.ui-field,label{gap:7px;font-weight:400;display:grid}.ui-field-inline{align-items:center;gap:var(--inline-label-gap);white-space:nowrap;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-control{box-sizing:border-box;border:1px solid var(--control-line);min-width:0;height:40px;color:var(--text);font:inherit;background:#fff;border-radius:6px;outline:none;padding:8px 12px;line-height:1.25;display:block}textarea.ui-control,select.ui-control[multiple]{height:auto;min-height:80px}.ui-control:focus{border-color:var(--red);box-shadow:0 0 0 3px #d900161a}.ui-control:hover:not(:disabled){border-color:#aeb7c2}.ui-control::placeholder{color:#a7adb5}.ui-control:disabled{cursor:not-allowed;color:#9aa3ad;background:#f7f9fb}.ui-control-inline{width:100%;height:34px;min-height:34px;box-shadow:none;background:0 0;border-color:#0000;border-radius:4px;padding:0 6px}.ui-control-inline:hover:not(:disabled){background:#fbfcfd;border-color:#e2e6eb}.ui-control-inline:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 2px #e200201f}.ui-field>.ui-control,label>.ui-control,.filters>.ui-control,.modal-grid .ui-control,.login-panel .ui-control,.customer-entity-editor .ui-control,.department-entity-editor .ui-control,.contact-detail-editor .ui-control{width:100%}.ui-icon-button{color:#30343a;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:28px;height:28px;min-height:28px;padding:0;display:inline-flex}.ui-icon-button:hover{color:var(--red);background:#f3f5f7}.ui-icon-button:disabled,.ui-icon-button:disabled:hover{color:#aab2bd;cursor:not-allowed;opacity:1;background:#eef1f4}.app-shell{background:#fff;grid-template-rows:72px 1fr;grid-template-columns:168px minmax(0,1fr);height:100vh;min-height:100vh;display:grid;overflow:hidden}.topbar{background:var(--red);color:#fff;grid-column:1/-1;align-items:center;display:flex}.brand{border-right:1px solid #ffffff40;width:168px;padding:10px 18px}.brand strong{font-size:28px;line-height:1;display:block}.brand span{font-size:10px}.brand img{width:132px;height:auto;display:block}.topbar nav{gap:24px;padding:0 22px;display:flex}.topbar nav button{color:#fff;background:0 0;border:0;font-size:18px;font-weight:400}.account{align-items:center;gap:10px;margin-left:auto;padding-right:16px;display:flex;position:relative}.account .account-avatar{width:44px;height:44px;color:var(--red);background:#fff;border-radius:999px;place-items:center;font-weight:400;display:grid;overflow:hidden}.account .account-avatar img{object-fit:cover;width:100%;height:100%}.account .account-menu-trigger{color:var(--ink);background:#fff;border:1px solid #fffc;border-radius:4px;align-items:center;gap:8px;padding:10px 18px;font-weight:400;display:inline-flex}.account .account-menu-trigger svg{color:var(--red);transform:rotate(90deg)}.account-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:6px;min-width:190px;position:absolute;top:calc(100% + 6px);right:16px;overflow:hidden;box-shadow:0 12px 28px #0000002e}.account-menu button{width:100%;min-height:44px;color:var(--ink);text-align:left;background:#fff;border:0;border-radius:0;align-items:center;gap:8px;padding:0 16px;display:flex}.account-menu button:hover{color:var(--red);background:#f7f8fa}.account-menu button+button{border-top:1px solid var(--line-soft)}.sidebar{border-right:1px solid var(--line-soft);background:var(--page-bg);grid-row:2;padding-top:12px}.sidebar button{border:0;border-bottom:1px solid var(--line-soft);width:100%;height:58px;color:var(--red);text-align:left;background:0 0;padding:0 22px;font-size:18px;font-weight:400;display:block}.sidebar button.active{background:var(--red);color:#fff}.main{min-width:0;min-height:0;padding:var(--page-padding-y) var(--page-padding-x) 30px;background:#fff;grid-row:2;overflow:auto}.page-head{min-height:var(--page-head-min-height);padding:var(--page-head-padding);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:18px;display:flex}.module-tab-head{position:relative}.module-tabs{align-items:center;gap:8px;width:auto;margin:0;display:flex;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.module-tab{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 16px;font-weight:600}.module-tab:hover{color:var(--red)}.module-tab.active{border-bottom-color:var(--red);color:var(--red)}.vi-settings-panel-inline{border-bottom:1px solid var(--line);padding:10px 0 24px;position:relative}.vi-settings-panel-inline.collapsed{border-bottom:0;padding:2px 0 14px}.vi-settings-panel-grid{grid-template-columns:minmax(260px,.95fr) 160px minmax(260px,1.05fr) 140px;align-items:start;gap:18px;display:grid}.vi-settings-panel-stack{gap:18px;display:grid}.vi-settings-upload-tile,.vi-settings-qr-tile{border:1px solid var(--line);min-height:160px;color:var(--muted);text-align:center;background:#fff;place-items:center;font-weight:500;display:grid}.vi-settings-upload-tile{cursor:pointer;overflow:hidden}.vi-settings-upload-tile input[type=file]{display:none}.vi-settings-upload-tile span{color:#c8ced6;font-size:42px;font-weight:300}.vi-settings-upload-tile img{object-fit:cover;width:100%;height:100%}.vi-settings-qr-tile img{width:132px;height:132px}.vi-settings-share-tools{flex-direction:column;align-items:center;gap:4px;display:flex}.vi-config-settings .vi-settings-upload-tile{justify-self:center;width:127px;height:127px;min-height:127px;margin-top:27px}.vi-config-settings .vi-settings-share-tools{margin-top:4px}.vi-config-settings .vi-settings-qr-tile{background:0 0;border:0;min-height:132px}.vi-settings-copy-link{color:var(--ink);font:inherit;background:0 0;border:0;padding:0;font-weight:500}.vi-settings-copy-link:hover{color:var(--red)}.vi-settings-collapse-toggle{background:var(--red);color:#fff;border:0;border-radius:999px;width:30px;height:30px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.vi-settings-collapse-toggle:before{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;width:9px;height:9px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)rotate(45deg)}.vi-settings-collapse-toggle.open:before{transform:translate(-50%,-45%)rotate(225deg)}.vi-settings-panel-inline.collapsed .vi-settings-collapse-toggle{bottom:-15px}h1,h2,h3{letter-spacing:0;margin:0;font-weight:500}h1{color:#3d4045;margin:0;font-size:42px;font-weight:400;line-height:1.05}h2{margin:0;font-size:18px}h3{margin:0;font-size:15px}.actions,.section-title,.modal-actions{align-items:center;gap:10px;display:flex}.page-head>.actions{align-self:center}.customer-search-input{width:min(420px,36vw)}.customer-search-empty{margin-top:24px}.empty-state,.dashboard-empty,.document-empty,.designer-task-empty,.login-background-empty{color:var(--muted);text-align:center;place-items:center;font-weight:500;display:grid}.dashboard-empty,.document-empty,.login-background-empty{border:1px dashed var(--line);border-radius:var(--panel-radius);background:#fafbfc}.document-empty,.designer-task-empty{min-height:56px;padding:18px 12px}.filters{grid-template-columns:minmax(190px,1.2fr) repeat(4,minmax(112px,.7fr)) minmax(190px,1fr) minmax(150px,.8fr) auto;align-items:end;gap:8px;padding:22px 0 12px;display:grid}.filters.quote-filters,.vi-consult-filters{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;padding:22px 0 8px;display:flex}.quote-filters>input,.quote-filters>select,.quote-filters>button,.quote-filters .date-field,.quote-filters .date-trigger,.vi-consult-filters>input,.vi-consult-filters>select,.vi-consult-filters>button,.vi-consult-filters .date-field,.vi-consult-filters .date-trigger{border-color:var(--control-line);color:#3f444b;background:#fff;border-radius:4px;height:34px;min-height:34px;padding:5px 10px;font-size:15px;line-height:18px}.quote-filters .date-field,.vi-consult-filters .date-field{padding:0}.quote-filters>button,.vi-consult-filters>button{flex:0 0 58px;padding:0 12px;font-weight:500}.table-wrap{overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1120px}th,td{border-bottom:1px solid var(--line);padding:var(--table-cell-y) var(--table-cell-x);text-align:left;vertical-align:middle}th{font-weight:500}tbody tr:hover{background:#fff7f8}.num{text-align:right!important}.num .ui-control{text-align:right;font-variant-numeric:tabular-nums}.status{background:#eef1f4;border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:13px;font-weight:500;display:inline-flex}.status--success{color:var(--ok);background:#dff5ea}.status--warning{color:var(--warn);background:#fff1cc}.status--danger{color:var(--danger);background:#ffe1e4}.download{background:var(--red);color:#fff;border:0;border-radius:5px;min-height:32px;padding:4px 10px;font-weight:500}.pages{margin-top:24px;display:flex;overflow-x:auto}.pages button,.pages span{border:1px solid var(--line);min-height:38px;color:var(--red);background:#fff;padding:8px 14px;font-weight:500}.pages .active{background:var(--red);color:#fff}.crumb,.task-breadcrumb{min-height:var(--page-crumb-height);background:var(--soft);border-radius:var(--panel-radius);color:var(--muted);align-items:center;gap:8px;margin-bottom:18px;padding:0 16px;font-weight:500;display:flex}.crumb button,.task-breadcrumb button{color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:500}.form-grid{grid-template-columns:repeat(3,minmax(220px,1fr));align-items:end;gap:18px 28px;max-width:1250px;padding-top:24px;display:grid}.quote-form-page .page-head{min-height:var(--page-head-min-height);border-bottom:1px solid var(--line-soft);margin-bottom:0}.quote-form-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fbfcfd);padding:16px 0 15px}.quote-meta-grid{grid-template-columns:minmax(260px,1.55fr) minmax(150px,.78fr) minmax(220px,1.12fr) minmax(150px,.72fr) 112px;align-items:center;gap:10px clamp(12px,.9vw,18px);min-width:0;display:grid}.quote-field{align-items:center;column-gap:var(--inline-label-gap);color:#30343a;white-space:nowrap;grid-template-columns:max-content minmax(0,1fr);row-gap:5px;min-width:0;font-size:14px;font-weight:400;display:grid}.quote-field-label{text-align:left;min-width:0;font-weight:400;line-height:34px;display:block}.quote-field .ui-control{border-color:var(--control-line);flex:auto;width:100%;min-width:0;height:34px;min-height:34px;padding:5px 9px;font-size:14px;font-weight:400;line-height:20px}.q-span-2{grid-column:span 2}.q-span-1{grid-column:span 1}.q-span-3{grid-column:span 3}.q-span-4{grid-column:span 4}.q-span-10{grid-column:span 10}.q-span-12{grid-column:span 12}.quote-form-page .quote-meta-grid>.q-span-1,.quote-form-page .quote-meta-grid>.q-span-2,.quote-form-page .quote-meta-grid>.q-span-3,.quote-form-page .quote-meta-grid>.q-span-4,.quote-form-page .quote-meta-grid>.quote-add-customer{grid-column:auto}.quote-form-page .quote-meta-grid>.q-span-12,.quote-form-page .quote-meta-grid>.quote-name-field{grid-column:1/-1}.quote-form-page .quote-meta-grid>.quote-name-field-admin{grid-column:1/span 3}.quote-form-page .quote-meta-grid>.quote-status-field{grid-column:4/-1}.quote-status-display{color:var(--text);background:#fff;align-items:center;display:inline-flex}.quote-add-customer{white-space:nowrap;align-self:end;width:100%;height:34px;min-height:34px;padding:4px 8px;font-weight:400}.quote-select-action{grid-template-columns:minmax(0,1fr) 92px;gap:8px;display:grid}.quote-total-chip{background:#fff;border:1px solid #dce2e8;border-radius:5px;align-content:end;min-height:56px;padding:5px 10px 6px;display:grid}.quote-total-chip span{color:#69717c;font-size:12px;font-weight:500}.quote-total-chip b{color:#22272f;text-align:right;font-size:17px}.span-2{grid-column:span 2}.inline{align-self:end}.section-title{margin:var(--page-section-gap) 0 10px;justify-content:space-between}.quote-form-page .section-title{min-height:36px;margin:var(--page-section-gap) 0 10px}.detail-add-button{align-items:center;gap:5px;min-height:32px;padding:4px 10px;display:inline-flex}.quote-items-wrap{overscroll-behavior-x:contain;width:100%;max-width:100%;overflow-x:auto}.quote-items-table{border-collapse:collapse;table-layout:auto;font-variant-numeric:tabular-nums;width:100%;min-width:0;display:block}.quote-items-table thead,.quote-items-table tbody{display:block}.quote-items-table tr{grid-template-columns:var(--quote-item-columns);border-bottom:1px solid var(--line);align-items:center;column-gap:0;display:grid;position:relative}.quote-items-table tbody tr:last-child{border-bottom:0}.quote-items-table th,.quote-items-table td{vertical-align:middle;min-width:0;height:48px;padding:0 var(--table-compact-cell-x);color:#30343a;font-size:var(--table-font-size);line-height:var(--table-line-height);text-overflow:ellipsis;white-space:nowrap;border-bottom:0;align-items:center;display:flex;overflow:hidden}.quote-items-table th{color:#252a31;background:#f8fafb;height:50px;font-weight:500}.quote-items-table th:first-child,.quote-items-table td:first-child,.quote-items-table th:nth-child(4),.quote-items-table td:nth-child(4),.quote-items-table th:nth-child(5),.quote-items-table td:nth-child(5){text-align:center;justify-content:center}.quote-items-table th:nth-child(6),.quote-items-table td:nth-child(6),.quote-items-table th:nth-child(7),.quote-items-table td:nth-child(7),.quote-items-table th:nth-child(8),.quote-items-table td:nth-child(8){text-align:right;padding-right:calc(var(--table-compact-cell-x) + 4px);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-end}.quote-items-table th:nth-child(8),.quote-items-table td:nth-child(8){padding-right:calc(var(--table-compact-cell-x) + 12px)}.quote-items-table th:nth-child(9),.quote-items-table td:nth-child(9){text-align:center;justify-content:center;padding-left:0;padding-right:0}.quote-items-table .quote-cell-input,.statistics-table .quote-cell-input{width:100%;font-size:var(--table-font-size);margin:6px 0;line-height:20px}.quote-items-table .quote-cell-input{height:var(--table-inline-editor-height);min-height:var(--table-inline-editor-height)}.statistics-table .quote-cell-input{height:36px;min-height:36px}.quote-items-table td:nth-child(6) .quote-cell-input,.quote-items-table td:nth-child(7) .quote-cell-input{text-align:right;padding-right:0}.quote-number-input{text-align:center}.drag-cell{color:#8a939f;justify-content:center;align-items:center;display:inline-flex}.customer-group-head .drag-cell{color:#fff}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.drag-handle:active{cursor:grabbing}.drag-handle svg,.drag-handle span{pointer-events:none}.drag-drop-marker{pointer-events:none;height:0;min-height:0;position:relative;overflow:visible}.drag-drop-marker:before{content:"";z-index:8;background:var(--red);height:2px;position:absolute;top:-1px;left:0;right:0;box-shadow:0 0 0 1px #d900161f}.sortable-list .drag-drop-marker{margin:calc(var(--sortable-gap,0px) / -2) 0}.sortable-dragging{opacity:.72;background:#fff5f6}.quote-items-table .quote-drop-marker{grid-template-columns:var(--quote-item-columns);border-bottom:0;height:0;min-height:0;display:grid;position:relative;overflow:visible}.quote-items-table .quote-drop-marker td{grid-column:1/-1;height:0;padding:0;display:block;overflow:visible}.quote-items-table .quote-drop-marker:before{content:"";z-index:5;background:var(--red);height:1px;box-shadow:none;pointer-events:none;border-radius:0;position:absolute;top:-1px;left:0;right:0}.quote-items-table tr.dragging{opacity:.72;background:#fff5f6}.quote-row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:0;width:100%;display:flex}.quote-add-row-button{width:100%;min-height:28px;color:var(--red);background:#f3f5f7;border:1px solid #d9dee4;border-radius:4px;margin-top:6px;font-size:14px}.quote-add-row-button:hover{background:#eceff2;border-color:#cdd4dc}.quote-row-actions .ui-icon-button{width:22px;min-width:22px;height:22px;min-height:22px;font-size:14px}.quote-row-actions .ui-icon-button:hover{color:var(--red);background:#f3f5f7}.quote-row-actions .ui-icon-button:disabled,.quote-row-actions .ui-icon-button:disabled:hover{color:#aab2bd;cursor:not-allowed;opacity:1;background:#eef1f4}.quote-items-table .quote-row-actions{justify-content:center;gap:0}.bottom{grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin-top:28px;display:grid}.quote-form-page .bottom{grid-template-columns:minmax(0,1360px) minmax(300px,414px);align-items:stretch;gap:clamp(22px,1.6vw,32px);margin-top:16px}.quote-notes-field{gap:0}.bottom textarea{min-height:140px}.quote-form-page .bottom textarea{height:var(--quote-summary-height);min-height:var(--quote-summary-height);resize:none;overflow-y:auto}.quote-form-page .bottom textarea::placeholder{color:#30343a;opacity:1}.summary{border-top:1px solid var(--line);align-self:start}.quote-form-page .summary{min-height:var(--quote-summary-height);align-self:stretch}.summary div{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 0;font-size:18px;display:flex}.quote-form-page .summary div{min-height:calc(var(--quote-summary-height) / 3);font-size:var(--table-font-size);line-height:var(--table-line-height);align-items:center;padding:0}.quote-form-page .summary b{text-align:right;padding-right:14px}.quote-form-page .summary div:last-child{font-size:16px}.save{width:100%;min-height:48px;margin-top:24px}.quote-savebar{background:0 0;border-top:0;justify-content:flex-end;align-items:center;gap:14px;min-height:54px;margin-top:14px;padding:8px 0;display:flex}.quote-savebar .save{width:100%;min-height:38px;margin-top:0}.customer-layout{grid-template-columns:360px minmax(0,1fr);gap:22px;padding-top:24px;display:grid}.tree{border:1px solid var(--line);border-radius:8px;overflow:hidden}.tree-customer,.tree-department{border:0;border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;width:100%;padding:12px 14px;font-weight:500;display:flex}.tree-customer{background:var(--red);color:#fff}.tree-department{background:var(--soft);padding-left:28px}.tree-customer.selected,.tree-department.selected{outline-offset:-3px;outline:3px solid #d9001629}.customer-directory{gap:14px;padding-top:24px;display:grid}.customer-group{background:#fff;border:1px solid #dde2e7;border-left:0;border-right:0;border-radius:6px;overflow:hidden}.customer-group-head,.customer-department-row{text-align:left;border-bottom:1px solid #dde2e7;justify-content:space-between;align-items:center;width:100%;display:flex}.customer-group-head{background:var(--red);color:#fff;min-height:40px;padding:0 14px;font-size:15px;font-weight:500}.customer-group-head.active{background:var(--red)}.customer-group-head .ui-icon-button{color:#fff}.customer-group-head .ui-icon-button:hover{color:#fff;background:#ffffff24}.customer-row-main{min-width:0;height:100%;min-height:inherit;color:inherit;text-align:left;font:inherit;background:0 0;border:0;flex:auto;justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-group-name,.customer-department-row .customer-row-main>span:first-child{align-items:center;gap:7px;min-width:0;display:inline-flex}.customer-group-name{font-weight:500}.customer-group-meta{color:#ffffffeb;white-space:nowrap;align-items:center;gap:16px;font-size:14px;display:inline-flex}.customer-department-row{color:#252a31;background:#e9eaec;min-height:38px;padding:0 14px 0 28px;font-size:15px;font-weight:400}.customer-department-row:hover{background:#f2f3f5}.customer-department-row.active{background:#f7f8fa}.customer-department-row .customer-row-main>span:last-child{color:#454b54;font-variant-numeric:tabular-nums}.customer-entity-editor,.department-entity-editor{background:#fafbfc;border-bottom:1px solid #dde2e7;gap:12px 14px;padding:14px 18px;display:grid}.customer-entity-editor{grid-template-columns:repeat(4,minmax(150px,1fr))}.department-entity-editor{grid-template-columns:minmax(220px,420px) auto;align-items:end}.customer-entity-editor label,.department-entity-editor label{color:#4a515b;gap:6px;font-size:13px}.customer-entity-editor input,.customer-entity-editor textarea,.department-entity-editor input{border-radius:4px;min-height:34px;font-size:14px}.customer-entity-editor textarea{resize:vertical;min-height:70px}.entity-editor-wide{grid-column:span 2}.entity-editor-actions{justify-content:flex-end;align-items:end;gap:8px;display:flex}.entity-editor-actions button{border-radius:5px;min-height:34px;padding:6px 14px;font-size:14px}.customer-contact-panel{background:#fff;padding:8px 14px 10px}.customer-contact-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.customer-contact-head h2{font-size:18px;line-height:1.35}.customer-contact-head .ui-button{border-radius:5px;min-height:34px;padding:6px 14px;font-size:14px}.customer-contact-table{width:100%}.customer-contact-table table{table-layout:fixed;min-width:1060px}.customer-contact-table th,.customer-contact-table td{height:40px;padding:var(--table-compact-cell-y) var(--table-compact-cell-x);color:#30343a;white-space:nowrap;text-overflow:ellipsis;font-size:15px;line-height:1.35;overflow:hidden}.customer-contact-table th{color:#20252d;font-weight:500}.customer-contact-table tbody tr:last-child td{border-bottom:0}.customer-contact-table th:first-child,.customer-contact-table td:first-child{color:#6b7280;width:42px}.customer-contact-table th:nth-child(2),.customer-contact-table td:nth-child(2){width:170px}.customer-contact-table th:nth-child(3),.customer-contact-table td:nth-child(3){width:120px}.customer-contact-table th:nth-child(4),.customer-contact-table td:nth-child(4),.customer-contact-table th:nth-child(5),.customer-contact-table td:nth-child(5){width:140px}.customer-contact-table th:nth-child(6),.customer-contact-table td:nth-child(6){width:210px}.customer-contact-table th:nth-child(7),.customer-contact-table td:nth-child(7){width:150px}.customer-contact-table th:nth-child(8),.customer-contact-table td:nth-child(8){text-align:right;width:64px}.customer-contact-name{color:var(--red);font-weight:500}.customer-table-action{color:#454b54;margin-left:auto}.customer-table-action:hover{color:var(--red);background:#fff1f2}.contact-row{cursor:pointer}.contact-row:hover{background:#fff7f8}.contact-row.active{background:#fff1f2}.contact-detail-row td{background:#fafbfc;padding:0}.contact-detail-editor{border-top:1px solid #eef0f3;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px 14px;padding:16px;display:grid}.contact-detail-editor label{color:#4a515b;gap:6px;font-size:13px}.contact-detail-editor input{border-radius:4px;min-height:34px;font-size:14px}.contact-editor-wide{grid-column:span 2}.checkbox-row{align-self:end;align-items:center;gap:8px;min-height:34px;display:flex}.checkbox-row input{width:16px;min-height:16px;margin:0}.contact-department-picker{color:#4a515b;grid-column:1/-1;align-self:start;gap:7px;font-size:13px;display:grid}.contact-department-picker>div{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:8px 18px;min-height:34px;display:grid}.contact-department-picker .checkbox-row{color:#30343a;white-space:normal;align-items:flex-start;min-height:auto;font-size:14px;line-height:1.35}.contact-editor-actions{grid-column:1/-1;justify-content:flex-start;align-items:end;gap:8px;display:flex}.contact-editor-actions button{border-radius:5px;min-height:34px;padding:6px 14px;font-size:14px}.modal-backdrop{z-index:10;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;flex-direction:column;width:min(1080px,100%);max-height:calc(100vh - 40px);display:flex;overflow-y:auto;box-shadow:0 16px 50px #181e2629}.modal-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-head button{border:1px solid var(--line);color:var(--red);background:#fff;border-radius:5px;min-width:34px;min-height:32px;font-weight:500}.modal-context{color:#4a515b;padding:14px 24px 0;font-size:15px;font-weight:500}.modal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px;padding:24px;display:grid}.modal-address-field{gap:8px;display:grid}.modal-add-address{border:1px solid var(--control-line);color:#30343a;background:#fff;border-radius:5px;justify-self:start;align-items:center;gap:6px;min-height:32px;padding:5px 12px;font-size:14px;font-weight:500;display:inline-flex}.modal-add-address:hover{border-color:var(--red);color:var(--red)}.modal-actions{border-top:1px solid var(--line);background:#fff;flex:none;justify-content:flex-end;gap:10px;padding:18px 24px;display:flex}.modal-section{flex:none;padding:0 24px 18px}.modal-section h3{margin:0 0 10px}@media (width<=1100px){.app-shell{grid-template-rows:60px auto 1fr;grid-template-columns:1fr}.brand{width:auto}.topbar nav{display:none}.sidebar{border-right:0;border-bottom:1px solid var(--line);grid-row:2;padding-top:0;display:flex;overflow-x:auto}.sidebar button{text-align:center;flex:none;min-width:94px;padding:0 14px}.main{grid-row:3;padding:18px}.filters,.form-grid,.bottom,.customer-layout,.quote-meta-grid,.quote-form-page .bottom{grid-template-columns:1fr}.q-span-1,.q-span-2,.q-span-3,.q-span-4,.q-span-10,.q-span-12,.quote-name-field,.quote-status-field,.quote-add-customer{grid-column:span 1}.quote-select-action{grid-template-columns:1fr}.quote-field{white-space:normal;grid-template-columns:1fr;align-items:stretch;gap:5px}.quote-field-label{line-height:20px}.quote-total-chip b{text-align:left}.span-2{grid-column:span 1}}@media (width<=760px){body{font-size:14px}.brand{padding:10px 12px}.brand strong{font-size:22px}.account{gap:6px;padding-right:10px}.account .account-avatar{width:36px;height:36px}.account .account-menu-trigger{text-overflow:ellipsis;white-space:nowrap;max-width:112px;padding:8px 10px;font-size:14px;overflow:hidden}.sidebar button{min-width:80px;height:48px;font-size:15px}.main{padding:14px 12px 30px}.quote-form-page .page-head{min-height:auto}.quote-savebar{justify-content:space-between}.quote-savebar .save{width:100%}.page-head{flex-direction:column;align-items:flex-start;gap:12px}h1{font-size:34px}.actions,.section-title,.modal-actions{flex-wrap:wrap;width:100%}.actions>button,.section-title>button,.modal-actions>button{flex:130px}.tree{max-height:280px;overflow-y:auto}.modal-backdrop{align-items:start}.modal{max-height:calc(100vh - 40px);overflow:auto}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.team-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-message{color:var(--red);margin:12px 0}.vi-consult-filters>select{flex:0 220px}.vi-consult-filters>input{flex:360px}.vi-consult-filters .date-field{flex:0 220px}.vi-consult-meta-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.vi-consult-table tr{grid-template-columns:clamp(124px,6.8vw,148px) minmax(210px,260px) minmax(120px,150px) minmax(160px,1fr) clamp(130px,7vw,150px) clamp(124px,6.8vw,144px) clamp(98px,5.4vw,116px)}.vi-consult-table th:nth-child(7),.vi-consult-table td:nth-child(7){text-align:center;justify-content:center}.quote-section-heading{margin:26px 0 12px}.vi-items-table tr{grid-template-columns:var(--table-drag-column-width) minmax(250px, 1fr) minmax(380px, 1.35fr) 132px 132px 76px}.vi-items-table th:first-child,.vi-items-table td:first-child,.vi-items-table th:nth-child(2),.vi-items-table td:nth-child(2),.vi-items-table th:nth-child(3),.vi-items-table td:nth-child(3){text-align:left;justify-content:flex-start}.vi-items-table th:nth-child(4),.vi-items-table td:nth-child(4),.vi-items-table th:nth-child(5),.vi-items-table td:nth-child(5){text-align:right;justify-content:flex-end}.vi-items-table th:first-child,.vi-items-table td:first-child,.vi-items-table th:nth-child(6),.vi-items-table td:nth-child(6){justify-content:center}.vi-items-table.quote-items-table .quote-drop-marker{grid-template-columns:var(--table-drag-column-width) minmax(250px, 1fr) minmax(380px, 1.35fr) 132px 132px 76px}.quote-add-line{border:1px solid var(--line);width:100%;min-height:34px;color:var(--red);background:#f4f6f8;border-radius:5px;margin-top:6px;font-size:22px}.quote-summary-row{grid-template-columns:minmax(0,1fr) 360px;gap:28px;margin-top:22px;display:grid}.quote-summary-row .quote-notes{resize:vertical;min-height:130px}.quote-total-card{border-top:1px solid var(--line)}.quote-total-card div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:42px;display:flex}.quote-save{width:100%;min-height:48px;margin-top:22px}.vi-config-list{--sortable-gap:18px;gap:18px;padding-top:10px;display:grid}.vi-config-list>.drag-drop-marker{height:0;margin:-9px 0}.vi-config-list>.drag-drop-marker:before{border-radius:999px;height:1px;top:8px}.vi-config-list>.ui-button{justify-self:start}.vi-config-category{border:0;padding-top:0}.vi-config-category .customer-group-head{border-bottom:0}.vi-config-category-head{cursor:grab;-webkit-user-select:none;user-select:none;gap:8px}.vi-config-category-head:active{cursor:grabbing}.vi-config-category-head .customer-row-main{cursor:inherit}.vi-config-category-editor{grid-template-columns:minmax(260px,1fr) 160px auto;align-items:end}.vi-config-icon-actions{gap:2px}.entity-editor-actions.vi-config-icon-actions button{min-width:28px;height:28px;min-height:28px;padding:0}.vi-config-item .ui-control{box-shadow:none;background:0 0;border-color:#0000}.vi-config-item .ui-control:hover{background:0 0}.vi-config-item .ui-control:focus{background:#fff;border-color:#0000;outline:none;box-shadow:0 0 0 2px #e200201f,0 0 6px #e2002033}.vi-config-items{gap:0;padding:8px 0 12px;display:grid}.vi-config-item{grid-template-columns:var(--table-drag-column-width) minmax(180px, .55fr) minmax(360px, 1.45fr) 110px 110px 110px 84px;border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:48px;display:grid}.vi-config-row-actions{justify-content:flex-end;align-items:center;gap:2px;min-width:0;display:flex}.vi-config-row-actions .ui-icon-button{flex:0 0 28px}.vi-config-feedback{z-index:50;color:#30343a;background:#fff;border:1px solid #d7dee7;border-radius:6px;margin:0;padding:10px 14px;font-size:14px;font-weight:500;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 26px #19263729}.vi-config-item.vi-config-item-last{border-bottom:0}.vi-config-items>.drag-drop-marker{height:0;margin:0}.vi-config-items>.drag-drop-marker:before{border-radius:999px;height:1px;top:-1px}.vi-config-items>.ui-button{margin-top:4px}.vi-public-page{-webkit-overflow-scrolling:touch;height:100%;min-height:100vh;padding:clamp(42px, 6vw, 88px) clamp(18px, 4vw, 48px) max(72px, env(safe-area-inset-bottom));background:var(--red);color:#111827;margin:0 auto;overflow-y:auto}.vi-public-header{text-align:center;justify-items:center;gap:16px;margin:0 auto 42px;display:grid}.vi-public-header h1{color:#fff;font-size:clamp(34px,4.8vw,56px);font-weight:400;line-height:1.24}.vi-public-header p{color:#ffffffd9;margin:0;font-size:17px;font-weight:400;line-height:1.75}.vi-mobile-break{display:none}.vi-public-card{background:#fff;border-radius:14px;width:min(100%,980px);min-height:min(1280px,100vh - 160px);margin:0 auto;padding:clamp(32px,4.2vw,56px);box-shadow:0 18px 50px #7d000433}.vi-public-language{justify-content:center;gap:10px;margin:-18px 0 28px;display:flex}.vi-public-language button{color:#8b1600;background:#f4bd19;border:1px solid #f4bd19;border-radius:0;min-width:88px;min-height:34px;font-weight:700}.vi-public-language button.active{border-color:var(--red);background:var(--red);color:#fff}.vi-public-form{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:0;display:grid}.vi-public-form input,.vi-public-filters select{border:1px solid var(--control-line);height:46px;color:var(--ink);background:#fff;border-radius:6px;padding:9px 14px;font-weight:500}.vi-public-form input:focus,.vi-public-filters select:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #d9001614}.vi-public-filters{border-top:1px solid #b9c0ca;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin:24px 0 32px;padding-top:22px;display:grid}.vi-public-layout{grid-template-columns:1fr;gap:36px;display:grid}.vi-public-catalog{gap:0;display:grid}.vi-public-category{border-top:1px solid #b9c0ca;padding:28px 0}.vi-public-category:first-child{padding-top:26px}.vi-public-category h2{color:#111827;margin-bottom:18px;font-size:21px;font-weight:700;line-height:1.3}.vi-public-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;display:grid}.vi-public-item{color:#333;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:32px;padding:5px 0;font-weight:400;display:grid}.vi-public-item input{width:16px;height:16px;accent-color:var(--red)}.vi-public-item strong{font-size:17px;font-weight:400;line-height:1.45}.vi-public-item small{color:var(--muted);margin-top:3px;display:block}.vi-public-summary{text-align:center;background:0 0;border:0;border-radius:0;justify-self:center;gap:14px;width:100%;padding:0;display:grid}.vi-public-summary strong,.vi-public-summary span{display:none}.vi-public-summary div{border-top:1px solid var(--line-soft);justify-content:space-between;padding-top:10px;display:flex}.vi-public-summary p{color:var(--red);margin:0}.vi-public-summary button{background:var(--red);color:#fff;border:0;border-radius:6px;width:100%;min-height:54px;font-size:20px;font-weight:700}.vi-public-summary button:hover{background:var(--red-dark)}@media (width<=920px){.vi-consult-filters,.vi-consult-meta-grid,.vi-config-category-head,.vi-config-settings,.vi-config-item,.vi-public-form,.vi-public-filters,.vi-public-layout{grid-template-columns:1fr}.vi-consult-meta-grid>.quote-name-field,.vi-consult-meta-grid>.quote-status-field,.quote-summary-row{grid-column:auto;grid-template-columns:1fr}.vi-public-items{grid-template-columns:1fr;column-gap:0}.vi-public-summary{position:static}}@media (width<=560px){.vi-public-page{padding:48px 14px max(38px, env(safe-area-inset-bottom))}.vi-public-header{gap:24px;margin-bottom:30px}.vi-public-header h1{letter-spacing:0;font-size:38px;line-height:1.22}.vi-public-header p{color:#ffffffd9;font-size:17px;line-height:1.62}.vi-mobile-break{display:block}.vi-public-card{border-radius:10px;min-height:auto;padding:24px 18px 30px}.vi-public-language{margin:-6px 0 20px}.vi-public-form{margin:0}.vi-public-filters{margin:18px 0 22px;padding-top:18px}.vi-public-category{padding:22px 0}.vi-public-category h2{font-size:18px}.vi-public-item strong{font-size:15px}}.loading-screen{background:#f6f7f9;place-items:center;min-height:100vh;padding:clamp(22px,4vw,52px);display:grid}.login-screen{background-color:#f6f7f9;background-image:var(--login-background-image,none);background-position:50%;background-repeat:no-repeat;background-size:cover;grid-template-rows:1fr auto;place-items:center;min-height:100vh;padding:clamp(22px,4vw,52px);display:grid}.login-shell{background:#fff;border:0;border-radius:8px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);width:min(960px,100%);min-height:560px;display:grid;overflow:hidden;box-shadow:0 28px 90px #00000057,0 8px 26px #0000002e}.login-identity{--login-identity-x:clamp(44px, 5.8vw, 74px);padding:clamp(34px, 5vw, 58px) var(--login-identity-x);color:#fff;background:#e60012;flex-direction:column;justify-content:space-between;gap:34px;display:flex}.login-panel{background:#fff;align-content:center;gap:16px;padding:clamp(32px,4vw,52px);display:grid}.login-footer{color:#ffffffb3;text-align:center;text-shadow:0 1px 8px #0000006b;align-self:end;margin:18px 0 0;font-size:14px;line-height:1.5}.login-footer span{margin:0 8px}.login-footer a{color:inherit;text-decoration:none}.login-footer a:hover{color:#ffffffb8}.login-brand{width:auto;color:inherit;border:0;padding:0}.login-brand img{width:min(180px,54%);height:auto;display:block}.login-title-group p,.login-panel-head p{color:inherit;margin:0 0 8px;font-size:14px;font-weight:700}.login-title-group h1{max-width:10em;color:inherit;margin:0;font-size:clamp(42px,5vw,64px);font-weight:800;line-height:1.05}.login-title-group strong{color:#fff;margin-top:12px;font-size:22px;line-height:1.2;display:block}.login-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.login-signal-grid span{color:#fff;border:1px solid #fff;border-radius:6px;place-items:center;gap:2px;min-height:58px;padding:10px 14px;font-weight:700;display:grid}.login-signal-grid strong,.login-signal-grid small{line-height:1.1;display:block}.login-signal-grid strong{font-size:15px}.login-signal-grid small{color:#fff;font-size:12px}.login-panel-head h2{color:var(--text);margin:0 0 12px;font-size:30px;font-weight:800;line-height:1.15}.login-panel label{color:var(--muted);gap:8px;font-weight:700;display:grid}.login-divider{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-wechat-button{color:#08783f;background:#f3fbf6;border-color:#08783f42}.login-wechat-button:hover:not(:disabled){color:#066132;background:#e8f7ee;border-color:#08783f6b}.wechat-pair-modal{width:min(440px,100vw - 32px)}.wechat-pair-content{gap:18px;padding:20px;display:grid}.wechat-pair-content p{color:var(--muted);margin:0;line-height:1.7}.wechat-pair-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.login-link-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:center;font-weight:700}.login-link-button:hover{color:var(--red)}.form-error{color:var(--danger);margin:0;font-weight:500}.form-success{color:#08783f;margin:0;font-weight:600;line-height:1.6}@media (width<=820px){.login-screen{align-items:center;padding:16px}.login-shell{grid-template-columns:1fr;min-height:0}.login-identity{--login-identity-x:34px;min-height:210px;padding:24px var(--login-identity-x);justify-content:flex-start;gap:20px}.login-signal-grid{display:none}.login-title-group h1{font-size:36px}.login-title-group strong{margin-top:8px;font-size:19px}.login-panel{gap:14px;padding:26px 28px 28px}.login-panel-head h2{margin-bottom:8px;font-size:26px}.login-footer{margin-top:12px;font-size:13px}}@media (width<=520px){.login-screen{padding:12px}.login-identity{--login-identity-x:24px;min-height:0;padding:20px var(--login-identity-x) 22px;gap:18px}.login-brand img{width:62px}.login-title-group p,.login-panel-head p{margin-bottom:6px;font-size:13px}.login-title-group h1{font-size:28px}.login-title-group strong{font-size:16px}.login-panel-head h2{font-size:24px}.login-panel{gap:12px;padding:22px}.login-panel label{gap:6px}.login-footer{margin-top:10px;font-size:12px}}.notice{color:var(--danger);background:#fff5f6;border:1px solid #ffd0d6;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-weight:500;display:flex}.notice button{color:inherit;background:0 0;border:0;font-weight:500}.app-shell{grid-template-rows:60px 1fr;grid-template-columns:140px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:58px minmax(0,1fr)}.brand{width:140px;padding:8px 13px}.brand:after{display:none}.brand img{width:104px}.sidebar-collapsed .brand{place-items:center;width:58px;padding:0;display:grid}.sidebar-collapsed .brand img{display:none}.sidebar-collapsed .brand:after{content:"J";color:#fff;border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;font-weight:400;display:grid}.brand strong{font-size:26px;font-weight:500}.topbar nav{gap:34px;padding:0 30px}.topbar nav button{font-size:16px}.account .account-avatar{width:34px;height:34px;font-size:15px}.account .account-menu-trigger{border-color:#00000024;min-height:34px;padding:6px 15px;font-size:15px}.sidebar{flex-direction:column;min-width:0;min-height:0;padding-top:13px;display:flex;overflow:hidden auto}.sidebar button{border-bottom-color:var(--line-soft);align-items:center;gap:9px;height:54px;padding:0 16px;font-size:15px;display:flex}.sidebar .sidebar-toggle{border-top:1px solid var(--line-soft);color:#667085;justify-content:flex-start;margin-top:auto}.sidebar .sidebar-toggle:hover{color:var(--red);background:#fff}.sidebar-collapsed .sidebar{background:var(--page-bg);padding-top:8px}.sidebar-collapsed .sidebar button{justify-content:center;gap:0;padding:0}.sidebar-collapsed .sidebar .sidebar-toggle{border:1px solid var(--line);width:34px;height:34px;min-height:34px;color:var(--red);background:#fff;border-radius:999px;margin:auto auto 18px;box-shadow:0 2px 8px #181e2614}.sidebar-collapsed .sidebar .sidebar-toggle:hover{border-color:var(--red);background:#fff5f6}.sidebar-collapsed .sidebar .nav-label,.sidebar-collapsed .sidebar .sidebar-toggle-label{display:none}.sidebar button .anticon{color:currentColor;width:16px;font-size:15px}.sidebar-collapsed .sidebar button .anticon{width:auto;font-size:16px}.quote-workspace{background:#fff;width:100%;min-width:0;max-width:none;overflow:visible}.quote-filters>select:first-of-type{flex:220px}.quote-filters>select:nth-of-type(2),.quote-filters>select:nth-of-type(3),.quote-filters>select:nth-of-type(4),.quote-filters>select:nth-of-type(5){flex:0 128px}.quote-filters>input{flex:170px}.quote-filters .date-field{flex:0 170px}.quote-filters select:disabled{color:#b6bcc4;cursor:not-allowed;background:#f5f6f8}@media (width>=1180px){.filters.quote-filters{grid-template-columns:minmax(190px,1fr) repeat(4,minmax(108px,132px)) minmax(160px,.86fr) minmax(136px,150px) 58px;align-items:center;display:grid}.quote-filters>select,.quote-filters>input,.quote-filters .date-field,.quote-filters>button{width:100%;min-width:0}}.date-field{min-width:0;position:relative}.date-trigger{border:1px solid var(--control-line);color:#30343a;text-align:left;background:#fff;border-radius:4px;justify-content:flex-start;align-items:center;width:100%;height:34px;min-height:34px;padding:5px 10px;display:flex}.quote-field .date-field{width:100%}.date-trigger span{color:#9aa1aa}.date-trigger.has-value span{color:#30343a}.date-popover{z-index:30;background:#f7f8fa;border:1px solid #d6dbe1;border-radius:7px;width:292px;position:absolute;top:calc(100% + 7px);right:0;overflow:hidden;box-shadow:0 18px 40px #191e262e}.date-popover-global{z-index:1000;border-radius:6px;width:360px;max-width:calc(100vw - 24px);position:fixed;top:auto;right:auto}.date-popover-global .date-calendar-head{min-height:54px}.date-popover-global .date-calendar-head strong{font-size:20px;font-weight:700}.date-popover-global .date-calendar-head button{height:54px;font-size:32px;font-weight:700}.date-popover-global .date-weekdays{padding:14px 10px 8px;font-size:16px;font-weight:700}.date-popover-global .date-grid{gap:5px;padding:0 10px 10px}.date-popover-global .date-grid button{border-radius:4px;height:32px;font-size:16px;font-weight:700}.date-popover-global .date-calendar-foot{gap:8px;padding:9px 10px}.date-popover-global .date-calendar-foot button{min-height:34px;padding:4px 14px;font-size:15px}.date-calendar-head{background:var(--red);color:#fff;grid-template-columns:34px 1fr 34px;align-items:center;min-height:38px;display:grid}.date-calendar-head strong{text-align:center;font-size:17px;font-weight:500}.date-calendar-head button{color:#fff;background:0 0;border:0;height:38px;font-size:22px;line-height:1}.date-weekdays{color:#454a51;text-align:center;grid-template-columns:repeat(7,1fr);padding:10px 9px 6px;font-size:14px;font-weight:500;display:grid}.date-grid{grid-template-columns:repeat(7,1fr);gap:4px;padding:0 9px 9px;display:grid}.date-grid button{color:#1f8ebf;background:#fff;border:1px solid #d5d9df;border-radius:3px;height:32px;font-size:14px;font-weight:500}.date-grid button:hover{border-color:var(--red);color:var(--red)}.date-grid button.muted{color:#bdc2c9;background:#f1f2f4}.date-grid button.disabled,.date-grid button:disabled{cursor:not-allowed;color:#c7ccd3;box-shadow:none;background:#f3f4f6;border-color:#dfe3e8}.date-grid button.disabled:hover,.date-grid button:disabled:hover{color:#c7ccd3;border-color:#dfe3e8}.date-grid button.selected{border-color:var(--red);color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:#fff1f2}.date-calendar-foot{background:#fff;border-top:1px solid #e1e5ea;justify-content:flex-end;gap:6px;padding:7px 9px 8px;display:flex}.date-calendar-foot button{color:#3d4249;background:#fff;border:1px solid #d4d9df;border-radius:4px;min-height:26px;padding:3px 9px;font-size:13px}.date-calendar-foot button:hover{border-color:var(--red);color:var(--red)}.quote-table-wrap{overscroll-behavior-x:contain;border-top:0;width:100%;max-width:100%;overflow-x:auto}.quote-table{border-collapse:collapse;table-layout:auto;font-variant-numeric:tabular-nums;width:100%;min-width:100%;display:block}.quote-table thead,.quote-table tbody{display:block}.quote-table tr{grid-template-columns:var(--quote-list-columns);border-bottom:1px solid var(--line);align-items:center;column-gap:0;display:grid}.quote-table th,.quote-table td{min-width:0;height:48px;padding:0 var(--table-cell-x);color:#30343a;font-size:var(--table-font-size);line-height:var(--table-line-height);text-overflow:ellipsis;white-space:nowrap;border-bottom:0;align-items:center;display:flex;overflow:hidden}.quote-table th{color:#22272e;font-weight:500}.quote-table th:nth-child(5),.quote-table td:nth-child(5){text-align:right;justify-content:flex-end;padding-right:32px}.quote-table th:nth-child(3),.quote-table td:nth-child(3){padding-right:28px}.quote-table th:nth-child(4),.quote-table td:nth-child(4){min-width:0;padding-left:18px}.quote-project-name{text-overflow:clip;white-space:nowrap;max-width:24em;display:block;overflow:hidden}.quote-table th:nth-child(6),.quote-table td:nth-child(6),.quote-table th:nth-child(7),.quote-table td:nth-child(7){text-align:center;justify-content:center;padding-left:18px;padding-right:26px}.quote-table th:nth-child(8),.quote-table td:nth-child(8){text-align:center;justify-content:center}.quote-table th:first-child,.quote-table td:first-child{padding-left:var(--table-cell-x);padding-right:20px}.quote-table th:last-child,.quote-table td:last-child{padding-left:2px;padding-right:4px}.quote-table tbody tr{min-height:48px}.quote-table tbody tr:hover{background:#f4f6f8}.status{min-height:auto;color:inherit;font-size:var(--table-font-size);background:0 0;border-radius:0;padding:0;font-weight:400}.status--success,.status--warning,.status--danger{color:inherit;background:0 0}.download{border-radius:4px;width:48px;min-height:30px;padding:3px 0;font-size:15px}.quote-list-icon-button{width:20px;min-width:20px;height:20px;min-height:20px;color:var(--red);font-size:13px}.quote-table .quote-row-actions{justify-content:center;gap:0}.quote-list-icon-button:hover{color:var(--red-dark);background:#fff1f2}.quote-pages{align-items:center;gap:0;margin-top:28px}.quote-pages button,.quote-pages span{min-width:40px;min-height:36px;color:var(--red);border-color:var(--line);padding:7px 13px;font-size:15px;font-weight:400;line-height:20px}.quote-pages button{cursor:pointer}.quote-pages button:disabled{cursor:not-allowed;color:#a9afb8;background:#f6f7f9}.quote-pages button.active{color:#fff;border-color:var(--red);background:var(--red)}.quote-pages button+button,.quote-pages button+span,.quote-pages span+button,.quote-pages span+span,.quote-pages select+button,.quote-pages button+select,.quote-pages span+select{margin-left:-1px}.quote-pages span,.quote-page-total{color:#737982}.quote-page-total{min-width:auto}.quote-page-ellipsis{text-align:center;min-width:34px}.quote-page-size{width:auto;min-width:108px;height:36px;min-height:36px;margin-left:10px;padding:6px 9px;font-size:14px}@media (width<=1100px){.app-shell{grid-template-rows:60px 1fr;grid-template-columns:58px minmax(0,1fr)}.brand{place-items:center;width:58px;padding:0;display:grid}.brand img{display:none}.brand:after{content:"J";color:#fff;border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;font-weight:400;display:grid}.sidebar{border-right:1px solid var(--line-soft);background:var(--page-bg);border-bottom:0;flex-direction:column;grid-row:2;padding-top:8px;display:flex;overflow:hidden auto}.sidebar .sidebar-toggle{border:1px solid var(--line);width:34px;height:34px;min-height:34px;color:var(--red);background:#fff;border-radius:999px;margin:auto auto 18px;display:flex;box-shadow:0 2px 8px #181e2614}.sidebar button{flex:0 0 54px;justify-content:center;gap:0;width:100%;min-width:0;padding:0}.sidebar .nav-label,.sidebar .sidebar-toggle-label{display:none}.sidebar button .anticon{width:auto;font-size:16px}.main{grid-row:2}.page-head{min-height:auto}.quote-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-form-page .quote-meta-grid>.quote-add-customer,.quote-form-page .quote-meta-grid>.q-span-12,.quote-form-page .quote-meta-grid>.quote-name-field,.quote-form-page .quote-meta-grid>.quote-status-field{grid-column:1/-1}.customer-directory{padding-top:18px}.customer-entity-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-department-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.filters.quote-filters{align-items:stretch}.quote-filters>select,.quote-filters>input,.quote-filters .date-field,.quote-filters>button{flex-basis:100%}.date-popover{width:min(280px,100vw - 28px)}.date-grid button{height:30px;font-size:14px}.customer-group-meta{display:none}.customer-department-row{padding-left:16px}.customer-entity-editor,.department-entity-editor{grid-template-columns:1fr}.entity-editor-wide{grid-column:auto}.entity-editor-actions{justify-content:stretch}.entity-editor-actions button{flex:1}.customer-contact-panel{padding:8px 10px 10px}.customer-contact-head{flex-direction:column;align-items:flex-start}.customer-contact-head .ui-button{width:100%}.contact-detail-editor,.contact-department-picker>div,.modal-grid,.team-checkbox-grid{grid-template-columns:1fr}.contact-editor-wide{grid-column:auto}.contact-editor-actions{justify-content:stretch}.contact-editor-actions button{flex:1}}.team-table-shell{min-width:0;padding-top:0}.team-table-wrap{border:0;overflow-x:auto}.team-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:0}.team-table th,.team-table td{border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;text-align:left;vertical-align:middle;height:58px;padding:0 clamp(8px,.7vw,14px);overflow:hidden}.team-table th{height:48px;color:var(--text);font-weight:600}.team-table th:first-child,.team-table td:first-child{width:58px}.team-table th:nth-child(2),.team-table td:nth-child(2){width:9%}.team-table th:nth-child(3),.team-table td:nth-child(3){width:10%}.team-table th:nth-child(4),.team-table td:nth-child(4){width:13%}.team-table th:nth-child(5),.team-table td:nth-child(5){width:20%}.team-table th:nth-child(6),.team-table td:nth-child(6){width:12%}.team-table th:nth-child(7),.team-table td:nth-child(7){width:8%}.team-table th:nth-child(8),.team-table td:nth-child(8){width:64px}.team-table th:nth-child(9),.team-table td:nth-child(9){width:8%}.team-table th:nth-child(10),.team-table td:nth-child(10){text-align:right;width:68px;padding-right:0}.supplier-table th:first-child,.supplier-table td:first-child{width:17%}.supplier-table th:nth-child(2),.supplier-table td:nth-child(2){width:10%}.supplier-table th:nth-child(3),.supplier-table td:nth-child(3),.supplier-table th:nth-child(4),.supplier-table td:nth-child(4),.supplier-table th:nth-child(6),.supplier-table td:nth-child(6),.supplier-table th:nth-child(8),.supplier-table td:nth-child(8){width:8%}.supplier-table th:nth-child(5),.supplier-table td:nth-child(5){width:14%}.supplier-table th:nth-child(7),.supplier-table td:nth-child(7){width:17%}.supplier-table th:nth-child(9),.supplier-table td:nth-child(9){width:12%}.supplier-table th:nth-child(10),.supplier-table td:nth-child(10){text-align:right;width:68px;padding-right:0}.supplier-table thead,.supplier-table tbody,.supplier-table tr{display:block}.supplier-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,1fr) minmax(92px,.9fr) minmax(88px,.9fr) minmax(112px,1fr) minmax(120px,1fr) minmax(116px,1fr) minmax(72px,.7fr) 76px;align-items:center;column-gap:clamp(18px,3vw,58px);width:100%;display:grid}.supplier-table th,.supplier-table td{border-bottom:0;align-items:center;min-width:0;padding-inline:0;display:flex;width:auto!important}.supplier-table th:last-child,.supplier-table td:last-child{text-align:right;justify-content:flex-end;padding-right:0}.team-empty-row td{height:96px;color:var(--muted);text-align:center}.team-group-row td{height:48px;color:var(--red);background:#fff1f1;border-top:1px solid #ffb8b8;border-bottom:1px solid #ffb8b8;font-weight:600}.team-group-row td:first-child{border-left:1px solid #ffb8b8}.team-group-row td:last-child{border-right:1px solid #ffb8b8}.team-group-row-muted td{border-color:var(--line);color:var(--muted);background:#f8fafc}.team-member-row td:first-child{text-align:left}.team-row-check{vertical-align:-2px;background:#fff;border:2px solid #9ca3af;border-radius:4px;width:14px;height:14px;margin-right:8px;display:inline-block}.team-action-cell .ui-icon-button{min-width:28px;height:28px}.team-action-buttons{justify-content:center;gap:6px;width:max-content;display:inline-flex}.team-disabled{color:var(--red);font-weight:600}.team-modal{width:min(880px,100vw - 48px)}.team-member-modal{width:min(1040px,100vw - 48px)}.team-supplier-modal{width:min(960px,100vw - 48px)}.team-form-wide{grid-column:1/-1}.team-form-wide textarea.ui-control{resize:vertical;min-height:88px}.team-permission-editor h3{margin:0 0 10px}.team-permission-editor{gap:16px;max-height:360px;margin-top:18px;padding-right:4px;display:grid;overflow:auto}.team-checkbox-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;display:grid}.inline-loading{min-height:180px}.settings-page{gap:var(--page-stack-gap);display:grid}.settings-panel{border:1px solid var(--line-soft);border-radius:var(--panel-radius-large);background:#fff;overflow:hidden}.settings-section-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.settings-section-head h2{color:var(--text);margin:0;font-size:18px;line-height:1.2}.settings-upload-button{min-width:96px}.settings-upload-button input[type=file]{display:none}.login-background-setting{align-items:center;gap:18px;padding:24px;display:flex}.login-background-setting.is-library{align-items:flex-start}.login-background-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.login-background-card{border:1px solid var(--line-soft);background:#fff;border-radius:8px;gap:10px;padding:10px;display:grid}.login-background-card.active{border-color:#e6001261;box-shadow:0 0 0 2px #e6001214}.login-background-preview{aspect-ratio:16/9;border:1px solid var(--line-soft);width:100%;color:var(--muted);background:#f6f7f9;border-radius:6px;place-items:center;font-weight:600;display:grid;overflow:hidden}.login-background-preview img{object-fit:cover;width:100%;height:100%}.login-background-card-actions{gap:8px;display:flex}.login-background-card-actions .ui-button{flex:1;min-height:34px;padding:7px 10px}.login-background-empty{min-height:180px;font-weight:600}.profile-layout{gap:18px;display:grid}.profile-section{gap:16px;display:grid}.profile-section h2{border-bottom:1px solid var(--line-soft);color:var(--text);margin:0;padding:16px 24px 12px;font-size:18px;font-weight:500}.field-hint{color:var(--muted);margin:-4px 0 0;font-size:13px}.field-hint.danger{color:var(--red)}.profile-section>.field-hint{padding:0 24px}.profile-section>.field-hint:last-child{padding-bottom:18px}.profile-section>.wechat-bind-panel{padding:24px}.wechat-bind-panel{justify-items:start;gap:14px;display:grid}.wechat-bind-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wechat-bind-status{box-sizing:border-box;width:100%;color:var(--red);background:#fff3f3;border-radius:6px;padding:12px 16px}.wechat-bind-status.bound{color:#356078;background:#e8f5ff}.wechat-mp-bind-modal{width:min(420px,100vw - 32px)}.wechat-mp-bind-modal-body{text-align:center;justify-items:center;gap:14px;padding:24px;display:grid}.wechat-mp-bind-modal-body img{width:188px;height:188px}.wechat-mp-bind-modal-body p{color:var(--muted);margin:0;font-size:14px}.quote-dispatch-panel{border:0;border-top:1px solid var(--line-soft);background:#fff;gap:0;margin:0 0 22px;padding:0;display:grid}.quote-dispatch-title{border-bottom:1px solid var(--line-soft);color:#252a31;min-height:44px;font-size:var(--table-font-size);line-height:var(--table-line-height);grid-template-columns:26px auto 26px;justify-content:center;align-items:center;gap:16px;font-weight:600;display:grid}.quote-dispatch-title strong{height:26px;font:inherit;justify-content:center;align-items:center;display:flex;transform:translateY(1px)}.quote-dispatch-title button{color:#c0c7d1;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:28px;font-weight:300;line-height:26px;display:inline-flex;transform:translateY(-1px)}.quote-dispatch-title button:hover{color:var(--red)}.quote-dispatch-board{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(72px,92px) repeat(5,minmax(0,1fr));min-height:360px;display:grid;overflow-x:hidden}.quote-dispatch-row{display:contents}.quote-dispatch-corner,.quote-dispatch-day-head,.quote-dispatch-designer-name,.quote-dispatch-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.quote-dispatch-day-head:nth-child(6),.quote-dispatch-cell:nth-child(6n){border-right:0}.quote-dispatch-corner,.quote-dispatch-day-head{background:#f8fafb;min-height:44px}.quote-dispatch-day-head,.quote-dispatch-designer-name{color:#1f2329;font-size:var(--table-font-size);line-height:var(--table-line-height);text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;padding:0 10px;font-weight:500;display:flex;overflow:hidden}.quote-dispatch-designer-name{background:#fff;justify-content:flex-start;min-height:64px;padding-left:20px}.quote-dispatch-cell{cursor:pointer;flex-direction:column;gap:0;min-width:0;min-height:64px;padding:6px 10px;display:flex;overflow:hidden}.quote-dispatch-cell.drop-target{background:#fff8f9;position:relative}.quote-dispatch-cell.drop-target:before{content:"";left:8px;right:8px;top:var(--drop-line-top,6px);background:var(--red);pointer-events:none;height:1px;position:absolute}.quote-dispatch-card{box-sizing:border-box;color:#30343a;text-align:left;cursor:grab;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;min-height:18px;padding:0;transition:none;display:grid;position:relative;overflow:hidden}.quote-dispatch-card.active{color:#30343a;box-shadow:none}.quote-dispatch-card.saved{background:0 0}.quote-dispatch-card.selected{color:#30343a;box-shadow:none}.quote-dispatch-group{gap:1px;min-width:0;display:grid}.quote-dispatch-group-head{min-width:0;position:relative;overflow:hidden}.quote-dispatch-group-toggle{box-sizing:border-box;color:#30343a;text-align:left;cursor:grab;background:0 0;border:0;grid-template-columns:14px minmax(0,1fr) auto auto auto;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;min-height:18px;padding:0;display:grid;position:relative;overflow:hidden}.quote-dispatch-group-toggle span{color:#7b838f;place-items:center;line-height:18px;display:inline-grid}.quote-dispatch-group-toggle b{color:#30343a;font-size:var(--table-font-size);text-overflow:ellipsis;white-space:nowrap;font-weight:400;line-height:18px;display:block;overflow:hidden}.quote-dispatch-group-toggle.done span,.quote-dispatch-group-toggle.done b{color:#a8b0ba}.quote-dispatch-group-items{gap:1px;min-width:0;padding-left:16px;display:grid}.quote-dispatch-card b,.quote-dispatch-card span{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.quote-dispatch-card b{color:#30343a;min-width:0;font-size:var(--table-font-size);white-space:nowrap;font-weight:400;line-height:18px}.quote-dispatch-card.active b,.quote-dispatch-card.selected b,.quote-dispatch-card:hover b{color:#30343a!important;font-weight:400!important}.quote-dispatch-board .quote-dispatch-card,.quote-dispatch-board .quote-dispatch-card.active,.quote-dispatch-board .quote-dispatch-card.selected,.quote-dispatch-board .quote-dispatch-card:hover{color:#30343a!important}.quote-dispatch-card span{display:none}.quote-dispatch-card.done b,.quote-dispatch-card.done:hover b,.quote-dispatch-card.done.selected b{color:#a8b0ba!important}.quote-dispatch-ae-badge{width:16px;height:16px;color:var(--red);pointer-events:none;background:#fff;border:1px solid #d8dde3;border-radius:999px;flex:none;order:2;justify-content:center;align-items:center;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.quote-dispatch-time-badge{max-width:42px;height:16px;color:var(--red);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#fff5f5;border:1px solid #ffd0d6;border-radius:4px;flex:none;order:1;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.quote-dispatch-card i{color:#7b838f;text-align:center;cursor:pointer;border-radius:4px;flex:none;order:3;justify-content:center;align-items:center;width:18px;height:18px;font-style:normal;line-height:18px;display:inline-flex;position:static}.quote-dispatch-group-toggle i{color:#7b838f;text-align:center;cursor:pointer;border-radius:4px;width:18px;height:18px;font-style:normal;line-height:18px;display:block;position:absolute;top:2px;right:0}.quote-dispatch-card i:hover,.quote-dispatch-group-toggle i:hover{color:var(--red);background:#f1f3f5}.quote-dispatch-board.readonly .quote-dispatch-cell,.quote-dispatch-board.readonly .quote-dispatch-card{cursor:default}.dashboard-task-board-section{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line);background:#fff;gap:0;margin:0;padding:0;display:grid}.dashboard-task-board{min-height:340px}.quote-dispatch-empty{color:#b2bbc6;justify-content:center;align-items:center;min-height:42px;font-size:13px;display:flex}.quote-dispatch-note{gap:8px;padding:14px 0 0;display:grid}.quote-dispatch-note>span{color:var(--muted)}.quote-dispatch-note textarea{min-height:76px}.quote-dispatch-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:0;padding:18px 0 14px;display:grid}.quote-dispatch-actions.single{grid-template-columns:minmax(0,1fr)}.quote-task-checkbox{appearance:none;cursor:pointer;vertical-align:middle;background:#fff;border:2px solid #8f96a3;border-radius:5px;place-items:center;width:18px;height:18px;display:inline-grid}.quote-task-checkbox.assigned{background:#e1001a33;border-color:#e1001a66}.quote-task-checkbox:checked,.quote-task-checkbox.assigned:checked{border-color:var(--red);background:var(--red)}.quote-task-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}.quote-task-checkbox:disabled{cursor:not-allowed;opacity:.45}.task-table-wrap{border:0;overflow-x:auto}.task-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}.task-table th,.task-table td{height:64px;padding:0 var(--table-cell-x);border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}.task-table th{color:var(--text);font-weight:600}.task-table td:first-child strong,.task-table td:first-child span{display:block}.task-table td:first-child span{color:var(--muted);margin-top:4px;font-size:13px}.task-table td:nth-child(2){white-space:normal;line-height:1.45}.task-status-select{width:128px}.task-project-list-head{align-items:center}.task-project-tabs{align-items:center;gap:12px;display:flex}.task-project-tabs button{border:1px solid var(--control-line);min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:6px;padding:8px 18px;font-weight:600}.task-project-tabs button.active{border-color:var(--red);background:var(--red);color:#fff}.task-project-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:20px 24px;margin-top:14px;display:grid}.production-task-filter{border-bottom:1px solid var(--line-soft);min-height:52px;position:relative}.production-task-tabs{bottom:-1px}.production-task-empty-tab{color:var(--muted);font-weight:600}.production-task-table-wrap{width:100%;max-width:100%;overflow:hidden visible;container-type:inline-size}.production-task-table{border-collapse:collapse;width:100%;display:block}.production-task-table thead,.production-task-table tbody{display:block}.production-task-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(132px,1.15fr) minmax(176px,1.55fr) minmax(128px,1.12fr) minmax(146px,1.28fr) minmax(146px,1.28fr) minmax(78px,.72fr);align-items:center;column-gap:clamp(4px,.55cqw,10px);width:100%;min-width:0;display:grid}.production-task-table tbody tr:hover{background:0 0}.production-task-table th,.production-task-table td{min-width:0;min-height:58px;color:var(--text);text-align:left;vertical-align:middle;border-bottom:0;padding:7px clamp(3px,.45cqw,8px);position:relative}.production-task-table td{white-space:nowrap;align-items:center;display:grid;overflow:visible}.production-task-table td:has(.date-popover){z-index:80}.production-task-table th{white-space:nowrap;align-items:center;min-height:44px;font-weight:600;display:flex}.production-task-table th:first-child,.production-task-table td:first-child{grid-column:1;width:auto;min-width:0}.production-task-table th:nth-child(2),.production-task-table td:nth-child(2){grid-column:2;width:auto;min-width:0}.production-task-table th:nth-child(3),.production-task-table td:nth-child(3){grid-column:3;width:auto;min-width:0}.production-task-table th:nth-child(4),.production-task-table td:nth-child(4){grid-column:4;width:auto;min-width:0}.production-task-table th:nth-child(5),.production-task-table td:nth-child(5){grid-column:5;width:auto;min-width:0}.production-task-table th:nth-child(6),.production-task-table td:nth-child(6){white-space:nowrap;grid-column:6;width:auto;min-width:0;overflow:visible}.production-task-table .date-field,.production-task-table .date-trigger{white-space:nowrap;width:100%;min-width:0}.production-task-table .date-trigger{padding-inline:clamp(3px,.45cqw,6px);overflow:visible}.production-task-table .date-trigger span{white-space:nowrap}.production-task-table td:nth-child(2) .ui-control-inline,.production-task-table td:nth-child(3) .ui-control-inline{width:100%}.production-effect-upload{aspect-ratio:16/9;color:#d1d7df;background:#606060;border:1px solid #606060;border-radius:4px;width:100%;max-width:172px;font-size:13px;display:block;position:relative;overflow:hidden}.production-effect-upload:hover{color:#fff;border-color:#757575}.production-effect-upload.has-image{background:#606060;border-style:solid}.production-effect-upload>span{place-items:center;display:grid;position:absolute;inset:0}.production-effect-upload img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;max-height:100%;margin:auto;display:block;position:absolute;inset:0}.production-effect-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.production-effect-actions{opacity:0;background:#10141a7a;justify-content:center;align-items:center;gap:8px;transition:opacity .16s;display:flex;position:absolute;inset:0}.production-effect-upload:hover .production-effect-actions,.production-effect-upload:focus-within .production-effect-actions{opacity:1}.production-effect-action{width:30px;height:30px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:1px solid #ffffffb8;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.production-effect-action:hover{color:var(--red);background:#fff;border-color:#fff}.production-effect-action svg{font-size:16px}.production-effect-preview-backdrop{z-index:30;background:#0000008c;padding:36px}.production-effect-preview-modal{place-items:center;width:min(1080px,100vw - 72px);max-height:calc(100vh - 72px);display:grid}.production-effect-preview-frame{background:0 0;border-radius:0;place-items:center;max-width:100%;max-height:calc(100vh - 72px);display:grid;overflow:auto}.production-effect-preview-frame img{object-fit:contain;max-width:100%;max-height:calc(100vh - 72px);display:block}.production-task-title{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:0;display:grid}.production-task-title strong,.production-task-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.production-task-title strong{font-weight:500}.production-task-title span{color:var(--muted);font-size:13px}.date-time-field{min-width:0;display:block}.date-time-trigger{width:100%;height:32px;min-height:32px;color:var(--text);font:inherit;text-align:left;background:0 0;border-color:#0000;outline:none;padding:4px 0;display:block}.date-time-trigger:not(.has-value){color:#a7adb5}.date-time-trigger:hover,.date-time-trigger:focus{background:#fff8f8;border-color:#0000}.date-time-popover{z-index:1000;background:#f7f8fa;border:1px solid #d6dbe1;border-radius:6px;width:288px;max-width:calc(100vw - 24px);position:fixed;overflow:hidden;box-shadow:0 14px 32px #191e2629}.date-time-popover .date-calendar-head{min-height:34px}.date-time-popover .date-calendar-head strong{font-size:16px;font-weight:700}.date-time-popover .date-calendar-head button{height:34px;font-size:22px;font-weight:700}.date-time-popover .date-weekdays{padding:8px 8px 5px;font-size:13px;font-weight:700}.date-time-popover .date-grid{gap:3px;padding:0 8px 8px}.date-time-popover .date-grid button{border-radius:4px;height:26px;font-size:13px;font-weight:700}.date-time-calendar{background:#f7f8fa}.date-time-panel{background:#fff;border-top:1px solid #e1e5ea}.date-time-toggle{color:#3d4249;cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:30px;padding:5px 8px;font-size:12px;display:flex}.date-time-toggle:hover,.date-time-toggle:focus{color:var(--red);background:#fff8f8;outline:none}.date-time-toggle span{color:var(--muted)}.date-time-toggle strong{font-weight:500}.date-time-options{background:#fff;border-top:1px solid #edf0f3;grid-template-columns:repeat(6,1fr);gap:3px;max-height:92px;padding:6px;display:grid;overflow:auto}.date-time-options button{color:#3d4249;background:#fff;border:1px solid #d5d9df;border-radius:3px;min-height:23px;font-size:11px}.date-time-options button:hover,.date-time-options button.active{border-color:var(--red);color:var(--red);background:#fff1f2}.date-time-actions{background:#fff;border-top:1px solid #e1e5ea;justify-content:flex-end;align-items:center;gap:4px;padding:6px;display:flex}.date-time-quick{gap:4px;margin-left:auto;display:flex}.date-time-actions button{color:#3d4249;background:#fff;border:1px solid #d4d9df;border-radius:4px;min-height:25px;padding:2px 7px;font-size:12px}.date-time-actions button.primary{border-color:var(--red);background:var(--red);color:#fff}.date-time-actions button:disabled{cursor:not-allowed;opacity:.5}.task-project-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;gap:12px;min-height:136px;padding:14px 16px;display:grid;box-shadow:0 1px 2px #0f172a0d}.task-project-card:hover{border-color:var(--red)}.task-project-card h2{color:var(--ink);margin:0;font-size:20px;font-weight:400;line-height:1.22}.task-progress{border:1px solid var(--line-soft);background:#f5f5f5;border-radius:5px;height:20px;position:relative;overflow:hidden}.task-progress span{background:var(--red);height:100%;display:block}.task-progress b{background:var(--red);color:#fff;align-items:center;min-width:28px;height:100%;padding:0 4px;font-size:12px;font-weight:400;display:inline-flex;position:absolute;top:0;left:0}.task-project-card-meta,.task-project-designers{align-items:center;gap:6px;min-width:0;display:flex}.task-project-card-meta span,.task-project-designers span{color:var(--ink);font-weight:400}.task-project-card-meta i,.task-project-designers i,.task-project-designers b{width:28px;height:28px;color:var(--red);background:#eeece7;border-radius:50%;justify-content:center;align-items:center;font-style:normal;font-weight:400;display:inline-flex}.task-project-card-meta em,.task-project-designers em{color:var(--muted);font-style:normal}.task-project-card-meta strong{color:var(--red);margin-left:auto;font-weight:400}.task-project-card-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-project-card-foot button{border:1px solid var(--line-soft);color:var(--text);cursor:pointer;background:#f7f7f7;border-radius:5px;padding:5px 10px}.task-project-card-foot span{color:var(--muted);margin-left:auto;font-weight:400}.task-project-detail-head h1 span{font-size:22px}.task-project-detail-head p{color:var(--muted);margin:8px 0 0;font-size:14px}.task-project-designers{border-bottom:1px solid var(--line);min-height:66px}.task-project-designers button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.task-project-assign-cell>input[type=checkbox]{width:18px;height:18px;accent-color:var(--red)}.task-project-designers button i{width:34px;height:34px}.task-project-designers button.active i{background:var(--red);color:#fff}.task-project-item-table{border-top:0}.task-project-item-head,.task-project-item-row{border-bottom:1px solid var(--line);padding:var(--table-compact-cell-y) 0;font-size:var(--table-font-size);line-height:var(--table-line-height);grid-template-columns:minmax(240px,320px) minmax(110px,140px) minmax(130px,170px) minmax(280px,1fr) minmax(146px,max-content);align-items:center;gap:10px;display:grid}.task-project-item-head{color:var(--ink);font-weight:700}.task-project-item-head>span:nth-child(2),.task-project-item-head>span:nth-child(3){text-align:left;justify-content:flex-start;align-items:center;width:100%;display:flex}.task-project-item-head>span:nth-child(5),.task-project-assign-cell{justify-self:start;width:max-content;min-width:146px}.task-project-item-head>span:nth-child(5){text-align:left}.task-project-dispatch-head{align-items:center;gap:10px;display:inline-flex}.task-project-select-all-checkbox{flex:none}.task-project-task-head,.task-project-title-cell{align-items:center;gap:10px;min-width:0;display:inline-flex}.task-project-title-cell strong{min-width:0}.task-project-item-row strong{color:var(--ink);gap:4px;font-weight:400;display:grid}.task-project-item-row small{color:var(--muted);font-size:12px}.task-project-assign-cell{min-width:0;display:block}.task-project-assign-cell .date-field,.task-project-assign-cell .date-time-field{width:auto;min-width:146px;max-width:max-content;display:inline-block}.task-project-assign-cell .date-trigger,.task-project-assign-cell .date-time-trigger{appearance:none;width:auto;min-width:146px;max-width:max-content;height:34px;min-height:34px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;padding:0 6px;display:inline-flex}.task-project-assign-cell .date-trigger:hover,.task-project-assign-cell .date-time-trigger:hover{box-shadow:none;background:#fbfcfd;border-color:#e2e6eb}.task-project-assign-cell .date-trigger:focus,.task-project-assign-cell .date-time-trigger:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 2px #e200201f}.task-project-assignee-chips,.task-project-supplier-chips{flex-wrap:wrap;justify-content:flex-start;justify-self:stretch;align-items:center;gap:4px;width:100%;min-width:0;min-height:24px;display:flex;position:relative}.task-project-member-picker{flex:none;display:inline-flex;position:relative}.task-project-member-add,.task-project-member-avatar{text-align:center;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-weight:700;line-height:24px;display:inline-flex}.task-project-member-add{color:var(--red);cursor:pointer;background:#fff1f1;border:1px solid #ff8f8f;font-size:0;line-height:1}.task-project-member-add:before{content:"+";width:1em;height:1em;color:inherit;text-align:center;font-size:18px;font-weight:700;line-height:1;display:block;transform:translate(.5px,-1px)}.task-project-member-add:hover{background:#ffe3e3}.task-project-member-add:disabled{opacity:.38;cursor:not-allowed}.task-project-member-avatar{background:var(--red);color:#fff;cursor:pointer;border:0;font-size:13px}.task-project-member-avatar:hover{background:var(--red-dark)}.task-project-member-avatar:disabled{color:#9aa2ad;cursor:default;background:#e6e8ec}.task-project-member-menu{z-index:20;background:#fff;border:2px solid #d4dae2;border-radius:999px;align-items:center;gap:8px;width:max-content;max-width:min(420px,100vw - 96px);min-height:46px;padding:8px 12px;display:flex;position:absolute;bottom:38px;left:50%;overflow:auto visible;transform:translate(-50%);box-shadow:0 10px 24px #0f172a14}.task-project-member-menu:before,.task-project-member-menu:after{content:"";width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.task-project-member-menu:before{border:11px solid #0000;border-top-color:#d4dae2;bottom:-22px}.task-project-member-menu:after{border:9px solid #0000;border-top-color:#fff;bottom:-17px}.task-project-member-menu button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.task-project-member-menu button:hover{background:var(--red-dark)}.task-project-member-menu button.active,.task-project-member-menu button:disabled{opacity:.35;cursor:default}.task-project-member-menu button.active:hover,.task-project-member-menu button:disabled:hover{background:var(--red)}.task-project-member-menu b{color:inherit;font-size:15px;font-weight:500;line-height:1}.task-project-member-menu i{min-height:28px;color:var(--muted);white-space:nowrap;align-items:center;padding:0 8px;font-style:normal;display:inline-flex}.task-project-requirements{gap:10px;margin-top:24px;display:grid}.task-project-requirements span{font-weight:400}.task-project-requirements textarea{resize:vertical;min-height:120px}.designer-task-board{grid-template-columns:repeat(3,minmax(240px,1fr));gap:28px;margin-top:22px;display:grid}.designer-task-column{border:0;border-top:3px solid var(--red);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;min-height:520px;display:grid}.designer-task-column header{border-bottom:1px solid var(--line);padding:12px 14px}.designer-task-column h2{min-height:30px;color:var(--ink);white-space:nowrap;align-items:center;margin:0;font-size:18px;font-weight:400;line-height:1.35;display:inline-flex;overflow:visible}.designer-task-column.pending,.designer-task-column.in_progress,.designer-task-column.done{border-top:3px solid var(--red)}.designer-task-list{min-height:0;overflow:auto}.designer-task-card{border-bottom:1px solid var(--line-soft);background:#fafafa;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.designer-task-card.expanded{align-items:start}.designer-task-group-toggle{min-width:0;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;padding:0;display:grid}.designer-task-group-toggle>span{width:18px;height:18px;color:var(--muted);place-items:center;margin:0;font-size:18px;line-height:1;display:inline-grid}.designer-task-card>div:first-child,.designer-task-subtask>div:first-child{min-width:0}.designer-task-card h3,.designer-task-card p,.designer-task-subtask p{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:400;line-height:1.35;overflow:hidden}.designer-task-card p,.designer-task-subtask p{color:var(--text)}.designer-task-card span,.designer-task-subtask span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;line-height:1.35;display:block;overflow:hidden}.designer-task-card .designer-task-group-toggle>span{width:18px;height:18px;color:var(--muted);margin:0;font-size:18px;line-height:1;display:inline-grid;overflow:visible}.designer-task-subtasks{background:var(--line-soft);grid-column:1/-1;gap:1px;min-width:0;margin-top:0;display:grid}.designer-task-subtask{background:#fafafa;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;min-height:34px;padding:5px 0 5px 22px;display:grid}.designer-task-actions{gap:5px;display:inline-flex}.designer-task-actions button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:5px;place-items:center;width:25px;height:25px;font-size:24px;line-height:1;display:inline-grid}.designer-task-actions svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.designer-task-empty{justify-items:start}.designer-task-pagination{align-self:end;margin:14px 0 12px 12px}@media (width<=1200px){.task-project-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.task-project-item-head,.task-project-item-row{grid-template-columns:minmax(170px,220px) minmax(92px,112px) minmax(122px,152px) minmax(220px,1fr) minmax(146px,max-content)}}@media (width<=860px){.designer-task-board{grid-template-columns:minmax(0,1fr)}.designer-task-column{min-height:360px}.task-project-tabs{flex-wrap:wrap}.task-project-grid,.task-project-item-head,.task-project-item-row{grid-template-columns:1fr}}.dashboard-page{gap:var(--page-stack-gap);display:grid}.dashboard-band{border-bottom:0;align-items:stretch;gap:14px;padding:12px 0 22px;display:grid}.dashboard-metric,.dashboard-section{background:#fff}.dashboard-metric span,.dashboard-metric small,.dashboard-empty,.dashboard-list-row span,.dashboard-list-row small,.progress-row span{color:var(--muted)}.dashboard-metric-group{gap:8px;display:grid}.dashboard-metric-group-title{color:var(--muted);font-size:13px;font-weight:500}.dashboard-split-line{background:var(--line);height:1px;margin:8px 0}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-metrics.company,.dashboard-metrics.designer{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-metric{border:1px solid var(--line);min-height:72px;color:var(--text);text-align:left;border-radius:6px;align-content:center;justify-items:start;padding:10px 12px;display:grid}.invoice-workflow-panel{border-top:1px solid var(--line);gap:14px;padding:18px 0;display:grid}.invoice-workflow-column{gap:10px;min-width:0;display:grid}.invoice-workflow-column h2{font-size:16px;line-height:1.35}.payment-match-results,.payment-combo-results{gap:8px;display:grid}.payment-match-tools{border:1px solid var(--line);background:#fafbfc;border-radius:6px;gap:10px;padding:10px;display:grid}.payment-batch-match{grid-template-columns:minmax(0,1fr) 160px;gap:10px;display:grid}.finance-quote-table tr{grid-template-columns:minmax(110px,.45fr) minmax(220px,1fr) minmax(180px,.7fr) minmax(300px,1.4fr) 132px minmax(150px,180px)}.finance-quote-table-wrap{border-bottom:0}.finance-page .invoice-workflow-panel{border-top:0;padding:0 0 14px}.finance-page .payment-match-tools{border:0;border-bottom:1px solid var(--line-soft);background:0 0;border-radius:0;padding:16px 0 14px}.finance-quote-table th:nth-child(6),.finance-quote-table td:nth-child(6){text-align:center;justify-content:center;padding-left:8px;padding-right:8px}.finance-quote-table .ui-button{white-space:nowrap;min-height:32px;padding:5px 14px}.payment-match-result,.payment-combo-result{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:6px;padding:8px 10px;display:block}.payment-match-result:hover,.payment-combo-result:hover{background:#fffdfd;border-color:#b8c0cc}.payment-combo-result strong,.payment-combo-result span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.payment-combo-result span{color:var(--muted);margin-top:3px;font-size:13px}.dashboard-metric.clickable{cursor:pointer}.dashboard-metric.clickable:hover{background:#fffdfd;border-color:#b8c0cc}.dashboard-metric strong{margin-top:5px;font-size:22px;line-height:1.2}.dashboard-metric small{margin-top:5px;font-size:12px;line-height:1.35}.dashboard-weekly-models{align-content:start}.weekly-model-list{border-bottom:0;align-items:flex-end;gap:14px;min-height:44px;margin-top:8px;padding:0;display:flex}.weekly-model-avatar{place-items:center;width:34px;height:34px;display:grid;position:relative}.weekly-model-avatar i{z-index:1;width:34px;height:34px;position:relative}.weekly-model-avatar svg{z-index:2;fill:#f6c744;stroke:#b98500;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(-8deg)}.weekly-model-avatar.rank-2 svg{fill:#d8dde6;stroke:#8d96a6}.weekly-model-avatar.rank-3 svg{fill:#c98242;stroke:#8b4d21}.dashboard-metric-head{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.dashboard-card-period{color:var(--red);grid-template-columns:18px minmax(44px,auto) 18px;place-items:center;font-size:13px;font-weight:600;line-height:1;display:inline-grid}.dashboard-card-period button{width:18px;height:20px;color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:22px;line-height:18px}.dashboard-card-period button:hover{color:#b50018}.dashboard-card-period b{white-space:nowrap;font-size:13px}.dashboard-history-panel{border:1px solid var(--line);background:#fff;border-radius:6px;gap:12px;padding:14px;display:grid}.dashboard-history-panel>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dashboard-history-panel>div:first-child span{color:var(--muted);font-size:13px}.dashboard-history-list{grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;display:grid}.dashboard-history-list>div{border:1px solid var(--line);background:#fafbfc;border-radius:6px;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.dashboard-history-list span{color:var(--muted)}.dashboard-grid{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.dashboard-grid.designer{grid-template-columns:1fr}.dashboard-section{border:1px solid var(--line);border-radius:6px;gap:12px;padding:16px;display:grid}.dashboard-section h2{font-size:18px;line-height:1.3}.progress-rows,.dashboard-list{gap:10px;display:grid}.progress-row{gap:8px;display:grid}.progress-row>div:first-child,.dashboard-list-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-track{appearance:none;background:#eef0f3;border:0;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}.progress-track::-webkit-progress-bar{border-radius:inherit;background:#eef0f3}.progress-track::-webkit-progress-value{border-radius:inherit;background:var(--red)}.progress-track::-moz-progress-bar{border-radius:inherit;background:var(--red)}.dashboard-list-row{border-bottom:1px solid var(--line);padding:10px 0}.dashboard-list-row:last-child{border-bottom:0}.dashboard-list-row>div{min-width:0}.dashboard-list-row strong,.dashboard-list-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-list-row>div:last-child{text-align:right;flex:none}.dashboard-empty{min-height:96px}@media (width<=1100px){.dashboard-band,.dashboard-grid{grid-template-columns:1fr}.dashboard-metrics,.dashboard-metrics.company{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics.designer{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-history-list{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (width<=760px){.dashboard-metrics,.dashboard-metrics.company,.dashboard-metrics.designer{grid-template-columns:1fr}.dashboard-history-panel>div:first-child{display:grid}.dashboard-history-list{grid-template-columns:1fr}}.production-task-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.production-share-modal{width:min(420px,100vw - 32px)}.production-share-modal .modal-head{padding-bottom:14px}.production-share-modal-body{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:10px 22px 20px;display:grid}.production-share-modal-body img{width:188px;height:188px}.production-share-modal-body p{margin:2px 0 0}.production-share-modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:2px;display:flex}.production-share-notify-button{color:#6b7280;background:#fff;border:1px solid #cfd6df;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 18px;font-weight:400;line-height:1;text-decoration:none;display:inline-flex}.production-share-notify-button:hover:not(:disabled){color:#4b5563;background:#f7f8fa;border-color:#aeb7c4}.production-share-notify-button:disabled{cursor:not-allowed;opacity:.55}.production-share-notify-message{color:#6b7280;text-align:center;min-height:18px;font-size:13px;line-height:18px}.production-share-page{min-height:100vh;color:var(--ink);background:#fff;padding:0 0 34px}html.production-share-native-scroll,body.production-share-native-scroll,#root.production-share-native-scroll{height:auto;min-height:100%;overflow:hidden auto}body.production-share-native-scroll{background:#fff;min-height:100vh}.production-share-header{max-width:100%;margin:0}.production-share-list-header{background:var(--red);color:#fff;text-align:center;place-items:center;min-height:148px;padding:26px 20px 28px;display:grid}.production-share-list-title{letter-spacing:0;white-space:nowrap;justify-content:center;align-items:center;gap:clamp(10px,3vw,18px);margin-bottom:12px;font-size:clamp(27px,7vw,44px);font-weight:600;line-height:1.08;display:flex}.production-share-list-title img{width:clamp(116px,30vw,210px);height:auto;display:block}.production-share-header p{color:#fff;margin:0;font-size:clamp(14px,3.8vw,22px);line-height:1.35}.production-share-list{max-width:760px;margin:0 auto;padding:clamp(22px,5vw,36px) clamp(22px,7vw,44px) 0;display:grid}.production-share-card{background:#fff;border:0;border-bottom:1px solid #d8dde3;border-radius:0;grid-template-columns:clamp(136px,34vw,220px) minmax(0,1fr);align-items:start;gap:clamp(14px,4vw,22px);padding:clamp(20px,5vw,30px) 0;display:grid}.production-share-thumb{aspect-ratio:16/9;color:#d1d7df;width:100%;height:auto;font:inherit;background:#606060;border:0;border-radius:0;align-self:start;place-items:center;display:grid;position:relative;overflow:hidden}.production-share-thumb-button{cursor:pointer;padding:0}.production-share-thumb img{object-position:center;display:block;position:absolute;inset:0;object-fit:contain!important;width:100%!important;height:100%!important}.production-share-card-body{align-self:start;min-width:0}.production-share-card-body dl{grid-auto-rows:auto;gap:clamp(7px,1.55vw,9.5px);margin:0;display:grid}.production-share-card-body dl>div{grid-template-columns:4.85em minmax(0,1fr);align-items:center;gap:clamp(2px,.8vw,5px);min-height:0;font-size:clamp(12.5px,2.8vw,15px);font-weight:400;line-height:1.14;display:grid}.production-share-card-body dt{color:#111827;white-space:nowrap;font-weight:400}.production-share-card-body dd{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:400;overflow:hidden}.production-share-state{max-width:720px;color:var(--muted);text-align:center;background:#fff;border:0;border-radius:0;justify-items:center;gap:10px;margin:48px auto 0;padding:26px 18px;display:grid}.production-share-state strong{color:var(--ink);font-size:18px}.production-share-auth-page{min-height:100svh;color:var(--ink);background:linear-gradient(#d90816 0%,#c70713 100%);place-items:center;padding:24px;display:grid}.production-share-auth-content{text-align:center;justify-items:center;gap:18px;width:min(330px,100%);padding:0;display:grid;transform:translateY(-7vh)}.production-share-auth-logo{color:#fff;justify-items:center;padding:0 0 2px;line-height:1;display:grid}.production-share-auth-logo img{width:clamp(126px,34vw,158px);height:auto;display:block}.production-share-auth-content h1{color:#fff;letter-spacing:0;margin:0;font-size:clamp(31px,8.2vw,40px);font-weight:400;line-height:1.2}.production-share-auth-page .production-share-state{color:#ffffffe0;background:0 0;justify-items:center;gap:12px;margin:0;padding:0;display:grid}.production-share-auth-button{color:#fff;cursor:pointer;min-width:142px;max-width:100%;min-height:40px;font:inherit;letter-spacing:0;background:#ffffff14;border:1.5px solid #ffffffeb;border-radius:999px;padding:0 26px;font-size:15px;font-weight:400}.production-share-auth-button:hover{background:#ffffff29}.production-share-auth-note{color:#ffffffbd;font-size:12px;line-height:1.45}.production-share-auth-button:disabled{cursor:default;opacity:.82}.production-share-preview-backdrop{z-index:2000;background:#000000d1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.production-share-preview-backdrop img{object-fit:contain;max-width:100%;max-height:100%;display:block}.production-share-history-actions{justify-content:center;max-width:760px;margin:0 auto;padding:24px clamp(22px,7vw,44px) 0;display:flex}.production-share-history-toggle{color:#30343a;cursor:pointer;min-width:132px;min-height:36px;font:inherit;background:#fff;border:1px solid #d7dde5;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:400;display:inline-flex}.production-share-history-toggle:hover{background:#f7f8fa;border-color:#c8ced7}.supplier-viewer-count,.supplier-viewer-pending{white-space:nowrap;margin-right:8px;display:inline-flex}.supplier-viewer-pending{color:var(--red);font-weight:600}.supplier-viewer-section{border-top:1px solid var(--line);padding-top:18px}.supplier-viewer-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.supplier-viewer-head h3{margin:0}.supplier-viewer-list{gap:10px;display:grid}.supplier-viewer-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.supplier-viewer-identity{gap:3px;min-width:0;display:grid}.supplier-viewer-identity em{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.supplier-viewer-row span,.supplier-viewer-row small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.supplier-viewer-remark{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;font-size:13px;font-weight:600;display:block}.supplier-viewer-remark .ui-control{height:36px;padding:6px 10px;font-size:14px}.supplier-viewer-status{white-space:nowrap;font-weight:700}.supplier-viewer-status-active{color:#15803d}.supplier-viewer-status-pending{color:var(--red)}.supplier-viewer-status-disabled{color:var(--muted)}.supplier-viewer-actions{gap:8px;display:flex}@media (width<=620px){.production-share-list-header{min-height:126px;padding:22px 18px 24px}.production-share-list-title{gap:10px;margin-bottom:10px;font-size:clamp(25px,7vw,34px)}.production-share-list-title img{width:clamp(108px,31vw,142px)}.production-share-header p{font-size:clamp(13px,3.8vw,16px)}.production-share-list{max-width:none;padding:20px 22px 0}.production-share-card{grid-template-columns:clamp(122px,36vw,158px) minmax(0,1fr);gap:12px;padding:22px 0}.production-share-card-body dl>div{grid-template-columns:4.65em minmax(0,1fr);gap:1px;font-size:clamp(12.5px,3.55vw,14px);line-height:1.15}.production-share-card-body dt{font-weight:400}.supplier-viewer-row{grid-template-columns:1fr}.supplier-viewer-actions{flex-wrap:wrap}}@media (width<=380px){.production-share-list{padding-inline:16px}.production-share-card{grid-template-columns:clamp(112px,34vw,136px) minmax(0,1fr);gap:10px}.production-share-card-body dl>div{grid-template-columns:4.65em minmax(0,1fr);gap:1px;font-size:12.5px}}.statistics-page{gap:12px;min-width:0;display:grid}.statistics-toolbar{border-bottom:1px solid var(--line-soft);grid-template-columns:160px 160px;align-items:center;gap:12px;padding-bottom:12px;display:grid}.statistics-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow-x:auto}.statistics-table.quote-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:100%;display:table}.statistics-table.quote-table thead{display:table-header-group}.statistics-table.quote-table tbody{display:table-row-group}.statistics-table.quote-table tfoot{display:table-footer-group}.statistics-table.quote-table tr{border-bottom:0;display:table-row}.statistics-table.quote-table th,.statistics-table.quote-table td{vertical-align:middle;border-bottom:1px solid var(--line);min-width:0;height:auto;line-height:var(--table-line-height);white-space:nowrap;padding:18px clamp(14px,1.1vw,24px);display:table-cell}.statistics-ae-table{min-width:min(1280px,100vw - 248px)}.statistics-designer-table{min-width:min(1040px,100vw - 248px)}.statistics-table .num{text-align:right}.statistics-table th.num,.statistics-table td.num{min-width:0}.statistics-table th:first-child,.statistics-table td:first-child{text-align:left}.statistics-ae-table th:first-child,.statistics-ae-table td:first-child{width:7%;padding-right:8px}.statistics-ae-table th:nth-child(2),.statistics-ae-table td:nth-child(2),.statistics-ae-table th:nth-child(3),.statistics-ae-table td:nth-child(3),.statistics-ae-table th:nth-child(4),.statistics-ae-table td:nth-child(4),.statistics-ae-table th:nth-child(5),.statistics-ae-table td:nth-child(5){width:13.2%}.statistics-ae-table th:nth-child(6),.statistics-ae-table td:nth-child(6),.statistics-ae-table th:nth-child(7),.statistics-ae-table td:nth-child(7),.statistics-ae-table th:nth-child(8),.statistics-ae-table td:nth-child(8),.statistics-ae-table th:nth-child(9),.statistics-ae-table td:nth-child(9){width:10.05%;padding-left:10px;padding-right:10px}.statistics-designer-table th:first-child,.statistics-designer-table td:first-child{width:12%}.statistics-designer-table th,.statistics-designer-table td{padding-top:6px;padding-bottom:6px;line-height:20px}.statistics-table.quote-table.statistics-designer-table tbody td{padding-top:6px;padding-bottom:6px}.statistics-designer-table th:nth-child(2),.statistics-designer-table td:nth-child(2),.statistics-designer-table th:nth-child(3),.statistics-designer-table td:nth-child(3),.statistics-table.statistics-designer-table th.count,.statistics-table.statistics-designer-table td.count{text-align:center}.statistics-designer-table th:nth-child(2),.statistics-designer-table td:nth-child(2){width:16%}.statistics-designer-table th:nth-child(3),.statistics-designer-table td:nth-child(3){width:12%}.statistics-designer-table th:nth-child(4),.statistics-designer-table td:nth-child(4){width:22%}.statistics-designer-table th:nth-child(5),.statistics-designer-table td:nth-child(5),.statistics-designer-table th:nth-child(6),.statistics-designer-table td:nth-child(6){width:19%}.statistics-designer-table .num .quote-cell-input{max-width:132px;margin:0 0 0 auto}.statistics-table.quote-table .statistics-total-row td{color:#30343a;border-top:3px solid var(--red);background:#fff7f7;font-weight:700}.statistics-table.quote-table .statistics-total-row td:first-child{color:var(--red)}@media (width<=1200px){.statistics-ae-table{min-width:1040px}.statistics-designer-table{min-width:920px}}@media (width<=760px){.statistics-toolbar{grid-template-columns:1fr 1fr}.statistics-table.quote-table th,.statistics-table.quote-table td{padding-left:12px;padding-right:12px}.statistics-ae-table{min-width:960px}.statistics-designer-table{min-width:780px}}@media (width<=520px){.statistics-table.quote-table th,.statistics-table.quote-table td{padding-left:10px;padding-right:10px}.statistics-ae-table{min-width:880px}.statistics-designer-table{min-width:680px}}
