.sidebar{width:var(--sidebar-width);height:100vh;background:var(--bg-surface);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:transform .3s ease,width .3s ease}.sidebar.collapsed{width:60px}.sidebar.collapsed .sidebar-logo{display:none}.sidebar.collapsed .sidebar-link span:not(.sidebar-badge-count){display:none}.sidebar.collapsed .sidebar-link{justify-content:center;padding:8px;gap:0}.sidebar.collapsed .sidebar-chevron,.sidebar.collapsed .sidebar-children{display:none}.sidebar.collapsed .sidebar-group{position:relative}.sidebar.collapsed .sidebar-footer .sidebar-link span,.sidebar.collapsed .sidebar-user-info span{display:none}.sidebar.collapsed .sidebar-footer-actions{flex-direction:column}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .15s;flex-shrink:0}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar.collapsed .sidebar-collapse-btn{margin:0 auto}.sidebar-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-5);border-bottom:1px solid var(--border-color)}.sidebar-logo{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;flex-shrink:0}.sidebar-nav{flex:1;padding:var(--spacing-3);overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);margin-bottom:var(--spacing-1);position:relative}.sidebar-link:hover{background:var(--bg-hover);color:var(--primary-color)}.sidebar-link.active{background:var(--primary-bg);color:var(--primary-color)}.sidebar-parent{width:100%;border:none;cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:transparent;text-align:left}.sidebar-chevron{margin-left:auto;transition:transform .2s;flex-shrink:0}.sidebar-chevron.open{transform:rotate(180deg)}.sidebar-children{padding-left:28px;margin-bottom:2px}.sidebar-child-link{font-size:12px!important;padding:6px 12px!important;margin-bottom:1px!important;border-radius:6px!important;position:relative}.sidebar-child-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:16px;background:transparent;border-radius:2px;transition:background .2s}.sidebar-child-link.active:before{background:var(--primary-color)}.sidebar-badge-count{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:20px;height:20px;line-height:20px;padding:0 6px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;border-radius:10px;text-align:center;box-shadow:0 1px 3px #dc262666}.sidebar-footer{padding:var(--spacing-3);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px}.sidebar-user-info{padding:4px 10px;display:flex;align-items:center;gap:6px}.sidebar-user-role{font-size:12px;color:var(--text-secondary);font-weight:500}.sidebar-footer-actions{display:flex;gap:4px}.sidebar-footer-actions .sidebar-link{flex:1;justify-content:center;font-size:12px;padding:6px 8px}.sidebar-lock-btn{cursor:pointer;background:none;border:none;color:var(--text-secondary);display:flex;align-items:center;gap:6px;border-radius:6px;transition:all .15s}.sidebar-lock-btn:hover{background:var(--hover-bg);color:var(--accent-color)}.sidebar-lock-btn:active{transform:scale(.97)}.mobile-user-label{font-size:12px;color:var(--text-secondary);font-weight:500;padding:0 8px;white-space:nowrap}.main-content{margin-left:var(--sidebar-width);min-height:100vh;padding:var(--spacing-5);padding-bottom:calc(var(--spacing-5) + env(safe-area-inset-bottom,0px));background:var(--bg-base);transition:margin-left .3s ease}.sidebar.collapsed+.main-content,.sidebar.collapsed~.main-content{margin-left:60px}.floating-menu-ball,.floating-ball-tab,.sidebar-overlay{display:none}@media (max-width: 768px){.floating-menu-ball{display:flex;align-items:center;justify-content:center;position:fixed;z-index:300;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;background:var(--primary-color, #0f766e);color:#fff;box-shadow:0 4px 16px #0f766e66;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .15s,box-shadow .15s;border:none;outline:none}.floating-menu-ball:active{cursor:grabbing;transform:scale(.92);box-shadow:0 2px 8px #0f766e4d}.floating-ball-tab{display:flex;align-items:center;justify-content:center;position:fixed;z-index:300;left:50%;bottom:0;transform:translate(-50%);width:48px;height:24px;border-radius:12px 12px 0 0;background:var(--primary-color, #0f766e);color:#fff;border:none;cursor:pointer;padding:0;opacity:.7;transition:opacity .15s,height .15s;box-shadow:0 -2px 8px #0000001a}.floating-ball-tab:hover,.floating-ball-tab:active{opacity:1;height:28px}.sidebar{transform:translate(-100%);width:260px;box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:99;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{margin-left:0;padding:12px;min-height:100vh}.stats-grid,.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:8px!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px}.table-container .data-table{min-width:700px}.modal-overlay{align-items:flex-end}.modal-content{width:100%!important;max-width:100%!important;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:0;overflow-y:auto}.form-row{flex-direction:column!important;gap:8px!important}.form-group,.form-group-inline{width:100%!important}.form-group-inline{flex-direction:column;gap:4px}.form-group-inline label{font-size:12px;color:var(--text-muted)}.filter-bar{flex-direction:column;gap:8px}.filter-bar .search-input-wrapper,.filter-bar select{width:100%}.page-header{flex-direction:column;gap:8px;align-items:flex-start!important}.page-header h1{font-size:18px}.group-codes-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))!important;gap:3px!important}.code-item-row{height:26px;font-size:11px;padding:2px 4px}.cut-sample-actions{flex-direction:column;gap:6px}.cut-sample-panel{flex-wrap:wrap}.stock-summary-row{display:flex!important;flex-direction:column!important;gap:8px!important}.stock-summary-row .form-group-inline{flex-direction:row;align-items:center;gap:8px}.detail-grid,.detail-grid.detail-grid-3col{grid-template-columns:1fr!important}.actions-cell{gap:1px}.actions-cell .action-btn{min-width:24px;height:24px;padding:2px}.actions-cell .action-btn svg{width:12px;height:12px}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.production-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (min-width: 769px) and (max-width: 1024px){.sidebar{width:180px}.sidebar.collapsed{width:60px}.main-content{margin-left:180px;padding:var(--spacing-4)}.sidebar.collapsed+.main-content,.sidebar.collapsed~.main-content{margin-left:60px}.stats-grid,.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important}}.stats-grid,.pages-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}.dashboard{padding:24px 28px;max-width:1440px;margin:0 auto;animation:dashFadeIn .5s ease-out}@keyframes dashFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;flex-wrap:wrap;gap:16px}.dashboard-header-left{display:flex;flex-direction:column;gap:4px}.dashboard-greeting{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;color:#1a1a2e;letter-spacing:.5px}.greeting-icon{color:#d97706;animation:sparkPulse 2s ease-in-out infinite}@keyframes sparkPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.dashboard-header-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.time-filter{display:flex;background:#f0f2f5;border-radius:10px;padding:3px;gap:2px}.time-btn{padding:7px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;color:#5c5c7a;cursor:pointer;transition:all .2s;font-weight:500}.time-btn:hover{color:#1a1a2e;background:#0000000a}.time-btn.active{background:#fff;color:#1a1a2e;box-shadow:0 2px 8px #00000014;font-weight:600}.year-selector{display:flex}.year-select-input{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;padding:7px 12px;border:none;border-radius:8px;font-size:13px;color:#5c5c7a;cursor:pointer;font-weight:500;background:transparent;outline:none;min-width:96px;text-align:center;text-align-last:center}.year-select-input:hover{background:#0000000a}.year-select-input:focus{background:#fff;box-shadow:0 2px 8px #00000014;color:#1a1a2e;font-weight:600}.custom-date-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#5c5c7a}.custom-date-row input[type=date]{border:1px solid #dde1e6;border-radius:8px;padding:6px 10px;font-size:13px;color:#1a1a2e;background:#fff;outline:none;transition:border .2s}.custom-date-row input[type=date]:focus{border-color:#d97706}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.kpi-card{background:#fff;border-radius:14px;padding:22px 24px;display:flex;align-items:center;gap:18px;position:relative;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;transition:all .25s ease;cursor:default;overflow:hidden}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 4px 16px #00000012}.kpi-sales:before{background:linear-gradient(180deg,#6366f1,#818cf8)}.kpi-items:before{background:linear-gradient(180deg,#06b6d4,#22d3ee)}.kpi-meters:before{background:linear-gradient(180deg,#f59e0b,#fbbf24)}.kpi-revenue:before{background:linear-gradient(180deg,#10b981,#34d399)}.kpi-icon-wrap{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-sales .kpi-icon-wrap{background:#eef2ff;color:#6366f1}.kpi-items .kpi-icon-wrap{background:#ecfeff;color:#06b6d4}.kpi-meters .kpi-icon-wrap{background:#fffbeb;color:#f59e0b}.kpi-revenue .kpi-icon-wrap{background:#ecfdf5;color:#10b981}.kpi-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.kpi-label{font-size:12px;color:#8c8caa;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.kpi-value{font-size:26px;font-weight:700;color:#1a1a2e;line-height:1.2;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-unit{font-size:13px;color:#a0a0be;font-weight:500;align-self:flex-end;padding-bottom:6px}.insight-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:22px}.insight-card{background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;transition:all .25s ease}.insight-card:hover{box-shadow:0 4px 16px #00000012}.insight-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f2f5}.insight-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a2e}.profit-grid{display:flex;flex-direction:column;gap:12px}.profit-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.profit-label{font-size:13px;color:#7c7c9a;font-weight:500}.profit-value{font-size:20px;font-weight:700;color:#1a1a2e}.profit-value small{font-size:12px;font-weight:500;color:#a0a0be;margin-left:4px}.profit-value.cost{color:#ef4444}.profit-value.net{color:#10b981}.profit-value.rate{color:#d97706}.profit-value.rate.up{color:#10b981}.profit-value.rate.down{color:#ef4444}.finance-grid{display:flex;flex-direction:column;gap:14px}.finance-item{display:flex;align-items:center;gap:12px}.finance-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.finance-dot.receivable{background:#6366f1}.finance-dot.received{background:#10b981}.finance-dot.owing{background:#ef4444}.finance-text{flex:1;display:flex;justify-content:space-between;align-items:center}.finance-label{font-size:13px;color:#7c7c9a;font-weight:500}.finance-value{font-size:16px;font-weight:600;color:#1a1a2e}.finance-value.owing{color:#ef4444}.quick-card{position:relative}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-link{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:10px;background:#f8f9fc;font-size:13px;font-weight:500;color:#2c2c44;text-decoration:none;transition:all .2s}.quick-link:hover{background:#eef2ff;color:#4f46e5;transform:translate(2px)}.detail-row{display:grid;grid-template-columns:2fr 1fr;gap:18px}.detail-card{background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;transition:all .25s ease}.detail-card:hover{box-shadow:0 4px 16px #00000012}.detail-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f2f5}.detail-card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a2e}.detail-count{font-size:12px;color:#a0a0be;background:#f0f2f5;padding:3px 10px;border-radius:20px;font-weight:500}.detail-more{display:flex;align-items:center;gap:4px;font-size:13px;color:#6366f1;text-decoration:none;font-weight:500;transition:gap .2s}.detail-more:hover{gap:8px}.empty-state{padding:48px 0;text-align:center;color:#b0b0c8;font-size:14px}.detail-table-wrap{overflow-x:auto;margin:-4px -22px;padding:0 22px}.dash-table{width:100%;border-collapse:collapse;font-size:13px}.dash-table thead th{padding:10px 8px;text-align:left;font-weight:600;font-size:11px;color:#8c8caa;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f0f2f5;white-space:nowrap;position:sticky;top:0;background:#fff}.dash-table thead th.num{text-align:right}.dash-table tbody tr{transition:background .15s}.dash-table tbody tr:hover{background:#f8f9fc}.dash-table tbody td{padding:9px 8px;border-bottom:1px solid #f3f4f6;color:#2c2c44;white-space:nowrap}.dash-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.cell-date{color:#7c7c9a;font-size:12px}.cell-id{font-family:SF Mono,Cascadia Code,monospace;font-size:11px;color:#6b7280;letter-spacing:.3px}.cell-product{max-width:180px;overflow:hidden;text-overflow:ellipsis}.cell-spec{display:block;font-size:11px;color:#9ca3af;margin-top:1px}.cell-amount{font-weight:600;color:#1a1a2e}.dash-table tfoot td{padding:10px 8px;font-weight:700;font-size:13px;color:#1a1a2e;border-top:2px solid #e5e7eb;background:#fafbfc}.dash-table tfoot td.total-label{text-align:right;font-weight:600;color:#6b7280}.dash-table tfoot td.num{text-align:right}.trend-badge{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;margin-left:8px}.trend-up{background:#ecfdf5;color:#059669}.trend-down{background:#fef2f2;color:#dc2626}.recent-list{display:flex;flex-direction:column;gap:2px}.recent-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:10px;transition:all .2s;cursor:pointer}.recent-item:hover{background:#f8f9fc}.recent-item-left{display:flex;flex-direction:column;gap:2px;min-width:0}.recent-id{font-family:SF Mono,Cascadia Code,monospace;font-size:12px;font-weight:600;color:#1a1a2e}.recent-customer{font-size:12px;color:#8c8caa}.recent-item-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.recent-amount{font-size:15px;font-weight:700;color:#1a1a2e;white-space:nowrap}.recent-amount small{font-size:11px;font-weight:500;color:#a0a0be;margin-left:2px}.recent-status{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;white-space:nowrap}.status-pending,.status-waiting_payment{background:#fef3c7;color:#d97706}.status-waiting_shipment{background:#dbeafe;color:#2563eb}.status-waiting_completion{background:#e0e7ff;color:#4f46e5}.status-completed{background:#d1fae5;color:#059669}.status-cancelled{background:#f3f4f6;color:#9ca3af}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.insight-row{grid-template-columns:1fr 1fr}.quick-card{grid-column:span 2}}@media (max-width: 900px){.detail-row{grid-template-columns:1fr}.dashboard{padding:16px}}@media (max-width: 640px){.kpi-grid,.insight-row{grid-template-columns:1fr}.quick-card{grid-column:auto}.dashboard-header{flex-direction:column}}.activity-section{margin-top:22px}.activity-card{max-height:520px;display:flex;flex-direction:column}.activity-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1;margin:0 -22px;padding:0 22px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #f3f4f6;transition:background .15s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f8f9fc;margin:0 -12px;padding:10px 12px;border-radius:8px}.activity-dot{flex-shrink:0;padding-top:4px;width:20px;display:flex;justify-content:center}.act-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.act-create{background:#10b981}.act-complete{background:#6366f1}.act-edit{background:#f59e0b}.act-delete{background:#ef4444}.act-cancel{background:#9ca3af}.act-other{background:#8b5cf6}.activity-body{flex:1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}.activity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.act-label{font-size:13px;font-weight:600;color:#1a1a2e}.act-target{font-size:12px;color:#6366f1;font-weight:500;font-family:SF Mono,Cascadia Code,monospace}.act-detail{font-size:11px;color:#9ca3af;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.act-operator{font-size:11px;color:#818cf8;font-weight:500;margin-top:1px}.act-device{font-size:11px;color:#10b981;font-weight:600;margin-left:6px;padding:1px 7px;background:#ecfdf5;border-radius:10px;white-space:nowrap}.activity-time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.act-date{font-size:11px;color:#9ca3af;font-weight:500}.act-time{font-size:11px;color:#c0c0d8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{height:28px;padding:0 var(--spacing-3);font-size:var(--font-size-xs)}.btn-md{height:36px;padding:0 var(--spacing-4);font-size:var(--font-size-sm)}.btn-lg{height:44px;padding:0 var(--spacing-5);font-size:var(--font-size-base)}.btn-primary{background:var(--primary-gradient);color:#fff}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-outline{background:transparent;border:1.5px solid var(--border-color);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--primary-color)}.btn-danger{background:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-icon{display:flex;align-items:center;font-size:1em}.btn-text{line-height:1}.btn-loading{position:relative;color:transparent!important}.btn-spinner{position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.id-cell{font-family:monospace;font-weight:var(--font-weight-semibold);color:var(--primary-color);font-size:var(--font-size-sm)}.price-cell{color:var(--primary-color);font-weight:var(--font-weight-medium)}.production-time{display:inline-block;padding:2px 8px;background:#e8f5e9;color:#2e7d32;border-radius:10px;font-size:12px;cursor:help}.tag{display:inline-block;padding:2px 8px;background:var(--primary-bg);color:var(--primary-color);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.action-btn.view{background:var(--bg-hover);color:var(--text-secondary)}.action-btn.view:hover{background:var(--primary-color);color:#fff}.action-btn.edit{background:var(--primary-bg);color:var(--primary-color)}.action-btn.edit:hover{background:var(--primary-color);color:#fff}.action-btn.delete{background:var(--error-bg);color:var(--error-color)}.action-btn.delete:hover{background:var(--error-color);color:#fff}.action-btn.produce{background:var(--success-bg);color:var(--success-color)}.action-btn.produce:hover{background:var(--success-color);color:#fff}.action-btn.sub-products{background:var(--info-bg, #e0f2fe);color:var(--info-color, #0284c7);position:relative}.action-btn.sub-products:hover{background:var(--info-color, #0284c7);color:#fff}.sub-count{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#ef4444;color:#fff;font-size:10px;border-radius:50%;display:flex;align-items:center;justify-content:center}.search-input{flex:1;max-width:300px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.quick-produce-modal{max-width:450px}.quick-produce-info{background:var(--bg-surface);padding:var(--spacing-3);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.info-row{display:flex;align-items:center;gap:var(--spacing-2)}.inline-textarea{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);resize:vertical}.inline-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.form{display:flex;flex-direction:column;gap:var(--spacing-4)}.form-group-inline label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:60px;flex-shrink:0}.form-group-inline .inline-input{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.form-group-inline .inline-textarea{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);resize:vertical;min-height:60px}.input-unit-wrapper{display:flex;align-items:center;gap:var(--spacing-2);flex:1}.input-unit-wrapper input{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);min-width:80px}.input-unit-wrapper input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.unit-label{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap}.unit-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--bg-surface);cursor:pointer;min-width:80px}.unit-select:focus{outline:none;border-color:var(--primary-color)}.range-input-wrapper{gap:var(--spacing-2)}.range-input-wrapper input{width:80px;flex:none}.range-separator{font-size:var(--font-size-sm);color:var(--text-muted)}.range-toggle{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;margin-left:var(--spacing-3)}.range-toggle input{width:16px;height:16px;cursor:pointer}.id-display{background:var(--primary-bg);padding:var(--spacing-3);border-radius:var(--radius-md)}.id-value{font-family:monospace;font-weight:var(--font-weight-semibold);color:var(--primary-color);font-size:var(--font-size-sm)}.success-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) 0}.success-icon{width:48px;height:48px;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.success-message{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.success-id{display:flex;align-items:center;gap:var(--spacing-2);background:var(--primary-bg);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md)}.sp-list{margin-bottom:10px}.sp-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sp-count{font-size:12px;color:var(--ps-text-muted, #94a3b8)}.sp-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px;color:var(--ps-text-muted, #94a3b8)}.sp-empty svg{opacity:.4}.sp-empty p{margin:0;font-size:13px}.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.sp-card{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;background:var(--ps-bg, #f4f6fa);border:1px solid var(--ps-border, #eef0f4);border-radius:8px;transition:all .15s}.sp-card:hover{border-color:var(--ps-primary-light, #d1fae5);background:#f0fdf4}.sp-card.active{border-color:var(--ps-primary, #0f766e);background:#f0fdf4}.sp-card-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.sp-card-color{font-size:13px;font-weight:600;color:var(--ps-text, #1e293b);word-break:break-all}.sp-card-actions{display:flex;gap:2px;flex-shrink:0}.sp-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--ps-text-muted, #94a3b8);cursor:pointer;transition:all .15s}.sp-btn:hover{background:#e2e8f0;color:var(--ps-text, #1e293b)}.sp-btn.danger:hover{background:#fef2f2;color:var(--ps-red, #dc2626)}.sp-form{border:1px solid var(--ps-border, #eef0f4);border-radius:10px;overflow:hidden;background:#f8f9fc}.sp-form-header{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--ps-text, #1e293b);background:#fff;border-bottom:1px solid var(--ps-border, #eef0f4)}.sp-form-body{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;padding:10px 12px 12px}.sp-field{display:flex;flex-direction:column;gap:3px;position:relative}.sp-field label{font-size:11px;font-weight:500;color:var(--ps-text-muted, #94a3b8)}.sp-input{width:100%;padding:6px 10px;border:1px solid var(--ps-border, #e2e6ed);border-radius:6px;font-size:13px;color:var(--ps-text, #1e293b);background:#fff;outline:none;transition:all .15s;box-sizing:border-box}.sp-input:focus{border-color:var(--ps-primary, #0f766e);box-shadow:0 0 0 3px #0f766e1a}.sp-input-unit{position:absolute;right:10px;bottom:7px;font-size:12px;color:var(--ps-text-muted, #94a3b8);pointer-events:none}.sp-field-action{justify-content:flex-end}.sp-field-action label{visibility:hidden}.sp-field-action button{white-space:nowrap;margin-top:auto}.pd-modal{display:flex;flex-direction:column;gap:10px}.pd-group{border-radius:8px;overflow:hidden}.pd-group-title{font-size:11px;font-weight:600;color:var(--ps-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--ps-border, #eef0f4)}.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.pd-field{display:flex;flex-direction:column;gap:1px;padding:4px 0}.pd-full{grid-column:1 / -1}.pd-label{font-size:11px;color:var(--ps-text-muted, #94a3b8);font-weight:500}.pd-value{font-size:14px;color:var(--ps-text, #1e293b);font-weight:600}.pd-mono{font-family:monospace;color:var(--ps-primary, #0f766e)}.pd-name{font-size:16px;font-weight:700;color:var(--ps-text, #1e293b)}.pd-price{color:var(--ps-primary, #0f766e);font-size:15px}.pd-time{font-size:12px;font-weight:500;color:var(--ps-text-secondary, #64748b)}.pd-empty{font-weight:400;color:var(--ps-text-muted, #94a3b8);font-style:italic}.pd-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;margin-top:4px;border-top:1px solid var(--ps-border, #eef0f4)}.pd-title-id{font-weight:400;color:var(--ps-text-muted, #94a3b8);font-size:13px;margin-left:4px}.merge-modal{display:flex;flex-direction:column;gap:10px}.merge-hint{font-size:13px;color:#666;padding:8px 12px;background:#f0fdf4;border:1px solid #d1fae5;border-radius:6px}.merge-search{margin-bottom:4px}.merge-product-list{max-height:320px;overflow-y:auto;border:1px solid #eef0f4;border-radius:8px}.merge-product-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .1s}.merge-product-item:last-child{border-bottom:none}.merge-product-item:hover{background:#f8f9fc}.merge-product-item.selected{background:#f0fdf4}.merge-product-info{display:flex;align-items:center;gap:8px}.merge-product-name{font-size:14px;font-weight:600;color:#1e293b}.merge-product-id{font-size:11px;color:#94a3b8;font-family:monospace}.merge-product-meta{display:flex;align-items:center;gap:8px}.merge-color-count{font-size:12px;color:#64748b}.merge-check{color:#0f766e;font-weight:700;font-size:14px}.merge-empty{text-align:center;padding:30px;color:#94a3b8;font-size:13px}.merge-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.merge-preview-table{width:100%;border-collapse:collapse;font-size:12px}.merge-preview-table th{padding:6px 8px;text-align:left;border-bottom:1px solid #ddd;background:#f5f5f5;font-weight:600;color:#475569}.merge-preview-table td{padding:6px 8px;border-bottom:1px solid #eee}.merged-badge{display:inline-block;margin-left:6px;padding:1px 6px;background:#fef3c7;color:#92400e;border-radius:8px;font-size:10px;font-weight:500;vertical-align:middle}.alias-badge{display:inline-block;margin-left:4px;padding:1px 6px;background:#e0f2fe;color:#0369a1;border-radius:8px;font-size:10px;font-weight:500;vertical-align:middle}.sp-suppliers{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px;position:relative}.sp-supplier-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:4px;font-size:11px;cursor:help;white-space:nowrap}.sp-label-tag{display:inline-flex;align-items:center;padding:1px 7px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:3px;font-size:10px;font-weight:500;white-space:nowrap;line-height:1.5}.sp-supplier-price,.sp-supplier-remark{color:#94a3b8;font-size:10px}.sp-supplier-popover{position:absolute;z-index:100;top:100%;left:0;margin-top:6px;min-width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;animation:popoverIn .15s ease-out}@keyframes popoverIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sp-supplier-popover-arrow{position:absolute;top:-5px;left:16px;width:8px;height:8px;background:#fff;border-left:1px solid #e2e8f0;border-top:1px solid #e2e8f0;transform:rotate(45deg)}.sp-supplier-popover-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.sp-supplier-popover-row{display:flex;align-items:baseline;gap:8px}.sp-supplier-popover-label{font-size:11px;color:#94a3b8;min-width:48px;flex-shrink:0}.sp-supplier-popover-value{font-size:13px;color:#1e293b;font-weight:500}.sp-supplier-manager{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:10px;background:#f8fafc}.sp-supplier-manager-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;color:#1e293b;background:#fff;border-bottom:1px solid #e2e8f0}.sp-supplier-manager-actions{display:flex;gap:6px}.sp-supplier-add-row{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #eef0f4;align-items:center}.sp-supplier-select{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;outline:none}.sp-supplier-select:focus{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1a}.sp-supplier-empty{text-align:center;padding:20px;color:#94a3b8;font-size:13px}.sp-supplier-assign-list{display:flex;flex-direction:column;gap:0}.sp-supplier-assign-item{border-bottom:1px solid #eef0f4;padding:8px 12px}.sp-supplier-assign-item:last-child{border-bottom:none}.sp-supplier-assign-name{font-size:13px;margin-bottom:6px;color:#1e293b}.sp-supplier-assign-count{font-size:11px;color:#94a3b8;font-weight:400;margin-left:4px}.sp-supplier-assign-colors{display:flex;flex-wrap:wrap;gap:4px}.sp-supplier-color-chk{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;transition:all .1s;-webkit-user-select:none;user-select:none}.sp-supplier-color-chk:hover{background:#e2e8f0}.sp-supplier-color-chk.checked{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.sp-supplier-color-chk input{display:none}.toolbar-row{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.toolbar-row .search-input{flex:1;min-width:200px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.modal-content{background:#fff;border-radius:14px;width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026;overflow:hidden;animation:modalSlideIn .2s ease-out;pointer-events:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f2f5;flex-shrink:0;min-height:44px}.modal-header h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.modal-close{width:36px;height:36px;border:none;background:transparent;font-size:22px;color:#94a3b8;cursor:pointer;border-radius:10px;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s;flex-shrink:0;font-weight:300}.modal-close:hover{background:#f1f5f9;color:#475569}.modal-close:active{background:#e2e6ed;transform:scale(.92)}.modal-header.only-close{border-bottom:none;padding:8px 12px 0;justify-content:flex-end;min-height:unset}.modal-header.only-close h3{display:none}.modal-body{padding:14px 16px;overflow-y:auto;flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-5);text-align:center}.empty-state-md{padding:var(--spacing-8) var(--spacing-5)}.empty-state-sm{padding:var(--spacing-5) var(--spacing-4)}.empty-state-icon{color:var(--text-muted);margin-bottom:var(--spacing-4);opacity:.5}.empty-state-title{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.empty-state-desc{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-4);max-width:300px}.search-bar{display:flex;align-items:center;gap:6px;background:var(--ps-bg, #f4f6fa);border:1px solid var(--ps-border, #e2e6ed);border-radius:var(--ps-radius-xs, 6px);padding:0 10px;transition:all .2s;min-width:0;flex:1;max-width:340px}.search-bar:focus-within{border-color:var(--ps-primary, #0f766e);box-shadow:0 0 0 3px #0f766e1a;background:#fff}.search-bar .search-input{flex:1;border:none;outline:none;background:transparent;padding:5px 0;font-size:13px;color:var(--ps-text, #1e293b);min-width:0}.search-bar .search-input::placeholder{color:var(--ps-text-muted, #94a3b8)}.search-clear{background:none;border:none;color:var(--ps-text-muted, #94a3b8);cursor:pointer;font-size:18px;padding:0;line-height:1;flex-shrink:0}.search-clear:hover{color:var(--ps-text, #1e293b)}.filter-bar{padding:var(--spacing-4);border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-3);flex-wrap:wrap;align-items:center}.filter-bar .search-input{flex:1;min-width:200px}.search-input{width:200px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-5);padding:var(--spacing-5)}.inventory-card{background:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-5);transition:all var(--transition-fast)}.inventory-card:hover{box-shadow:var(--shadow-md)}.inventory-card.danger{border-left:3px solid var(--error-color)}.inventory-card.warning{border-left:3px solid var(--warning-color)}.inventory-card.success{border-left:3px solid var(--success-color)}.inventory-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2)}.inventory-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1}.stock-badge{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.stock-badge.danger{background:var(--error-bg);color:var(--error-color)}.stock-badge.warning{background:var(--warning-bg);color:#b8860b}.stock-badge.success{background:var(--success-bg);color:var(--success-dark)}.inventory-code{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--spacing-4)}.inventory-stock{margin-bottom:var(--spacing-3)}.stock-info{display:flex;align-items:baseline;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.stock-label{font-size:var(--font-size-xs);color:var(--text-muted)}.stock-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stock-unit{font-size:var(--font-size-sm);color:var(--text-muted)}.stock-bar{height:6px;background:var(--border-color);border-radius:var(--radius-full);overflow:hidden}.stock-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal)}.stock-fill.danger{background:var(--error-color)}.stock-fill.warning{background:var(--warning-color)}.stock-fill.success{background:var(--success-color)}.inventory-category{display:inline-block;padding:2px 8px;background:var(--bg-surface);color:var(--text-muted);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.sub-products-stock{margin-bottom:var(--spacing-3);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.sub-stock-item{display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-bottom:1px solid var(--border-light);font-size:var(--font-size-xs);gap:var(--spacing-2)}.sub-stock-item:last-child{border-bottom:none}.sub-stock-item.clickable{cursor:pointer;transition:background-color .2s}.sub-stock-item.clickable:hover{background-color:var(--bg-hover)}.sub-shade{font-weight:var(--font-weight-medium);color:var(--text-primary);min-width:35px}.sub-color{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-stock{text-align:right;font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.sub-stock.low{color:var(--error-color);font-weight:var(--font-weight-medium)}.cut-sample-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--warning-color);color:#fff;border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-bold);margin-left:var(--spacing-1)}.total-stock{padding-top:var(--spacing-3);border-top:1px solid var(--border-light);font-size:var(--font-size-sm);color:var(--text-secondary)}.total-stock b{color:var(--primary-color);font-size:var(--font-size-lg)}.inv-detail-layout{display:flex;flex-direction:column;gap:12px}.inv-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.inv-stat-card{background:var(--bg-muted, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md, 8px);padding:10px 14px;display:flex;flex-direction:column;gap:3px}.inv-stat-card.key{border-color:var(--primary-light, #728af5);background:var(--primary-bg, rgba(67,97,238,.08))}.inv-stat-label{font-size:11px;font-weight:500;color:var(--text-muted, #94a3b8)}.inv-stat-value{font-size:20px;font-weight:700;color:var(--text-primary, #1e293b)}.inv-stat-card.key .inv-stat-value{color:var(--primary-color, #4361ee)}.inv-stat-unit{font-size:13px;font-weight:500;color:var(--text-secondary, #475569);margin-left:2px}.inv-section{display:flex;flex-direction:column}.inv-section-title{font-size:13px;font-weight:600;color:var(--text-secondary, #475569);margin-bottom:10px;display:flex;align-items:center;gap:8px}.inv-section-title svg{flex-shrink:0;color:var(--primary-color, #4361ee)}.inv-section-badge{font-size:10px;background:var(--primary-bg, rgba(67,97,238,.08));color:var(--primary-color, #4361ee);padding:1px 7px;border-radius:8px;font-weight:500}.inv-record-cards{display:flex;flex-direction:column;gap:10px}.inv-record-item{border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md, 8px);overflow:hidden;transition:border-color .15s}.inv-record-item:hover{border-color:var(--primary-light, #728af5);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.06))}.inv-record-top{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--bg-muted, #f8fafc);gap:10px;flex-wrap:wrap}.inv-record-id{font-size:13px;font-weight:600;color:var(--primary-color, #4361ee);cursor:pointer;flex-shrink:0}.inv-record-id:hover{text-decoration:underline}.inv-record-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary, #475569)}.inv-record-supplier{color:#e65100;font-weight:500}.inv-record-progress{display:flex;align-items:center;gap:12px;flex-shrink:0}.inv-progress-item{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.inv-progress-label{font-size:10px;color:var(--text-muted, #94a3b8)}.inv-progress-value{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.inv-progress-value.done{color:var(--success-color, #06d6a0)}.inv-progress-cost{font-size:11px;color:var(--text-muted, #94a3b8);padding:2px 8px;background:var(--bg-surface, #fff);border-radius:4px;white-space:nowrap}.inv-codes-section{padding:10px 14px 12px;border-top:1px solid var(--border-color, #e2e8f0)}.inv-codes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.inv-codes-label{font-size:11px;font-weight:500;color:var(--text-muted, #94a3b8)}.inv-codes-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted, #94a3b8);cursor:pointer;-webkit-user-select:none;user-select:none}.inv-codes-toggle:hover{color:var(--text-secondary, #475569)}.inv-codes-toggle input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:var(--primary-color, #4361ee)}.inv-codes-grid{display:flex;flex-wrap:wrap;gap:6px}.inv-code-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-sm, 6px);font-size:12px;font-weight:500;background:var(--bg-muted, #f8fafc);border:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b);transition:all .1s}.inv-code-tag:hover{border-color:var(--primary-light, #728af5)}.inv-code-tag.available{background:#06d6a01a;border-color:#06d6a040;color:#0f766e}.inv-code-tag.partial{background:#f59e0b1a;border-color:#f59e0b40;color:#92400e}.inv-code-tag.occupied{background:#4361ee1a;border-color:#4361ee40;color:var(--primary-color, #4361ee)}.inv-code-tag.shipped{background:#ef476f14;border-color:#ef476f33;color:var(--error-color, #ef476f);text-decoration:line-through;opacity:.7}.inv-code-tag.hidden{display:none}.inv-code-tag.has-cut{border-style:dashed}.inv-status-badge{font-size:9px;padding:1px 5px;border-radius:4px;font-weight:500;line-height:1.3}.inv-code-tag.available .inv-status-badge{background:#06d6a02e;color:#0f766e}.inv-code-tag.partial .inv-status-badge{background:#f59e0b2e;color:#92400e}.inv-code-tag.occupied .inv-status-badge{background:#4361ee2e;color:var(--primary-color, #4361ee)}.inv-code-tag.shipped .inv-status-badge{background:#ef476f26;color:var(--error-color, #ef476f)}.inv-cut-mark{font-size:9px;background:#f9731626;color:#c2410c;padding:1px 5px;border-radius:4px;font-weight:600}.inv-no-data{text-align:center;padding:28px 20px;color:var(--text-muted, #94a3b8);font-size:13px;background:var(--bg-muted, #f8fafc);border-radius:var(--radius-md, 8px);border:1px dashed var(--border-color, #e2e8f0)}.detail-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);table-layout:fixed}.detail-table th,.detail-table td{padding:var(--spacing-3) var(--spacing-2);text-align:center;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light)}.detail-table th:last-child,.detail-table td:last-child{border-right:none}.detail-table th{background:var(--bg-surface);font-weight:var(--font-weight-semibold);color:var(--text-secondary);white-space:nowrap}.detail-table tbody tr:hover{background:var(--bg-hover)}.detail-table td{color:var(--text-primary);vertical-align:middle}.detail-table th:nth-child(1),.detail-table td:nth-child(1){width:110px;min-width:110px}.detail-table th:nth-child(2),.detail-table td:nth-child(2){width:95px;min-width:95px}.detail-table th:nth-child(3),.detail-table td:nth-child(3){width:75px;min-width:75px}.detail-table th:nth-child(4),.detail-table td:nth-child(4){width:65px;min-width:65px}.detail-table th:nth-child(5),.detail-table td:nth-child(5){width:85px;min-width:85px}.detail-table th:nth-child(6),.detail-table td:nth-child(6){width:auto;min-width:200px}.detail-table .order-id{font-family:monospace;font-size:var(--font-size-xs);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium)}.fine-codes-cell{font-family:monospace;font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding-left:var(--spacing-3)}.no-records{text-align:center;padding:var(--spacing-6);color:var(--text-muted)}.initial-stock-form{display:flex;flex-direction:column;gap:var(--spacing-3);width:100%}.initial-stock-form .form-grid-3,.initial-stock-form .form-grid-2{display:flex;flex-wrap:nowrap;gap:var(--spacing-3);align-items:flex-end}.initial-stock-form .field{display:flex;flex-direction:column;gap:6px;flex:1 1 0;min-width:0}.initial-stock-form .field-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);white-space:nowrap}.initial-stock-form .field>.form-input,.initial-stock-form .field .combo-input-wrapper{width:100%;flex:none}.initial-stock-form .field .combo-input-wrapper .form-input{width:100%}.initial-stock-form .field .total-cost{flex:1 1 0;display:flex;align-items:center;min-height:34px;padding:var(--spacing-2) var(--spacing-3);background:var(--primary-bg, #eef2ff);border-radius:var(--radius-md, 6px);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary-color)}.initial-stock-form .fine-code-region{display:flex;flex-direction:column;gap:6px}.form-input,.form-select,.form-textarea{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--bg-base);color:var(--text-primary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.form-select:disabled{background:var(--bg-surface);color:var(--text-muted);cursor:not-allowed}.form-textarea{resize:vertical;min-height:60px}.input-with-unit{display:flex;align-items:center;gap:var(--spacing-2);flex:1}.input-with-unit .form-input{flex:1}.input-with-unit .unit{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap}.color-display{flex:1;padding:var(--spacing-2) var(--spacing-3);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-primary)}.total-cost{flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary-color)}.record-card.initial-stock{border-left:3px solid var(--info-color)}.record-card.initial-stock .record-header{background:var(--info-bg)}.record-remark{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.record-cost{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--success-color);background:var(--success-bg);padding:2px 8px;border-radius:var(--radius-sm)}.fine-code-section{align-items:flex-start!important}.fine-code-section label{margin-top:var(--spacing-2)}.fine-code-table-wrapper{flex:1;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-3);background:var(--bg-surface)}.fine-code-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.fine-code-table th,.fine-code-table td{padding:var(--spacing-2);text-align:center;border-bottom:1px solid var(--border-light)}.fine-code-table th{background:var(--bg-base);font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-xs)}.fine-code-table td{color:var(--text-primary)}.fine-code-table tbody tr:hover{background:var(--bg-hover)}.fine-code-input{width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center}.fine-code-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg)}.btn-delete-row{padding:4px 8px;background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.btn-delete-row:hover{background:var(--error-color);color:#fff}.fine-code-actions{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--border-light)}.btn-add-row{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);background:var(--primary-bg);color:var(--primary-color);border:1px dashed var(--primary-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.no-fine-codes{text-align:center;padding:var(--spacing-4);color:var(--text-muted);font-size:var(--font-size-sm);background:var(--bg-base);border-radius:var(--radius-sm);border:1px dashed var(--border-color)}.fine-code-summary{margin-top:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background:var(--bg-base);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:right}.fine-code-summary strong{color:var(--primary-color);font-weight:var(--font-weight-semibold)}.spreadsheet-actions{display:flex;justify-content:center;padding:8px 0}.fine-codes-stats{display:flex;gap:10px;padding:6px 0 0;font-size:13px;color:#666}.fine-codes-stats b{color:#333}.combo-input-wrapper{position:relative;flex:1}.combo-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color, #ddd);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:1000;max-height:240px;overflow-y:auto}.combo-dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px;color:#333;border-bottom:1px solid #f0f0f0}.combo-dropdown-item:hover{background:#f5f5ff}.combo-dropdown-item.new-item{color:#6366f1;font-weight:500}.combo-dropdown-item.new-item:hover{background:#eef2ff}.cut-alloc-tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 8px;background:#fef3c7;color:#b45309;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s;border:1px solid #fde68a}.cut-alloc-tag:hover{background:#fde68a;border-color:#f59e0b;box-shadow:0 1px 3px #0000001a}.cut-alloc-modal{width:520px!important;max-height:600px;display:flex;flex-direction:column}.cut-alloc-summary{padding:8px 12px;background:#fef3c7;border-bottom:1px solid #fde68a;font-size:14px;color:#92400e}.cut-alloc-summary strong{font-size:18px;color:#b45309;margin:0 4px}.cut-alloc-summary span{margin-right:8px}.cut-alloc-body{flex:1;overflow-y:auto;padding:8px 12px}.cut-alloc-label{font-size:13px;font-weight:600;color:#374151;margin-bottom:10px}.cut-alloc-empty{text-align:center;padding:20px;color:#9ca3af;font-size:14px}.cut-alloc-codes{display:flex;flex-direction:column;gap:6px}.cut-alloc-code{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.cut-alloc-code:hover{background:#f3f4f6}.cut-alloc-code.checked{background:#eff6ff;border-color:#93c5fd}.cut-alloc-code.existing-checked{background:#f0fdf4;border-color:#86efac}.cut-alloc-code.existing-unchecked{background:#fef2f2;border-color:#fca5a5}.cut-alloc-code input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.cut-alloc-code-val{font-family:monospace;font-size:15px;font-weight:700;color:#1f2937;min-width:50px}.cut-alloc-code-remaining{font-size:12px;color:#6b7280}.cut-alloc-code-remaining b{color:#059669;font-weight:700}.cut-alloc-cut-label{font-size:12px;color:#6b7280;margin-left:auto}.cut-alloc-cut-input{width:72px;padding:3px 6px;text-align:center;border:1px solid #d1d5db;border-radius:4px;font-size:13px;font-weight:600;color:#1f2937}.cut-alloc-cut-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.cut-alloc-after{font-size:12px;color:#6b7280;min-width:55px;text-align:right}.cut-alloc-after .done{color:#9ca3af}.cut-alloc-after-placeholder{font-size:12px;color:#9ca3af;margin-left:auto}.cut-alloc-footer{padding:8px 12px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.cut-alloc-total{font-size:13px;color:#6b7280}.cut-alloc-total b{color:#1f2937;font-weight:700}.cut-alloc-actions{display:flex;gap:8px}@media (max-width: 640px){.inv-stats-grid{grid-template-columns:repeat(2,1fr)}.inv-record-top{flex-direction:column;align-items:flex-start}.inv-record-progress{width:100%;justify-content:flex-end}}.tabs-bar{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-2)}.tab-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border:none;background:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-btn.active{background:var(--primary-bg);color:var(--primary-color)}.print-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:10000;display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:20px}.print-toolbar{display:flex;gap:12px;margin-bottom:16px;z-index:10001}.print-btn{padding:10px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;background:var(--primary-color);color:#fff}.print-btn:hover{opacity:.9}.print-btn.close{background:#6b7280}.sales-order-preview{width:794px;min-height:auto;background:#fff;padding:30px 25px;font-family:SimHei,黑体,Microsoft YaHei,sans-serif;font-size:12px;color:#000;font-weight:500;box-sizing:border-box;box-shadow:0 4px 20px #0000004d;margin-bottom:20px;overflow:visible}.drag-hint{margin-bottom:16px;text-align:center;position:relative}.drag-image{width:210mm;max-width:95vw;height:auto;border:2px dashed var(--primary-color);border-radius:8px;cursor:grab;box-shadow:0 4px 20px #0003;transition:transform .2s,box-shadow .2s}.drag-image:hover{box-shadow:0 6px 30px #0000004d;border-color:#e65100}.drag-image:active{cursor:grabbing;opacity:.8}.drag-tip{margin-top:8px;font-size:16px;color:var(--primary-color);font-weight:700;animation:bounce 1.5s infinite}.sales-order{width:210mm;min-height:297mm;background:#fff;padding:15mm 12mm;box-shadow:0 4px 20px #0000004d;font-family:Microsoft YaHei,SimSun,sans-serif;font-size:12px;color:#1a1a1a;box-sizing:border-box}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:10px;border-bottom:3px double #1a1a1a}.company-name{font-size:22px;font-weight:800;color:#1a1a1a;letter-spacing:4px;margin:0}.company-phone{font-size:11px;color:#666;margin-top:4px}.order-title{font-size:24px;font-weight:800;color:#1a1a1a;letter-spacing:12px;margin:0;padding:4px 16px;border:2px solid #1a1a1a}.order-header-new{margin-bottom:15px;border-bottom:2px solid #000;padding-bottom:10px}.order-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.company-info-new{flex:1}.company-address,.company-contact{font-size:11px;color:#000;line-height:1.5}.order-title-center{font-size:20px;font-weight:700;color:#000;text-align:center;margin-bottom:10px;letter-spacing:2px}.order-header-bottom{display:flex;justify-content:space-between;font-size:12px;color:#000}.header-info-item{font-weight:500}.order-info-bar{display:flex;gap:40px;padding:10px 0;border-bottom:2px solid #1a1a1a;margin-bottom:12px}.summary-section{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:8px 12px;margin-bottom:12px}.summary-section-title{font-weight:700;font-size:13px;color:#333;margin-bottom:8px;padding-bottom:4px;border-bottom:1px dashed #ccc}.summary-product-row{display:flex;align-items:center;padding:4px 0;font-size:12px;color:#333}.summary-product-row.cutfee{color:#b8860b;font-weight:600}.summary-product-row.deposit-row{padding:4px 0}.summary-product-row.deposit-row .summary-product-name{color:#333;font-weight:600}.summary-product-row.deposit-row .deposit-amount{color:#c62828;font-weight:600}.summary-product-name{width:130px;font-weight:600;flex-shrink:0;white-space:nowrap}.summary-product-pieces{width:45px;text-align:right;flex-shrink:0;color:#666;font-size:12px}.summary-product-meters,.summary-product-unitprice{width:70px;text-align:right;flex-shrink:0;color:#666;font-size:12px}.summary-product-amount{width:90px;text-align:right;font-weight:600;flex-shrink:0}.order-info-bar .info-item{display:flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap}.order-info-bar .label{color:#333;font-weight:600}.order-info-bar .value{font-weight:700;color:#1a1a1a}.order-table{width:100%;border-collapse:collapse;margin-bottom:10px;table-layout:fixed;font-size:11px}.order-table th{background:#f5f5f5;border:1px solid #999;padding:6px 4px;font-size:11px;font-weight:700;text-align:center;color:#000}.order-table td{border:1px solid #999;padding:4px 3px;font-size:11px;color:#000;font-weight:500;vertical-align:middle;overflow:visible;white-space:nowrap}.order-table tbody tr:nth-child(2n){background:#f9f9f9}.order-table .center{text-align:center}.order-table .col-product{width:80px;min-width:80px;white-space:normal;word-break:break-all;font-size:11px}.order-table .col-spec{width:90px;min-width:90px;font-size:11px}.order-table .col-code{width:32px;min-width:32px;padding:4px 2px;font-size:10px}.order-table .col-pieces{width:38px;min-width:38px}.order-table .col-meters{width:48px;min-width:48px}.order-table .col-price{width:50px;min-width:50px}.order-table .col-amount{width:65px;min-width:65px}.code-cell{text-align:center;font-family:SimHei,黑体,Microsoft YaHei,sans-serif;font-size:10px;font-weight:500;padding:3px 1px;border-left:1px solid #ddd}.code-cell.cut{color:#b8860b;font-weight:600}.cut-fee-row{background:#fff8e1!important}.cut-fee-row td{border-top:1px dashed #f0c040}.cut-fee-label{text-align:right;padding-right:20px;color:#b8860b;font-weight:600;font-size:11px}.cut-label{color:#b8860b;font-weight:600;font-size:11px;text-align:center}.cut-fee-amount{text-align:right;padding-right:12px;color:#b8860b;font-weight:700;font-size:12px}.amount-cell{text-align:right;font-weight:600;color:#1a1a1a}.summary-total-row{background:#e8e8e8;margin:0 -12px -8px;padding:12px;border-radius:0 0 4px 4px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;font-size:13px;color:#333;border-top:2px solid #ccc}.summary-total-left{white-space:nowrap}.summary-total-left b{font-weight:700}.summary-total-right{display:flex;align-items:center;gap:20px}.summary-total-tax{font-size:11px;color:#000;font-weight:500;white-space:nowrap}.summary-total-amount{color:#000;font-weight:700;font-size:16px;white-space:nowrap}.summary-total-amount b{font-size:18px}.summary-total-chinese{font-family:inherit;font-size:16px;font-weight:700;color:#000;white-space:nowrap}.summary-calc{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.summary-calc .calc-line{font-size:13px;color:#333;white-space:nowrap}.summary-calc .calc-line.deposit{color:#666}.summary-calc .calc-line.final{color:#000;font-size:15px}.summary-calc .calc-line.final b{font-size:17px;color:#c62828;font-weight:700}.summary-tax-row{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:8px 12px;margin:8px -12px 0;background:#f0f0f0;border-top:1px dashed #ccc;font-size:12px;color:#333}.summary-tax-item{font-size:11px;color:#000;font-weight:500;white-space:nowrap}.summary-payment-row{display:flex;align-items:center;justify-content:flex-end;gap:30px;padding:10px 12px;margin:8px -12px 0;background:#fff3e0;border-top:1px dashed #ccc;font-size:13px;color:#333}.summary-payment-row .payment-item{font-weight:500}.summary-payment-row .payment-item b{font-weight:700}.summary-payment-row .remaining,.summary-payment-row .remaining b{color:#e65100}.summary-payment-row .overpaid,.summary-payment-row .overpaid b{color:#2e7d32}.order-contact-info{display:flex;justify-content:space-between;font-size:11px;color:#000;font-weight:500;margin-bottom:15px}.order-footer{margin-top:24px}.footer-row{display:flex;gap:60px;margin-bottom:16px}.footer-item{display:flex;align-items:center;gap:10px;flex:1}.footer-label{font-size:13px;color:#333;font-weight:600;white-space:nowrap}.footer-line{flex:1;border-bottom:1px solid #333;height:1px;min-width:80px}.order-remark{padding:8px 0;font-size:12px;color:#333;border-top:1px dashed #ccc;margin-top:12px}.remark-label{color:#666;font-weight:600}.remark-value{color:#1a1a1a}.order-notice{margin-top:10px}.order-notice p{margin:0;font-size:11px;color:#000;font-weight:500}.external-items-section{margin-top:12px}.external-items-title{font-size:14px;font-weight:700;color:#000;margin-bottom:8px;padding:4px 0;border-bottom:1px solid #333}.external-table{margin-bottom:0}.external-table th{font-size:12px}.external-table td{font-size:12px;padding:4px 6px}@media print{body>*:not(.print-container){display:none!important}.print-toolbar,.drag-hint{display:none!important}.print-container{position:static;background:none;padding:0;overflow:visible}.sales-order-preview{width:100%;min-height:auto;padding:10mm 8mm;box-shadow:none;margin:0}@page{size:A4;margin:5mm}}.payment-qrcode-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 20px;margin:0 0 20px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;text-align:center}.payment-layout{display:flex;align-items:stretch;justify-content:center;gap:0;width:100%}.payment-left{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex-shrink:0;width:50%;padding:0 25px}.payment-right{flex:1;text-align:left;min-width:0;width:50%;padding:0 25px;border-left:1px solid #ddd}.payment-section-title{font-size:13px;color:#333;margin-bottom:15px;text-align:center}.payment-qrcode-img{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:#fff;margin-bottom:10px;overflow:hidden}.payment-qrcode-img img{width:100%;height:100%;object-fit:contain}.payment-qrcode-info{margin-bottom:4px}.payment-amount{font-size:13px;color:#333}.payment-note{display:block;font-size:11px;color:#999;margin-top:2px}.payment-hint{font-size:18px;font-weight:700;color:#e53935;letter-spacing:2px}.payment-accounts-list{margin-top:12px;padding-top:12px;border-top:1px dashed #ddd}.payment-account-card{margin-bottom:10px;font-size:12px;line-height:1.7}.payment-account-card:last-child{margin-bottom:0}.payment-account-item{color:#333}.payment-account-label{color:#999}.payment-account-num{font-family:monospace}.order-create-inline-row{display:flex;align-items:center;flex-wrap:wrap}@media (max-width: 640px){.order-create-customer-row{flex-direction:column;align-items:stretch}.order-create-customer-row>.order-create-field{flex-direction:column;align-items:flex-start;width:100%}.order-create-customer-row>.order-create-field input,.order-create-customer-row>.order-create-field select{width:100%}.order-create-inline-row{flex-direction:column;align-items:flex-start!important}.order-create-section .form-row{grid-template-columns:1fr}.order-create-section .form-row>div{min-width:0}}.order-total-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 0;border-top:1px solid var(--border, #e0e0e0)}.order-create-modal{padding:0}.order-create-modal .form{display:flex;flex-direction:column;gap:0}.order-create-section{padding:5px 10px;border-bottom:1px solid #f0f2f5}.order-create-section:last-of-type{border-bottom:none}.order-create-customer-row{display:flex;align-items:center;gap:10px}.order-create-field{display:flex;align-items:center;gap:4px}.order-create-field label{font-size:12px;font-weight:500;color:#555;white-space:nowrap}.order-create-field .customer-input-wrapper,.order-create-field input,.order-create-field select{width:100%}.contract-source-tag{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:var(--ps-primary-light, #ccfbf1);border-radius:6px;font-size:12px;font-weight:500;color:var(--ps-primary, #0f766e);width:fit-content}.order-create-items{background:#f8f9fc;border-radius:6px;padding:8px}.order-create-items>:last-child{margin-bottom:0}.order-create-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.order-create-summary-row{flex-wrap:nowrap;gap:6px 6px;overflow-x:auto;padding-bottom:2px}.row-separator{width:1px;height:24px;background:#e2e6ed;flex-shrink:0;margin:0 2px}.order-create-total.row{display:flex;align-items:center;gap:3px;border:none;padding:2px 4px;margin:0;background:none;flex-shrink:0;white-space:nowrap;flex-wrap:nowrap}.order-create-total.row .order-create-total-label{font-size:13px;color:#64748b;white-space:nowrap}.order-create-total.row .order-create-total-value{font-size:17px;font-weight:700;color:#059669;white-space:nowrap}.order-create-total.row .order-create-total-suffix{font-size:12px;color:#94a3b8;white-space:nowrap}.order-actual-paid-input{width:120px;text-align:right;font-weight:700;font-size:15px;border:1px solid #6366f1;padding:3px 8px;border-radius:6px;outline:none;transition:box-shadow .15s;background:#fff}.order-actual-paid-input:focus{box-shadow:0 0 0 3px #6366f126}.row-hint{align-self:center;font-size:11px;color:#9ca3af;background:#f3f4f6;padding:2px 6px;border-radius:4px;flex-shrink:0}.order-create-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;flex:1}.order-create-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--ps-text, #1e293b);padding:4px 10px;border-radius:6px;transition:background .15s;-webkit-user-select:none;user-select:none;flex-shrink:0;white-space:nowrap}.order-create-toggle:hover{background:#f0f2f5}.order-create-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--ps-primary, #0f766e);cursor:pointer;margin:0}.order-create-toggle-value{display:flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap}.order-create-toggle-value input{width:60px;padding:4px 8px;border:1px solid var(--ps-border, #e2e6ed);border-radius:4px;font-size:12px;outline:none;transition:border-color .2s}.order-create-toggle-value input:focus{border-color:var(--ps-primary, #0f766e);box-shadow:0 0 0 2px #0f766e1a}.order-create-toggle-value span{font-size:12px;color:var(--ps-text-secondary, #64748b)}.order-create-total{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ps-primary-dark, #134e4a);border-radius:8px;margin-left:auto;flex-shrink:0}.order-create-total-label{font-size:12px;color:#ffffffb3;font-weight:500}.order-create-total-value{font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.order-create-total-suffix{font-size:12px;color:#ffffff80}.order-create-total-hint{font-size:11px;color:var(--ps-text-muted, #94a3b8);margin-left:4px}.order-create-vat{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:8px}.order-create-vat-label{font-size:12px;font-weight:500;color:#92400e;display:flex;align-items:center;gap:4px}.order-create-vat select,.order-create-vat input{padding:5px 10px;border:1px solid #fde68a;border-radius:6px;font-size:12px;outline:none;background:#fff}.order-create-vat select:focus,.order-create-vat input:focus{border-color:#d97706;box-shadow:0 0 0 2px #d9770626}.order-create-remark{padding:0}.order-create-remark input{width:100%;padding:4px 8px;font-size:12px}.order-create-footer{display:flex;justify-content:flex-end;gap:6px;padding:8px 10px;border-top:1px solid #f0f2f5;background:#fafbfc}.btn-add-item{margin-top:6px}.order-create-receipt-qr{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:6px}.order-create-receipt-qr img{width:48px;height:48px;border-radius:6px;object-fit:cover}.order-create-receipt-qr .qr-info{font-size:12px;color:#166534}.add-row-btn-inline{cursor:pointer!important;color:#0f766e!important;font-weight:700!important;font-size:15px!important;display:flex!important;align-items:center;justify-content:center;background:#f0fdf4!important;-webkit-user-select:none;user-select:none;transition:background .15s;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;min-height:28px}.payment-records-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.payment-records-modal-content{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:90%;max-width:550px;max-height:80vh;overflow-y:auto}.payment-records-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color)}.payment-records-modal-header h3{margin:0;font-size:16px;font-weight:600}.payment-records-modal-header .modal-close{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s}.payment-records-modal-header .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.payment-records-modal-body{padding:14px 16px}.ship-modal-body{display:flex;gap:12px;padding:14px 16px;min-height:300px}.ship-customer-panel{width:120px;flex-shrink:0;background:var(--bg-surface);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:12px}.ship-info-item{display:flex;flex-direction:column;gap:4px}.ship-info-label{font-size:12px;color:var(--text-muted)}.ship-info-value{font-size:14px;font-weight:500;color:var(--text-primary);word-break:break-all}.ship-form-panel{flex:1;display:flex;flex-direction:column;gap:10px}.ship-section{display:flex;flex-direction:column;gap:6px}.ship-section-title{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.ship-method-list{display:flex;gap:8px;flex-wrap:wrap}.ship-method-item{display:flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:13px;background:var(--bg-base);transition:all .2s}.ship-method-item:hover{border-color:var(--primary-color)}.ship-method-item.active{background:var(--primary-bg);border-color:var(--primary-color);color:var(--primary-color)}.ship-method-item input{display:none}.ship-logistics-section{background:var(--bg-surface);padding:12px;border-radius:var(--radius-md);gap:12px}.ship-field-row{display:flex;gap:8px}.ship-field{flex:1;display:flex;flex-direction:column;gap:4px}.ship-field label{font-size:12px;color:var(--text-secondary)}.ship-field input{padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;transition:all .2s}.ship-field input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg)}.ship-field-small{flex:0 0 100px}.ship-field-radio{flex:1}.ship-field-full{width:100%}.ship-radio-list{display:flex;gap:16px;padding:8px 0}.ship-radio-list label{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.ship-radio-list input{cursor:pointer}.ship-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid var(--border-light)}.trash-modal-content{padding:var(--spacing-4);max-height:60vh;overflow-y:auto}.trash-modal-content .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-10);color:var(--text-muted);gap:var(--spacing-4)}.trash-modal-content .data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.trash-modal-content .data-table th{background:var(--bg-surface);padding:var(--spacing-3);text-align:left;font-weight:var(--font-weight-medium);color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.trash-modal-content .data-table td{padding:var(--spacing-3);border-bottom:1px solid var(--border-light);color:var(--text-primary)}.trash-modal-content .product-cell{display:flex;flex-direction:column;gap:2px}.trash-modal-content .product-name{font-weight:var(--font-weight-medium)}.trash-modal-content .product-spec{font-size:var(--font-size-xs);color:var(--text-muted)}.trash-modal-content .actions-cell{display:flex;gap:var(--spacing-2)}.action-btn.restore{background:var(--success-bg);color:var(--success-color)}.action-btn.restore:hover{background:var(--success-color);color:#fff}.codes-selection{margin-top:8px;width:100%}.codes-selection.form-group-inline{display:block!important}.codes-list-with-cut{max-height:500px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:8px;width:100%}.production-group{margin-bottom:12px}.production-group:last-child{margin-bottom:0}.production-group-header{display:flex;align-items:center;gap:12px;padding:6px 10px;background:var(--bg-surface);border-radius:var(--radius-sm);margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.group-select-all{display:flex;align-items:center;cursor:pointer;padding:2px}.group-select-all input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.group-id{font-weight:600;color:var(--primary-color)}.group-date,.group-creator{color:var(--text-muted)}.group-summary{margin-left:auto;font-weight:500;color:var(--text-secondary)}.group-codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px;width:100%}.code-item-row{display:flex;flex-direction:row;align-items:center;padding:4px 6px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-base);cursor:pointer;transition:all .15s;font-size:12px;height:28px;box-sizing:border-box;overflow:hidden}.code-item-row .code-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.code-item-row .code-clickable:hover{opacity:.8}.code-item-row:hover{border-color:var(--primary-color);background:var(--primary-bg)}.code-item-row.selected{border-color:var(--primary-color);background:var(--primary-bg);box-shadow:0 0 0 1px var(--primary-color)}.code-item-row.cut-sample{background:#fff8e1}.code-item-row.cut-sample.selected{background:linear-gradient(135deg,#fff3e0,#ffe0b2);box-shadow:0 0 0 2px #ff9800,0 2px 4px #ff98004d;border-color:#ff9800}.code-item-row.cut-sample.selected .code-value{color:#e65100;font-weight:600}.code-checkbox{display:flex;align-items:center;gap:4px;width:100%}.code-checkbox input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--primary-color);flex-shrink:0}.code-value{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.cut-sample-tag{display:inline-block;padding:0 3px;font-size:9px;background:#fff3e0;color:#e65100;border-radius:2px;margin-left:2px;flex-shrink:0}.return-history-tag{display:inline-block;padding:0 4px;font-size:9px;background:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:2px;margin-left:2px;flex-shrink:0}.code-item-row.has-return-history{background:#fffdf5;border-left:2px solid #ffc107}.cut-sample-actions{display:flex;flex-direction:column;gap:8px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:10px}.cut-sample-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:#fff3e0;border:1px solid #ff9800;border-radius:var(--radius-sm);color:#e65100;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;align-self:flex-start}.cut-sample-btn:hover{background:#ffe0b2;box-shadow:0 1px 3px #ff98004d}.cut-sample-panel{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff8e1;border:1px solid #ffcc80;border-radius:var(--radius-sm);flex-wrap:wrap}.cut-sample-label{font-size:12px;color:#e65100;font-weight:500}.cut-sample-select{padding:3px 6px;border:1px solid var(--border-color);border-radius:3px;font-size:12px;background:var(--bg-base);min-width:100px}.cut-sample-select:focus{outline:none;border-color:#ff9800}.cut-sample-input{width:60px;padding:3px 6px;border:1px solid var(--border-color);border-radius:3px;font-size:12px;text-align:center}.cut-sample-input:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 2px #ff980033}.cut-sample-unit{font-size:11px;color:var(--text-muted)}.cut-sample-cancel{padding:3px 8px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:3px;font-size:11px;color:var(--text-secondary);cursor:pointer;margin-left:4px}.cut-sample-cancel:hover{background:var(--bg-hover);border-color:var(--border-dark)}.cut-sample-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:6px;border-top:1px dashed var(--border-light)}.cut-sample-list-title{font-size:11px;color:var(--text-muted)}.cut-sample-tag-item{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;background:#fff3e0;border:1px solid #ffcc80;border-radius:3px;font-size:11px;color:#e65100}.cut-sample-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin-left:2px;background:none;border:none;color:#e65100;font-size:12px;cursor:pointer;border-radius:2px}.cut-sample-remove:hover{background:#ffe0b2}.cut-sample-btn-inline{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;margin-left:12px;background:#fff3e0;border:1px solid #ff9800;border-radius:var(--radius-sm);color:#e65100;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.cut-sample-btn-inline:hover{background:#ffe0b2;box-shadow:0 1px 3px #ff98004d}.cut-sample-panel-inline{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 6px;background:#fff8e1;border:1px solid #ffcc80;border-radius:var(--radius-sm)}.cut-sample-panel-inline .cut-sample-select{padding:2px 4px;border:1px solid var(--border-color);border-radius:3px;font-size:11px;background:var(--bg-base);min-width:80px}.cut-sample-panel-inline .cut-sample-input{width:50px;padding:2px 4px;border:1px solid var(--border-color);border-radius:3px;font-size:11px;text-align:center}.cut-sample-cancel-inline{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:none;border:none;color:#999;font-size:14px;cursor:pointer;border-radius:2px}.cut-sample-cancel-inline:hover{background:#ffe0b2;color:#e65100}.code-value-editable{display:inline-flex!important;align-items:center;gap:2px}.code-meters-input{width:58px!important;height:24px!important;padding:1px 4px!important;border:1px solid #93c5fd!important;border-radius:4px!important;background:#fff!important;font-size:13px!important;font-weight:600!important;text-align:center!important;color:#1e40af!important;outline:none!important;box-shadow:0 0 0 1px #bfdbfe!important}.code-meters-input:focus{border-color:#2563eb!important;box-shadow:0 0 0 2px #93c5fd!important}.code-meters-unit{font-size:12px;color:#6b7280;font-weight:500}.code-meters-original{font-size:11px;color:#9ca3af;font-weight:400}.cut-sample-list-inline{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border-light)}.stock-summary-row{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:4px}.stock-summary-row .form-group-inline{min-width:0}.total-display{display:flex;align-items:center;gap:2px;white-space:nowrap;font-size:14px;font-weight:600;color:#059669;min-height:36px;padding:0 4px}.form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:4px}.form .form-row-header{display:flex;flex-wrap:nowrap;gap:4px}.form .form-row-header .form-group-inline{flex:1;min-width:0}.form .form-group-inline,.order-item-form .form-group-inline{display:flex!important;flex-direction:row!important;align-items:center!important;gap:2px}.form .form-group-inline label,.order-item-form .form-group-inline label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;margin:0!important;padding:0!important;min-width:0!important}.form .form-group-inline .inline-input,.order-item-form .form-group-inline .inline-input{flex:1;padding:4px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;min-width:0}.form .form-group-inline .inline-input:focus,.order-item-form .form-group-inline .inline-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg)}.customer-input-group{display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px}.customer-input-wrapper{position:relative;flex:1;min-width:0}.customer-input-wrapper .inline-input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;box-sizing:border-box}.customer-input-wrapper .inline-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg)}.customer-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;z-index:100;max-height:200px;overflow-y:auto;margin-top:2px}.customer-dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text-primary)}.customer-dropdown-item:hover{background:var(--primary-bg);color:var(--primary-color)}.customer-dropdown-hint{padding:8px 12px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border-light)}.new-customer-tag{font-size:11px;padding:2px 6px;background:#e8f5e9;color:#2e7d32;border-radius:3px;white-space:nowrap;flex-shrink:0}.combo-input-wrapper{position:relative;flex:1;min-width:0}.combo-input-wrapper .combo-input{width:100%;padding:4px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;box-sizing:border-box}.combo-input-wrapper .combo-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg)}.combo-dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center}.combo-stock-info{font-size:11px;color:var(--text-muted);flex-shrink:0;margin-left:8px}.table-container .data-table th{text-align:left}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.customer-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.tax-label{font-size:10px;color:var(--text-muted);margin-left:2px}.actions-cell{white-space:nowrap;display:flex;gap:2px;align-items:center}.actions-cell .action-btn{width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s;padding:0;flex-shrink:0}.actions-cell .action-btn:hover{background:var(--primary-alpha);color:var(--primary-color)}.actions-cell .action-btn.delete:hover{background:#fef2f2;color:var(--error-color);border-color:var(--error-color)}.actions-cell .action-btn.restore:hover{background:#f0fdf4;color:#16a34a;border-color:#16a34a}.product-info{line-height:1.3}.product-name{font-size:13px;font-weight:500}.sub-product-info{font-size:11px;color:var(--text-muted)}.column-settings{padding:16px}.column-settings-hint{font-size:13px;color:var(--text-muted);margin-bottom:12px}.column-settings-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.column-settings-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.column-settings-item:hover{background:var(--primary-bg)}.column-settings-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.column-settings-item span{font-size:13px;color:var(--text-primary)}.column-settings-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border-light)}.payment-record-edit{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-surface);border-radius:var(--radius-sm)}.payment-record-edit .edit-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.payment-record-edit input[type=date],.payment-record-edit input[type=number],.payment-record-edit select{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;background:#fff}.payment-record-edit input[type=date]{width:130px}.payment-record-edit input[type=number]{width:80px}.payment-record-edit select{width:100px}.payment-record-edit .edit-type-select{width:90px}.payment-record-edit .edit-method-select{width:100px}.payment-record-edit .edit-remark-input{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px}.payment-record-edit .edit-actions{display:flex;gap:8px;justify-content:flex-end}.payment-records-list{display:flex;flex-direction:column;gap:8px}.payment-record-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-hover);border-radius:var(--radius-md);border:1px solid var(--border-color)}.payment-record-item.refund-row{background:#fef2f2;border-color:#fecaca}.payment-record-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1}.payment-record-info .payment-date{font-size:13px;color:var(--text-secondary);min-width:90px}.payment-record-info .payment-type-tag{font-size:12px;padding:2px 8px;background:var(--primary-color);color:#fff;border-radius:var(--radius-sm)}.payment-record-info .payment-amount{font-size:14px;font-weight:600;color:var(--success-color)}.payment-record-info .payment-amount.refund-amount{color:#ef4444}.payment-record-info .payment-method{font-size:13px;color:var(--text-secondary)}.payment-record-info .payment-remark,.payment-record-info .payment-by{font-size:12px;color:var(--text-muted)}.payment-record-actions{display:flex;gap:8px;align-items:center}.payment-record-actions button{padding:4px 8px;border:1px solid var(--border-color);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px;transition:all .2s}.payment-record-actions button:hover{background:var(--bg-hover)}.payment-record-actions .btn-edit-record{color:var(--primary-color);border-color:var(--primary-color)}.payment-record-actions .btn-edit-record:hover{background:var(--primary-color);color:#fff}.payment-record-actions .btn-delete-record{color:var(--error-color);border-color:var(--error-color)}.payment-record-actions .btn-delete-record:hover{background:var(--error-color);color:#fff}.payment-record-actions .refund-btn{color:#f59e0b;border-color:#f59e0b}.payment-record-actions .refund-btn:hover{background:#f59e0b;color:#fff}.order-detail-view .summary-section{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:8px 12px;margin-bottom:12px}.order-detail-view .summary-section-title{font-weight:700;font-size:13px;color:#333;margin-bottom:8px;padding-bottom:4px;border-bottom:1px dashed #ccc}.order-detail-view .summary-product-row{display:flex;align-items:center;padding:4px 0;font-size:12px;color:#333}.order-detail-view .summary-product-row.cutfee{color:#b8860b;font-weight:600}.order-detail-view .summary-product-name{width:130px;font-weight:600;flex-shrink:0;white-space:nowrap}.order-detail-view .summary-product-pieces{width:45px;text-align:right;flex-shrink:0;color:#666;font-size:12px}.order-detail-view .summary-product-meters,.order-detail-view .summary-product-unitprice{width:70px;text-align:right;flex-shrink:0;color:#666;font-size:12px}.order-detail-view .summary-product-amount{width:90px;text-align:right;font-weight:600}.order-detail-view .summary-total-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:2px solid #333;font-size:13px;font-weight:700}.order-detail-view .summary-total-row span:last-child{text-align:right}.return-order-info{padding:8px 14px;background:var(--bg-surface);border-radius:var(--radius-md);margin-bottom:10px}.return-order-info .info-row{display:flex;align-items:center;gap:8px}.return-order-info .info-label{font-size:13px;color:var(--text-secondary)}.return-order-info .info-value{font-size:14px;font-weight:500;color:var(--text-primary)}.return-items-section{margin-bottom:10px}.return-items-section .section-label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.return-product-group{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden}.return-product-group:last-child{margin-bottom:0}.return-product-header{background:var(--bg-surface);padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.return-product-header input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.return-product-header .product-name{font-weight:600;color:var(--text-primary);font-size:14px}.return-product-header .product-spec{font-size:12px;color:var(--text-secondary);padding:2px 8px;background:var(--bg-hover);border-radius:var(--radius-sm)}.return-product-header .product-price{font-size:13px;font-weight:500;color:var(--primary-color)}.return-product-header .selected-count{margin-left:auto;font-size:12px;color:var(--error-color);font-weight:500}.return-codes-grid{padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px;background:var(--bg-base)}.return-codes-grid .no-codes{font-size:13px;color:var(--text-muted);padding:8px 0}.return-code-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;transition:all .15s}.return-code-item:hover{border-color:var(--primary-color);background:var(--primary-bg)}.return-code-item.selected{border-color:var(--error-color);background:#fef2f2}.return-code-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--error-color)}.return-code-item .code-meters{font-weight:500;font-size:13px;color:var(--text-primary);min-width:50px}.return-code-item.selected .code-meters{color:var(--error-color)}.return-code-item .code-remark{width:100px;padding:4px 8px;border:1px solid var(--border-light);border-radius:4px;font-size:12px;color:var(--text-primary);background:#fff}.return-code-item .code-remark:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg)}.return-code-item .code-remark::placeholder{color:var(--text-muted)}.return-code-item.disabled{opacity:.6;background:#f5f5f5;border-color:#ddd}.return-code-item.disabled .code-meters{color:var(--text-muted)}.code-returned-tag{font-size:12px;color:#999;flex:1}.return-summary{display:flex;gap:16px;padding:8px 14px;background:var(--bg-surface);border-radius:var(--radius-md);margin-bottom:10px;flex-wrap:wrap}.return-summary .summary-item{display:flex;align-items:center;gap:6px}.return-summary .summary-label{font-size:13px;color:var(--text-secondary)}.return-summary .summary-value{font-size:14px;font-weight:600;color:var(--text-primary)}.return-summary .summary-value.text-danger{color:var(--error-color);font-size:16px}.return-summary .summary-value.text-success{color:var(--success-color)}.return-badge{display:inline-block;background:#fff3cd;color:#856404;padding:2px 6px;border-radius:4px;font-size:11px;margin-left:4px}.return-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px}.return-status-badge.pending_inspect{background:#fff3cd;color:#856404}.return-status-badge.stocked_in{background:#d1ecf1;color:#0c5460}.return-status-badge.refunded{background:#d4edda;color:#155724}.return-status-badge.completed{background:#e2e3e5;color:#383d41}.detail-table button{padding:4px 10px;border:1px solid var(--primary-color);background:#fff;color:var(--primary-color);border-radius:4px;cursor:pointer;font-size:12px}.detail-table button:hover{background:var(--primary-color);color:#fff}.return-info{font-size:11px;color:#e74c3c;margin-left:4px}tr.has-return{background:#fffdf5}.return-detail-row{background:#fef9f0}.return-detail-row td{padding:0!important}.return-codes-detail{padding:8px 16px;display:flex;flex-wrap:wrap;gap:6px}.return-code-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px}.return-code-tag.returning{background:#fff3cd;color:#856404;border:1px solid #ffc107}.return-code-tag.returned{background:#d4edda;color:#155724;border:1px solid #28a745}.refund-row{background:#fff5f5}.refund-amount{color:#e74c3c}.refund-btn{padding:2px 8px;border:1px solid #e74c3c;background:#fff;color:#e74c3c;border-radius:4px;cursor:pointer;font-size:11px}.refund-btn:hover{background:#e74c3c;color:#fff}.payment-summary{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid #eee;margin-top:8px;font-size:13px}.payment-summary .refund{color:#e74c3c}.history-list{max-height:200px;overflow-y:auto}.history-item{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:13px}.history-date{color:var(--text-muted);white-space:nowrap;font-size:12px}.history-action{color:var(--text-primary)}.status-badge.finished{background:#e8f5e9;color:#2e7d32}.action-btn.confirm{color:#27ae60}.action-btn.confirm:hover{color:#219a52}.action-btn.finish{color:#8e44ad}.action-btn.finish:hover{color:#7d3c98}.order-detail-view{max-height:80vh;overflow-y:auto}.detail-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.detail-section-actions{display:flex;gap:8px}.detail-section-actions button{padding:4px 12px;border:1px solid var(--primary-color);background:#fff;color:var(--primary-color);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all .2s}.detail-section-actions button:hover{background:var(--primary-color);color:#fff}.detail-value.amount{color:var(--primary-color);font-size:15px;font-weight:600}.sub-status-badge{font-size:11px;color:var(--text-muted);margin-left:4px;font-weight:400}.detail-table td.center{text-align:center}.detail-table td.right{text-align:right}.status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-color)}.status-actions button{padding:6px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#fff;cursor:pointer;font-size:13px;transition:all .2s;display:flex;align-items:center;gap:4px}.status-actions button:hover{background:var(--bg-hover)}.status-actions button.primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.status-actions button.primary:hover{background:var(--primary-hover)}.status-actions button.danger{color:var(--error-color);border-color:var(--error-color)}.status-actions button.danger:hover{background:#fef2f2}.price-input-wrapper{display:flex;align-items:center;gap:6px}.price-input-wrapper .inline-input{width:80px}.price-history-badge{font-size:10px;color:#fff;background:#8b5cf6;padding:1px 6px;border-radius:8px;white-space:nowrap;cursor:help}.snapshot-toggle{font-size:11px;color:#6366f1;cursor:pointer;margin-left:8px;white-space:nowrap;-webkit-user-select:none;user-select:none}.snapshot-toggle:hover{color:#4f46e5;text-decoration:underline}.snapshot-content{margin-top:6px;padding:8px 10px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:6px;font-size:12px;width:100%;box-sizing:border-box}.snapshot-section-title{font-weight:600;color:#64748b;margin-bottom:4px;font-size:11px}.snapshot-label{font-weight:500;color:#475569;display:block;margin-bottom:4px}.snapshot-item-row{padding:2px 0 2px 12px;color:#334155;font-size:12px;line-height:1.6}.snapshot-total-row{padding:4px 0 2px 12px;color:#6366f1;font-weight:600;font-size:12px;border-top:1px dashed #E2E8F0;margin-top:2px}.snapshot-fields{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;padding-top:4px;border-top:1px solid #E2E8F0}.snapshot-field{color:#64748b;font-size:12px}.remove-code-trigger{font-size:11px;color:#ef4444;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.remove-code-trigger:hover{color:#dc2626;text-decoration:underline}.detail-edit-form{display:flex;flex-direction:column;gap:8px}.detail-edit-form .form-row{display:flex;gap:8px;align-items:center}.detail-edit-form label{font-size:12px;color:var(--text-secondary);min-width:80px;text-align:right}.detail-edit-form input,.detail-edit-form select,.detail-edit-form textarea{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px}.detail-edit-form textarea{resize:vertical;min-height:60px}.detail-footer-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--border-color);margin-top:10px}.detail-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.orders-content .filter-bar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.orders-content .filter-bar>.search-input{flex:1 1 180px;min-width:0;width:auto;margin:0}.orders-content .filter-bar>.filter-select{flex:0 0 auto;width:auto;margin:0}.orders-content .filter-bar>.toolbar-right{flex:0 0 auto;margin-left:auto;white-space:nowrap;gap:6px}.orders-content .filter-bar>.toolbar-right button,.orders-content .filter-bar>.toolbar-right .btn,.orders-content .filter-bar>.toolbar-right .Button{white-space:nowrap}.code-item-row.occupied{cursor:pointer;opacity:1;background:#fff5f5;border:1px dashed #f0c9c9}.code-item-row.occupied:hover{background:#ffecec;border-color:#e0a3a3}.code-item-row.occupied .code-value.occupied{color:#b91c1c;font-weight:500;pointer-events:none;flex:0 0 auto;width:auto}.occupied-tag{display:inline-block;padding:1px 6px;font-size:10px;font-weight:600;color:#b91c1c;background:#fee2e2;border-radius:3px;white-space:nowrap}.occupied-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:2000}.occupied-popup{width:380px;max-width:90vw;max-height:80vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 12px 32px #00000040;padding:16px 18px}.occupied-popup-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;color:#b91c1c;margin-bottom:12px}.occupied-popup-close{border:none;background:none;font-size:22px;line-height:1;color:#9ca3af;cursor:pointer}.occupied-popup-close:hover{color:#374151}.occupied-popup-empty{color:#9ca3af;font-size:13px;padding:8px 0}.occupied-popup-order{border:1px solid #f0f2f5;border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#fafbfc}.occupied-popup-field{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#374151}.occupied-popup-label{flex:0 0 64px;color:#9ca3af}.occupied-popup-field b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111827;font-weight:600}.copy-btn{flex:0 0 auto;font-size:12px;padding:2px 10px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:4px;cursor:pointer}.copy-btn:hover{background:#f3f4f6;border-color:#9ca3af}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.card-default{box-shadow:var(--shadow-sm)}.card-hoverable{box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast)}.card-hoverable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.card-stat{box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.card-stat:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--border-light);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.card-body{padding:var(--spacing-5)}.card-footer{padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--border-light);background:var(--bg-base)}.stat-card-content{display:flex;align-items:center;gap:var(--spacing-4)}.stat-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--primary-bg);color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:24px}.stat-card-info{flex:1}.stat-card-title{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-1)}.stat-card-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-card-trend{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--spacing-1)}.stat-card-trend.up{color:var(--success-color)}.stat-card-trend.down{color:var(--error-color)}.customers-page{padding:12px 16px;max-width:1400px;margin:0 auto;animation:psFadeIn .35s ease-out}.customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.customer-card{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);padding:12px 14px;transition:all .2s;cursor:pointer}.customer-card:hover{border-color:var(--ps-primary);box-shadow:0 3px 12px #0f766e0f;transform:translateY(-2px)}.customer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.customer-brand{display:flex;align-items:center;gap:8px}.customer-avatar{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.customer-meta{display:flex;flex-direction:column;gap:1px}.customer-name{font-size:14px;font-weight:600;color:var(--ps-text)}.customer-id{font-family:SF Mono,Cascadia Code,monospace;font-size:11px;color:var(--ps-text-muted)}.customer-type-tag{display:inline-block;font-size:10px;padding:1px 8px;border-radius:20px;background:var(--ps-primary-light);color:var(--ps-primary);font-weight:500;width:fit-content;margin-top:1px}.customer-actions{display:flex;gap:3px}.customer-actions button{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--ps-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.customer-actions button:hover.edit{background:var(--ps-primary-light);color:var(--ps-primary)}.customer-actions button:hover.delete{background:var(--ps-red-bg);color:var(--ps-red)}.customer-actions button:hover.view{background:var(--ps-blue-bg);color:var(--ps-blue)}.customer-info{display:flex;flex-wrap:wrap;gap:4px 10px}.customer-info-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ps-text-secondary)}.customer-info-item svg{color:var(--ps-text-muted);flex-shrink:0}.customer-remark{margin-top:6px;padding-top:6px;border-top:1px solid #f0f2f5;font-size:12px;color:var(--ps-text-muted);font-style:italic}.cd-modal{display:flex;flex-direction:column;padding:2px 0}.cd-kpi{display:flex;align-items:center;gap:0;margin-bottom:14px;padding:10px 14px;background:#f0fdf4;border-radius:10px}.cd-kpi-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.cd-kpi-label{font-size:11px;color:var(--ps-text-muted)}.cd-kpi-val{font-size:15px;font-weight:700;color:var(--ps-text)}.cd-kpi-val.green{color:var(--ps-primary)}.cd-kpi-divider{width:1px;height:30px;background:#d4e8d8;flex-shrink:0}.cd-section{padding:10px 0;border-bottom:1px solid #f0f2f5}.cd-section:last-child{border-bottom:none}.cd-section-title{font-size:13px;font-weight:600;color:var(--ps-text);margin-bottom:8px}.cd-count{font-weight:500;color:var(--ps-text-muted);font-size:12px;margin-left:4px}.cd-table{width:100%;border-collapse:collapse;font-size:12px}.cd-table th{padding:5px 8px;text-align:left;font-weight:600;font-size:11px;color:var(--ps-text-muted)}.cd-table td{padding:5px 8px;color:var(--ps-text);border-top:1px solid #f0f2f5}.cd-label,.cd-amount{color:var(--ps-primary);font-weight:600}.cd-year-tabs{display:flex;gap:6px;margin-bottom:8px}.cd-year-tab{padding:3px 14px;border:1px solid #e0e4ea;border-radius:20px;background:#fff;font-size:12px;cursor:pointer;color:var(--ps-text-secondary);transition:all .15s}.cd-year-tab.active{border-color:var(--ps-primary);background:var(--ps-primary);color:#fff;font-weight:600}.cd-year-tab:hover:not(.active){border-color:var(--ps-primary)}.cd-year-sum{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;margin-bottom:4px;background:#fafbfc;border-radius:8px;font-size:12px}.cd-month-header{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;border-radius:6px;font-size:12px;transition:background .1s}.cd-month-header:hover{background:#f8f9fc}.cd-chevron{width:14px;display:flex;align-items:center;justify-content:center;color:var(--ps-text-muted)}.cd-month-name{font-weight:600;color:var(--ps-text);min-width:30px}.cd-month-total{color:var(--ps-text-secondary);margin-left:auto}.cd-month-count{color:var(--ps-text-muted);font-size:11px;min-width:28px;text-align:right}.cd-month-body{padding:2px 0 4px 22px}.cd-day-header{display:flex;justify-content:space-between;align-items:center;padding:3px 8px;font-size:11px;color:var(--ps-text-secondary)}.cd-day-date{font-weight:600}.cd-order-row{display:flex;align-items:center;gap:8px;padding:3px 8px;font-size:11px;color:var(--ps-text-secondary)}.cd-order-id{color:var(--ps-primary);font-family:monospace;font-weight:600;min-width:60px}.cd-order-prods{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-rank-list{display:flex;flex-direction:column;gap:5px}.cd-rank-row{display:flex;align-items:center;gap:10px;padding:6px 8px;transition:background .1s}.cd-rank-row:hover{background:#f8f9fc;border-radius:6px}.cd-rank-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px;font-weight:700;color:#fff;background:var(--ps-text-muted);flex-shrink:0}.rank-1{background:#f59e0b}.rank-2{background:#94a3b8}.rank-3{background:#d97706}.cd-rank-info{flex:1;min-width:0}.cd-rank-name{display:block;font-size:13px;font-weight:600;color:var(--ps-text)}.cd-rank-spec{display:block;font-size:11px;color:var(--ps-text-muted);margin-top:1px}.cd-rank-qty{font-size:12px;color:var(--ps-text-secondary);white-space:nowrap}.cd-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cd-stat-item{text-align:center;padding:8px 4px;transition:all .1s}.cd-stat-val{font-size:18px;font-weight:700;color:var(--ps-text);margin-bottom:1px}.cd-stat-item.success .cd-stat-val{color:var(--ps-green)}.cd-stat-item.danger .cd-stat-val{color:var(--ps-red)}.cd-stat-item.primary .cd-stat-val{color:var(--ps-primary)}.cd-stat-lbl{font-size:11px;color:var(--ps-text-muted)}.cd-stat-sub{font-size:12px;color:var(--ps-text-secondary);margin-top:4px;padding:4px 0}.cd-contract-list{display:flex;flex-direction:column;gap:6px}.cd-contract-row{padding:7px 10px;transition:background .1s}.cd-contract-row:hover{background:#f8f9fc;border-radius:6px}.cd-contract-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.cd-contract-id{font-family:monospace;font-size:12px;font-weight:600;color:var(--ps-primary)}.cd-contract-btm{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ps-text-secondary)}.cd-cancel-reason{margin-top:3px;padding:3px 8px;background:#fef2f2;border-radius:4px;font-size:11px;color:var(--ps-red)}.cd-order-list{display:flex;flex-direction:column}.cd-order-list .cd-order-row{display:block;padding:8px 10px;border-bottom:1px solid #f5f5f5;transition:background .1s}.cd-order-list .cd-order-row:last-child{border-bottom:none}.cd-order-list .cd-order-row:hover{background:#f8f9fc;border-radius:6px}.cd-order-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.cd-order-info{display:flex;gap:8px;font-size:12px;color:var(--ps-text-secondary);margin-bottom:4px}.cd-order-date{color:var(--ps-text-muted);white-space:nowrap}.cd-order-btm{display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px solid #f0f2f5}.cd-order-meta{font-size:12px;color:var(--ps-text-secondary)}.cd-order-total{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:6px 10px;font-size:12px;background:#fafbfc;border-radius:8px}.cd-order-total .cd-amount{font-size:14px}.cd-empty{text-align:center;padding:20px;color:var(--ps-text-muted);font-size:13px}.cd-badge{display:inline-flex;align-items:center;padding:1px 10px;border-radius:20px;font-size:11px;font-weight:500}.cd-badge.info{background:var(--ps-blue-bg);color:var(--ps-blue)}.cd-badge.success{background:var(--ps-green-bg);color:var(--ps-green)}.cd-badge.warning{background:var(--ps-accent-bg);color:var(--ps-accent)}.cd-badge.error{background:var(--ps-red-bg);color:var(--ps-red)}.cd-badge.default{background:#f0f2f5;color:var(--ps-text-muted)}.cd-badge.processing{background:#e0f2fe;color:#0284c7}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px;margin-top:10px;border-top:1px solid #f0f2f5}.customer-form{display:flex;flex-direction:column;gap:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-group{display:flex;flex-direction:column;gap:2px}.form-group label{font-size:12px;font-weight:500;color:var(--ps-text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:5px 8px;border:1px solid var(--ps-border);border-radius:6px;font-size:13px;color:var(--ps-text);background:#fff;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a}.form-group textarea{resize:vertical;min-height:60px}@media (max-width: 768px){.customers-page{padding:14px 16px}.customer-grid,.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-summary-bar{flex-direction:column;gap:0}}.search-input{flex:1;max-width:300px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.filter-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;min-width:88px;max-width:150px;transition:all var(--transition-fast)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.name-cell{font-weight:var(--font-weight-medium)}.remark-cell{color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form{display:flex;flex-direction:column;gap:var(--spacing-3)}.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--spacing-3)}.form-row.form-row-product{display:flex;gap:12px}.form-row.form-row-product>div{display:flex;flex-direction:column;gap:4px}.form-row.form-row-product>div label{font-size:13px;font-weight:500;color:#64748b}.form-row.form-row-product .col-product{flex:3;min-width:0;flex-direction:row;align-items:center;gap:8px}.form-row.form-row-product .col-product label{flex:0 0 auto;white-space:nowrap}.form-row.form-row-product .col-product .combo-input-wrapper{flex:1;min-width:0}.form-row.form-row-product .col-shade,.form-row.form-row-product .col-color,.form-row.form-row-product .col-colorcode{flex:1.2;min-width:0}.form-row.form-row-product input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box}.form-row.form-row-product input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.form-row.form-row-colors{display:grid!important;grid-template-columns:1fr 1.2fr 1.2fr!important;gap:8px;width:100%;box-sizing:border-box}.form-row.form-row-colors>div{display:flex;flex-direction:column;gap:4px;min-width:0}.form-row.form-row-colors .col-shade{flex:1}.form-row.form-row-colors .col-color,.form-row.form-row-colors .col-colorcode{flex:1.2}.form-row.form-row-colors .combo-input-wrapper,.form-row.form-row-colors .inline-input{width:100%;box-sizing:border-box}.form-group-unit{display:flex;align-items:center;gap:var(--spacing-2)}.form-group-unit .unit-picker{position:relative;flex:0 0 auto;width:104px;min-width:0}.form-group-unit .unit-picker .inline-input{width:100%;box-sizing:border-box;padding-right:26px;text-align:center}.form-group-unit .unit-picker .unit-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-muted);pointer-events:none}.form-group-unit .unit-picker .unit-dropdown{left:0;right:0;min-width:104px}@media (max-width: 480px){.form-group-unit .unit-picker{width:88px}.form-group-unit .unit-picker .inline-input{padding-right:22px}}.form-group-inline{display:flex;align-items:center;gap:var(--spacing-2)}.form-group-inline label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:50px;flex-shrink:0}.form-group-inline .inline-input,.form-group-inline .inline-textarea,.form-group-inline .inline-select{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);transition:all var(--transition-fast);min-width:0}.form-group-inline input:focus,.form-group-inline textarea:focus,.form-group-inline select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.form-group-inline select{background:var(--bg-surface);cursor:pointer}.form-group-inline .inline-textarea{resize:vertical;min-height:60px}.form-group-inline select:disabled{background:var(--bg-base);cursor:not-allowed;opacity:.6}.inline-select[size]:not([size="1"]){height:auto;min-height:100px}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.completed{background:#d1fae5;color:#059669}.source-tag{display:inline-block;font-size:12px;color:#6366f1;background:#eef2ff;padding:2px 8px;border-radius:4px;white-space:nowrap}.btn-toggle-product{width:32px;height:32px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-toggle-product:hover{background:var(--primary-bg);border-color:var(--primary-color)}.action-btn.complete{background:#d1fae5;color:#059669}.action-btn.complete:hover{background:#059669;color:#fff}.action-btn.assign{background:#e3f2fd;color:#1565c0}.action-btn.assign:hover{background:#1565c0;color:#fff}.action-btn.supplement{background:#fff3e0;color:#e65100}.action-btn.supplement:hover{background:#e65100;color:#fff}.data-table tbody tr.completed{background:#f0fdf4}.data-table tbody tr.from-contract{background:#f0f5ff}.data-table tbody tr.from-contract .id-cell{border-left:3px solid #6366f1;padding-left:5px;position:relative}.data-table tbody tr.from-contract .id-cell:after{content:"合同";display:inline-block;font-size:10px;color:#6366f1;background:#eef2ff;padding:0 4px;border-radius:3px;margin-left:4px;vertical-align:middle;line-height:1.4}.detail-value.fine-codes{word-break:break-all;line-height:1.6}.detail-value.supplier-value{color:#e65100;font-weight:var(--font-weight-medium)}.detail-value.price-value{color:var(--success-color);font-weight:var(--font-weight-semibold)}.payment-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.payment-badge.payment-unpaid{background:#fff3e0;color:#e65100}.payment-badge.payment-deposit{background:#e3f2fd;color:#1565c0}.payment-badge.payment-paid{background:#e8f5e9;color:#2e7d32}.tax-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;background:#f3e5f5;color:#7b1fa2;margin-left:6px}.invoice-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.invoice-badge.invoice-none{background:#fafafa;color:#999}.invoice-badge.invoice-requested{background:#fff8e1;color:#f57f17}.invoice-badge.invoice-received{background:#e8f5e9;color:#2e7d32}.id-display{background:var(--primary-bg);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md)}.id-display .id-value{font-family:monospace;font-weight:var(--font-weight-semibold);color:var(--primary-color)}.fine-codes-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.fine-codes-section label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.fine-codes-spreadsheet{display:grid;grid-template-columns:40px repeat(10,1fr);border:1px solid #d0d0d0;border-radius:2px;overflow:hidden;-webkit-user-select:none;user-select:none}.spreadsheet-corner{background:#0000000d;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.spreadsheet-header{background:#0000000d;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;display:flex;align-items:center;justify-content:center;font-size:12px;color:#8a8f99;font-weight:500}.spreadsheet-cell{border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:0;margin:0;border-left:none;border-top:none;outline:none;width:100%;height:38px;text-align:center;font-size:15px;font-family:monospace;color:#333;background:#fff}div.fine-codes-matrix{grid-template-columns:repeat(10,1fr)}.fine-codes-matrix .spreadsheet-cell{position:relative;display:block}.fine-codes-matrix .spreadsheet-cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;text-align:center;font-size:15px;font-family:monospace;color:#333;padding:0;caret-color:#4361ee}.fine-codes-matrix .cell-index{position:absolute;top:2px;left:4px;font-size:9px;line-height:1;color:#00000052;pointer-events:none;z-index:1}.fine-codes-matrix .spreadsheet-cell-readonly{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:15px;font-family:monospace;color:#475569;background:#f8fafc}.fine-codes-matrix .spreadsheet-cell:hover{background:#f7f9ff}.fine-codes-matrix .spreadsheet-cell-input:focus{background:#eef2ff}.fine-codes-matrix .add-row-btn-inline{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4361ee;font-size:18px;font-weight:600}.spreadsheet-cell:focus{background:#e8f4fd;box-shadow:inset 0 0 0 2px #1890ff;position:relative;z-index:1}.spreadsheet-total{background:#f0f0f0;border-top:2px solid #999;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#333;font-family:monospace}.fine-codes-spreadsheet.readonly{pointer-events:none}.spreadsheet-cell.readonly{display:flex;align-items:center;justify-content:center;cursor:default}.spreadsheet-actions{display:flex;justify-content:center;padding:var(--spacing-2) 0}.btn-add-row{padding:var(--spacing-2) var(--spacing-4);background:var(--primary-bg);color:var(--primary-color);border:1px dashed var(--primary-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.btn-add-row:hover{background:var(--primary-color);color:#fff}.add-row-btn-inline{cursor:pointer!important;color:var(--primary-color, #0f766e)!important;font-weight:700!important;font-size:15px!important;display:flex!important;align-items:center;justify-content:center;background:#f0fdf4!important;-webkit-user-select:none;user-select:none;transition:background .15s;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;min-height:28px}.add-row-btn-inline:hover{background:#ccfbf1!important}.fine-codes-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background:var(--primary-bg);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-secondary)}.fine-codes-stats b{color:var(--primary-color)}.editable-cell{cursor:pointer;padding:2px 6px;border-radius:4px;transition:background-color .15s;border-bottom:1px dashed #bbb}.editable-cell:hover{background-color:#f0f7ff;border-bottom-color:var(--primary-color)}.prd-modal{display:flex;flex-direction:column;gap:6px}.prd-row{display:flex;align-items:baseline;padding:3px 0;font-size:13px}.prd-row+.prd-row{border-top:1px solid var(--ps-border-light, #f1f3f7)}.prd-label{width:70px;flex-shrink:0;color:var(--ps-text-muted, #94a3b8);font-size:12px}.prd-value{flex:1;color:var(--ps-text, #1e293b);font-weight:500;min-width:0}.prd-divider{height:1px;background:var(--ps-border, #eef0f4);margin:2px 0}.prd-mono{font-family:Consolas,monospace;color:var(--ps-primary, #0f766e)}.prd-empty{font-weight:400;color:var(--ps-text-muted, #94a3b8);font-style:italic}.prd-overdue{display:inline-block;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;color:#fff;background:var(--ps-red, #dc2626);border-radius:4px}.prd-finecodes{margin-top:6px}.prd-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;margin-top:2px;border-top:1px solid var(--ps-border, #eef0f4)}.prd-title-id{font-weight:400;color:var(--ps-text-muted, #94a3b8);font-size:13px;margin-left:4px}.combo-input-wrapper{position:relative;min-width:0}.combo-input-wrapper .inline-input{width:100%;box-sizing:border-box}.combo-clear-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:11px;padding:2px 6px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;color:#666;white-space:nowrap;z-index:2}.combo-clear-btn:hover{background:#f3f4f6}.production-search-wrapper,.color-dropdown-wrapper{position:relative;width:100%}.color-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #0000001f;max-height:180px;overflow-y:auto;margin-top:2px}.color-dropdown-item{padding:6px 10px;font-size:13px;cursor:pointer;transition:background .15s}.color-dropdown-item:hover{background:#f0f7ff}.production-search-input{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box}.production-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.production-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001f;max-height:200px;overflow-y:auto}.production-dropdown-item{padding:8px 12px;font-size:13px;cursor:pointer;transition:background .15s}.production-dropdown-item:hover{background:var(--primary-bg)}.production-dropdown-hint{padding:8px 12px;font-size:12px;color:#9ca3af;font-style:italic}.selected-product-tag{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;background:var(--primary-bg);border:1px solid var(--primary-color);border-radius:4px;font-size:12px;color:var(--primary-color);font-weight:500}.selected-product-clear{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;cursor:pointer;font-size:14px;line-height:1;color:inherit;opacity:.6;padding:0}.selected-product-clear:hover{opacity:1}.production-desktop{overflow-x:auto;width:100%}.production-desktop .data-table{table-layout:auto}.production-desktop .data-table th,.production-desktop .data-table td{white-space:nowrap}.production-desktop .data-table td.id-cell{padding-left:6px}.production-desktop .data-table td.name-cell{display:flex;align-items:baseline;flex-wrap:nowrap;gap:4px;min-width:80px}.production-desktop .data-table td.name-cell .cell-product{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-desktop .data-table td.name-cell .cell-spec{flex:0 0 auto;white-space:nowrap}.production-desktop .data-table .cell-spec,.production-desktop .data-table .cell-meter{color:#6b7280}@media (max-width: 1024px){.production-desktop .data-table th,.production-desktop .data-table td{font-size:12px;padding:5px 6px}}@media (max-width: 700px){.production-desktop .data-table th,.production-desktop .data-table td{font-size:10px;padding:4px}}@media (max-width: 500px){.production-desktop .data-table th,.production-desktop .data-table td{font-size:9px;padding:3px}}@media (min-width: 1024px){.production-desktop .data-table{table-layout:auto}.production-desktop .data-table td.actions-cell{white-space:nowrap}}.production-desktop .th-short,.production-desktop .id-short{display:none}@media (max-width: 768px){.production-desktop .th-long,.production-desktop .id-long{display:none}.production-desktop .th-short,.production-desktop .id-short{display:inline}}.datepicker-field,.datepicker-field .datepicker-trigger{position:relative;flex:1;min-width:0;display:flex}.datepicker-field .datepicker-trigger .inline-input{width:100%;box-sizing:border-box;padding-right:30px}.datepicker-field .datepicker-trigger .datepicker-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;display:flex;align-items:center}.datepicker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:9990}.datepicker-panel{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);width:292px;background:#fff;border-radius:12px;box-shadow:0 12px 32px #0f172a40;padding:14px 14px 12px;z-index:9991}.datepicker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.datepicker-head .dp-nav{border:none;background:transparent;font-size:20px;color:#475569;cursor:pointer;width:34px;height:30px;border-radius:6px}.datepicker-head .dp-nav:hover{background:var(--primary-bg)}.datepicker-head .dp-title{font-size:15px;font-weight:600;color:#1e293b}.datepicker-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:4px}.datepicker-week span{font-size:12px;color:#94a3b8;padding:4px 0}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-grid .dp-empty{height:34px}.datepicker-grid .dp-day{height:34px;border:none;background:transparent;border-radius:8px;font-size:14px;color:#1e293b;cursor:pointer}.datepicker-grid .dp-day:hover{background:var(--primary-bg);color:var(--primary-color)}.datepicker-grid .dp-day.dp-today{color:var(--primary-color);font-weight:700}.datepicker-grid .dp-day.dp-today:not(.dp-selected){box-shadow:inset 0 0 0 1px var(--primary-color)}.datepicker-grid .dp-day.dp-selected{background:var(--primary-color);color:#fff;font-weight:600}.datepicker-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;border-top:1px solid var(--border-light);padding-top:10px}.datepicker-foot .dp-foot-btn{flex:1;padding:8px 0;border:1px solid var(--border-color);background:#fff;border-radius:8px;font-size:13px;color:#475569;cursor:pointer}.datepicker-foot .dp-foot-btn.dp-today-btn{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media (max-width: 480px){.datepicker-panel{width:286px}}.logistics-wrap{--l-nav: #1a2332;--l-nav-hover: #243044;--l-surface: #ffffff;--l-bg: #f4f6fa;--l-border: #e2e6ed;--l-text: #1e293b;--l-text-secondary: #64748b;--l-text-muted: #94a3b8;--l-primary: #1e4a7a;--l-primary-light: #dbeafe;--l-accent: #d97706;--l-accent-bg: #fffbeb;--l-green: #059669;--l-green-bg: #d1fae5;--l-red: #dc2626;--l-red-bg: #fef2f2;--l-blue: #2563eb;--l-blue-bg: #dbeafe;--l-radius: 12px;--l-radius-sm: 8px}.lg-page,.logistics-wrap{padding:20px 24px;max-width:1400px;margin:0 auto;animation:lgFadeIn .35s ease-out}@keyframes lgFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.lg-stat-card{background:#fff;border-radius:var(--l-radius);padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 2px #0000000a;border:1px solid var(--l-border);transition:all .2s}.lg-stat-card:hover{border-color:var(--l-primary);box-shadow:0 3px 10px #1e4a7a14}.lg-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lg-stat-icon.blue{background:var(--l-primary-light);color:var(--l-primary)}.lg-stat-icon.green{background:var(--l-green-bg);color:var(--l-green)}.lg-stat-icon.amber{background:var(--l-accent-bg);color:var(--l-accent)}.lg-stat-icon.gray{background:#f1f5f9;color:#475569}.lg-stat-body{flex:1;min-width:0}.lg-stat-label{font-size:12px;color:var(--l-text-muted);font-weight:500;display:block;margin-bottom:2px}.lg-stat-value{font-size:20px;font-weight:700;color:var(--l-text);line-height:1.2}.lg-stat-sub{font-size:11px;color:var(--l-text-muted);font-weight:400;margin-left:4px}.lg-tabs{display:flex;gap:4px;background:#f0f2f5;border-radius:10px;padding:3px;margin-bottom:20px;width:fit-content}.lg-tab{display:flex;align-items:center;gap:7px;padding:8px 18px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#5c5c7a;cursor:pointer;transition:all .2s;white-space:nowrap}.lg-tab:hover{color:var(--l-text);background:#0000000a}.lg-tab.active{background:#fff;color:var(--l-primary);box-shadow:0 2px 8px #00000014;font-weight:600}.lg-tab svg{flex-shrink:0}.lg-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.lg-search-wrap{flex:1;max-width:340px;position:relative}.lg-search-wrap input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--l-border);border-radius:var(--l-radius-sm);font-size:13px;color:var(--l-text);background:#fff;transition:all .2s;outline:none}.lg-search-wrap input:focus{border-color:var(--l-primary);box-shadow:0 0 0 3px #1e4a7a1a}.lg-search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--l-text-muted);pointer-events:none}.lg-toolbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.lg-filter-group{display:flex;gap:3px;background:#f0f2f5;border-radius:8px;padding:2px}.lg-filter-btn{padding:5px 14px;border:none;background:transparent;border-radius:6px;font-size:12px;font-weight:500;color:#5c5c7a;cursor:pointer;transition:all .15s}.lg-filter-btn:hover{color:var(--l-text)}.lg-filter-btn.active{background:#fff;color:var(--l-text);box-shadow:0 1px 3px #00000014}.lg-filter-btn.active.inbound{color:var(--l-green)}.lg-filter-btn.active.outbound{color:var(--l-blue)}.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.lg-company-card{background:#fff;border-radius:var(--l-radius);border:1px solid var(--l-border);padding:18px 20px;transition:all .25s;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:12px}.lg-company-card:hover{border-color:var(--l-primary);box-shadow:0 4px 16px #1e4a7a14;transform:translateY(-2px)}.lg-company-card-top{display:flex;justify-content:space-between;align-items:flex-start}.lg-company-brand{display:flex;align-items:center;gap:12px}.lg-company-avatar{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#1e4a7a,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.lg-company-meta{display:flex;flex-direction:column;gap:2px}.lg-company-name{font-size:15px;font-weight:600;color:var(--l-text)}.lg-company-id{font-family:SF Mono,Cascadia Code,monospace;font-size:11px;color:var(--l-text-muted)}.lg-company-actions{display:flex;gap:4px}.lg-company-actions button{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--l-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lg-company-actions button:hover.edit{background:var(--l-primary-light);color:var(--l-primary)}.lg-company-actions button:hover.delete{background:var(--l-red-bg);color:var(--l-red)}.lg-company-info{display:flex;flex-wrap:wrap;gap:6px 16px}.lg-company-info-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--l-text-secondary)}.lg-company-info-item svg{color:var(--l-text-muted);flex-shrink:0}.lg-company-stats{display:flex;gap:0;padding-top:10px;border-top:1px solid #f0f2f5;margin-top:auto}.lg-company-stat{flex:1;text-align:center;font-size:11px;color:var(--l-text-muted);border-right:1px solid #f0f2f5;padding:2px 0}.lg-company-stat:last-child{border-right:none}.lg-company-stat strong{display:block;font-size:15px;font-weight:700;color:var(--l-text);margin-bottom:2px}.lg-freight-list{display:flex;flex-direction:column;gap:10px}.lg-freight-item{background:#fff;border-radius:var(--l-radius);border:1px solid var(--l-border);padding:16px 18px;transition:all .2s}.lg-freight-item:hover{border-color:var(--l-primary);box-shadow:0 2px 8px #1e4a7a0f}.lg-freight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.lg-freight-header-left{display:flex;align-items:center;gap:10px}.lg-freight-date{font-size:13px;font-weight:600;color:var(--l-text)}.lg-freight-badge{font-size:11px;padding:2px 10px;border-radius:20px;font-weight:500}.lg-freight-badge.fixed{background:var(--l-primary-light);color:var(--l-primary)}.lg-freight-badge.truck{background:#f3e8ff;color:#7c3aed}.lg-freight-actions{display:flex;gap:4px}.lg-freight-actions button{width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--l-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lg-freight-actions button:hover.view{background:var(--l-blue-bg);color:var(--l-blue)}.lg-freight-actions button:hover.edit{background:var(--l-primary-light);color:var(--l-primary)}.lg-freight-actions button:hover.delete{background:var(--l-red-bg);color:var(--l-red)}.lg-freight-body{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.lg-freight-info{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lg-freight-company-name{font-size:13px;font-weight:500;color:var(--l-text-secondary);background:#f1f5f9;padding:2px 10px;border-radius:6px}.lg-freight-route{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--l-text-muted)}.lg-freight-route svg{flex-shrink:0}.lg-freight-amount-area{display:flex;align-items:center;gap:16px;flex-shrink:0}.lg-freight-amount{font-size:18px;font-weight:700;color:var(--l-primary)}.lg-freight-allocations{margin-top:10px;padding-top:10px;border-top:1px solid #f0f2f5}.lg-freight-allocation-items{display:flex;flex-wrap:wrap;gap:6px}.lg-freight-alloc-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:#f8f9fc;border:1px solid #eef0f4;border-radius:6px;padding:3px 10px;color:var(--l-text-secondary)}.lg-freight-alloc-tag strong{color:var(--l-text);font-weight:600}.lg-freight-remark{margin-top:8px;font-size:12px;color:var(--l-text-muted);font-style:italic}.lg-transport-list{display:flex;flex-direction:column;gap:8px}.lg-transport-card{background:#fff;border-radius:var(--l-radius);border:1px solid var(--l-border);overflow:hidden;transition:all .2s}.lg-transport-card:hover{box-shadow:0 2px 8px #0000000d}.lg-transport-card.inbound{border-left:4px solid var(--l-green)}.lg-transport-card.outbound{border-left:4px solid var(--l-blue)}.lg-transport-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;transition:background .15s}.lg-transport-header:hover{background:#f8f9fc}.lg-transport-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.lg-transport-dir-badge{font-size:11px;font-weight:600;padding:2px 10px;border-radius:20px;white-space:nowrap}.lg-transport-dir-badge.inbound{background:var(--l-green-bg);color:var(--l-green)}.lg-transport-dir-badge.outbound{background:var(--l-blue-bg);color:var(--l-blue)}.lg-transport-date{font-size:13px;font-weight:600;color:var(--l-text);white-space:nowrap}.lg-transport-carrier{font-size:13px;color:var(--l-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lg-transport-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.lg-transport-amount{font-size:16px;font-weight:700;color:var(--l-primary);white-space:nowrap}.lg-transport-chevron{color:var(--l-text-muted);flex-shrink:0;transition:transform .2s}.lg-transport-chevron.open{transform:rotate(180deg)}.lg-transport-summary{padding:0 18px 12px;font-size:12px;color:var(--l-text-muted)}.lg-transport-detail{border-top:1px solid #eef0f4;padding:14px 18px;background:#f8f9fc;animation:lgSlideDown .2s ease-out}@keyframes lgSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.lg-transport-detail-table{width:100%;border-collapse:collapse;font-size:13px}.lg-transport-detail-table th{padding:7px 10px;text-align:left;font-weight:600;color:var(--l-text-secondary);background:#f1f5f9;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e2e6ed}.lg-transport-detail-table td{padding:7px 10px;color:var(--l-text);border-bottom:1px solid #f0f2f5}.lg-transport-detail-table td.num{text-align:right;font-variant-numeric:tabular-nums}.lg-transport-detail-table tfoot td{font-weight:600;background:#fff;border-top:2px solid #e2e6ed}.lg-transport-remark{margin-top:10px;font-size:12px;color:var(--l-text-muted);padding:8px 10px;background:#fff;border-radius:6px}.lg-detail-modal{padding:4px 0}.lg-detail-section{margin-bottom:20px}.lg-detail-section:last-child{margin-bottom:0}.lg-detail-section h4{font-size:13px;font-weight:600;color:var(--l-text);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;gap:6px}.lg-detail-section h4 svg{color:var(--l-primary)}.lg-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.lg-detail-grid-3col{grid-template-columns:1fr 1fr 1fr}.lg-detail-item{display:flex;flex-direction:column;gap:2px}.lg-detail-item.full-width{grid-column:1 / -1}.lg-detail-label{font-size:11px;color:var(--l-text-muted);font-weight:500}.lg-detail-value{font-size:14px;color:var(--l-text);font-weight:600}.lg-detail-value.highlight{color:var(--l-primary);font-size:18px}.lg-detail-value.small{font-size:12px;font-weight:400;color:var(--l-text-secondary)}.lg-detail-body-table{width:100%;border-collapse:collapse;font-size:13px}.lg-detail-body-table th{padding:6px 10px;text-align:left;font-weight:600;color:var(--l-text-secondary);background:#f1f5f9;font-size:11px;border-bottom:1px solid #e2e6ed}.lg-detail-body-table td{padding:6px 10px;color:var(--l-text);border-bottom:1px solid #f0f2f5}.lg-detail-body-table td.num{text-align:right;font-weight:600;color:var(--l-primary)}.lg-detail-body-table tfoot td{font-weight:600;background:#fafbfc;border-top:2px solid #e2e6ed}.lg-supplier-group{margin-bottom:12px}.lg-supplier-group:last-child{margin-bottom:0}.lg-supplier-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--l-primary-light);border-radius:8px 8px 0 0;font-size:13px;font-weight:600;color:var(--l-primary)}.lg-supplier-header .lg-supplier-summary{margin-left:auto;font-size:11px;font-weight:400;color:var(--l-text-secondary)}.lg-detail-summary-bar{display:flex;gap:24px;padding:14px 18px;background:#f1f5f9;border-radius:10px;margin-top:16px}.lg-detail-summary-item{display:flex;flex-direction:column;gap:2px}.lg-detail-summary-item label{font-size:11px;color:var(--l-text-muted)}.lg-detail-summary-item span{font-size:16px;font-weight:700;color:var(--l-text)}.lg-detail-summary-item span.highlight{color:var(--l-primary)}.lg-detail-remark-text{font-size:13px;color:var(--l-text-secondary);padding:8px 12px;background:#f8f9fc;border-radius:8px}.lg-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--l-text-muted);gap:12px}.lg-empty svg{opacity:.4}.lg-empty p{font-size:14px;margin:0}.lg-empty button{margin-top:4px}@media (max-width: 1100px){.lg-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.lg-page{padding:14px 16px}.lg-stats{grid-template-columns:1fr 1fr}.lg-grid{grid-template-columns:1fr}.lg-freight-body{flex-direction:column;align-items:flex-start}.lg-detail-grid-3col{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.lg-stats{grid-template-columns:1fr}.lg-tabs{width:100%}.lg-tab{flex:1;justify-content:center;padding:8px 12px}.lg-toolbar{flex-direction:column;align-items:stretch}.lg-search-wrap{max-width:none}}.lg-unified-feed{display:flex;flex-direction:column;gap:0}.lg-feed-date-group{margin-bottom:20px}.lg-feed-date-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin-bottom:10px;background:#f1f5f9;border-radius:8px}.lg-feed-date-label{font-size:13px;font-weight:600;color:var(--l-text)}.lg-feed-date-count{font-size:11px;color:var(--l-text-muted)}.lg-feed-item{background:#fff;border:1px solid var(--l-border);border-radius:var(--l-radius);padding:14px 18px;margin-bottom:8px;transition:all .2s;border-left:4px solid transparent}.lg-feed-item:hover{box-shadow:0 2px 8px #0000000d}.lg-feed-inbound{border-left-color:var(--l-green)}.lg-feed-outbound{border-left-color:var(--l-blue)}.lg-feed-carrier{border-left-color:#7c3aed}.lg-feed-item-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.lg-feed-item-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.lg-feed-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.lg-feed-type-badge{font-size:11px;font-weight:600;padding:2px 10px;border-radius:20px;white-space:nowrap}.lg-feed-type-badge.inbound{background:var(--l-green-bg);color:var(--l-green)}.lg-feed-type-badge.outbound{background:var(--l-blue-bg);color:var(--l-blue)}.lg-feed-type-badge.carrier{background:#f3e8ff;color:#7c3aed}.lg-feed-carrier{font-size:14px;font-weight:600;color:var(--l-text)}.lg-feed-route{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--l-text-muted)}.lg-feed-route svg{flex-shrink:0}.lg-feed-amount{font-size:16px;font-weight:700;color:var(--l-primary);white-space:nowrap}.lg-feed-payer-badge{font-size:10px;padding:1px 8px;border-radius:10px;font-weight:500}.lg-feed-payer-badge.customer{background:#fef3c7;color:#92400e}.lg-feed-payer-badge.seller{background:#dbeafe;color:#1e40af}.lg-feed-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f2f5}.lg-feed-item-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:#f8f9fc;border:1px solid #eef0f4;border-radius:6px;padding:3px 10px;color:var(--l-text-secondary)}.lg-feed-item-tag strong{color:var(--l-text);font-weight:600;margin-left:2px}.lg-feed-item-tag small{color:var(--l-text-muted)}.lg-feed-item-tag.more{background:var(--l-primary-light);border-color:var(--l-primary);color:var(--l-primary)}.lg-feed-remark{margin-top:8px;font-size:12px;color:var(--l-text-muted);font-style:italic}.lg-feed-actions{display:flex;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f2f5}.lg-feed-actions button{width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--l-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lg-feed-actions button:hover.view{background:var(--l-blue-bg);color:var(--l-blue)}.lg-feed-actions button:hover.edit{background:var(--l-primary-light);color:var(--l-primary)}.lg-feed-actions button:hover.delete{background:var(--l-red-bg);color:var(--l-red)}.lg-company-strip{margin-top:16px;padding:14px 18px;background:#fff;border:1px solid var(--l-border);border-radius:var(--l-radius);display:flex;align-items:center;gap:12px}.lg-company-strip-label{font-size:12px;font-weight:600;color:var(--l-text-secondary);white-space:nowrap}.lg-company-strip-items{display:flex;flex-wrap:wrap;gap:8px;flex:1}.lg-company-strip-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--l-border);border-radius:8px;background:#f8f9fc;cursor:pointer;transition:all .15s;font-size:12px;color:var(--l-text-secondary)}.lg-company-strip-btn:hover{border-color:var(--l-primary);background:var(--l-primary-light);color:var(--l-primary)}.lg-company-strip-avatar{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#1e4a7a,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.lg-company-strip-name{font-weight:500}.lg-company-strip-btn.add{border-style:dashed;color:var(--l-text-muted);background:transparent;padding:6px 10px}.lg-company-strip-btn.add:hover{border-color:var(--l-primary);color:var(--l-primary)}@media (max-width: 768px){.lg-feed-item-top{flex-direction:column;align-items:flex-start}.lg-feed-item-right{align-self:flex-end}}.lg-item-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;background:#f8f9fc;border:1px solid #eef0f4;border-radius:4px;padding:2px 8px;color:var(--text-secondary);white-space:nowrap}.lg-item-tag strong{color:var(--text-primary);font-weight:600}.lg-item-tag small{color:#9ca3af}.lg-item-tag.more{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5}.cost-type-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 10px;border-radius:4px}.cost-type-badge.inbound{background:#e6f9f0;color:#059669}.cost-type-badge.outbound{background:#e8f0fe;color:#2563eb}.lg-payer-tag{display:inline-block;font-size:10px;padding:1px 6px;border-radius:4px;background:#fef3c7;color:#92400e;font-weight:500}.settings-tabs{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-2)}.settings-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:all .2s}.settings-tab:hover{background:var(--bg-surface);color:var(--text-primary)}.settings-tab.active{background:var(--primary-bg);color:var(--primary-color)}.settings-content{max-width:1000px}.settings-card{padding:var(--spacing-4)}.settings-section{display:flex;flex-direction:column;gap:var(--spacing-4)}.section-header{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-primary)}.section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.section-icon{color:var(--primary-color)}.section-desc{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:calc(var(--spacing-1) * -1)}.form-group-inline{display:flex;align-items:center;gap:var(--spacing-3)}.form-group-inline label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:80px;flex-shrink:0}.inline-input{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family)}.inline-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.save-hint{font-size:var(--font-size-sm);color:var(--success-color);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.info-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.info-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) 0;border-bottom:1px solid var(--border-light)}.info-item:last-child{border-bottom:none}.info-label{font-size:var(--font-size-sm);color:var(--text-muted)}.info-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.backup-actions{display:flex;align-items:center;gap:var(--spacing-3)}.backup-warning{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--spacing-2);background:var(--bg-surface);border-radius:var(--radius-md);border-left:3px solid var(--warning-color)}.danger-zone{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:2px dashed var(--border-light)}.danger-zone h4{font-size:var(--font-size-sm);color:var(--error-color);margin-bottom:var(--spacing-3)}.danger-hint{font-size:var(--font-size-xs);color:var(--error-color);margin-top:var(--spacing-2)}.qrcode-upload{margin-top:var(--spacing-2)}.qrcode-preview{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);background:var(--bg-surface);border-radius:var(--radius-md)}.qrcode-actions{display:flex;gap:var(--spacing-2)}.qrcode-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-2)}.bank-accounts-list{margin-top:var(--spacing-2)}.bank-account-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2);background:var(--bg-surface);border-radius:var(--radius-md);margin-bottom:var(--spacing-2)}.bank-account-info{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.bank-account-name{font-weight:600;color:var(--text-primary)}.bank-account-num{font-family:monospace;color:var(--text-primary)}.bank-account-bank{color:var(--text-secondary);font-size:var(--font-size-sm)}.bank-account-tag{background:#e3f2fd;color:#1976d2;padding:2px 8px;border-radius:4px;font-size:var(--font-size-xs)}.bank-account-tag.hidden-tag{background:#f5f5f5;color:#999}.bank-account-delete{background:none;border:1px solid var(--error-color);color:var(--error-color);padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.bank-account-delete:hover{background:var(--error-color);color:#fff}.bank-account-empty{color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-2)}.bank-account-form{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px dashed var(--border-light)}.bank-account-form label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-2)}.order-settings-layout{display:flex;flex-direction:column;gap:12px}.settings-card-block{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.block-header{display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--text-primary)}.block-header svg{color:var(--primary-color);flex-shrink:0}.block-header h3{font-size:15px;font-weight:600;color:var(--text-primary)}.block-body{padding:10px 16px 16px}.col-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px}.company-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.company-header-list{display:flex;flex-direction:column;gap:8px}.header-item{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--bg-muted);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .15s;gap:10px}.header-item:hover{border-color:var(--primary-light);box-shadow:0 0 0 2px var(--primary-bg)}.header-item.is-default{border-color:var(--primary-light);background:var(--primary-bg)}.header-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.header-name{font-size:14px;font-weight:600;color:var(--text-primary)}.header-detail{font-size:12px;color:var(--text-muted);display:flex;gap:10px;flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tag-default{font-size:11px;background:var(--primary-color);color:#fff;padding:2px 10px;border-radius:10px;font-weight:500}.list-empty{padding:10px 14px;text-align:center;color:var(--text-muted);font-size:13px;background:var(--bg-muted);border-radius:var(--radius-md);border:1px dashed var(--border-color)}.company-add-form-box{background:var(--bg-muted);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:10px}.input-text{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;font-family:var(--font-family);transition:all .15s}.input-text:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.add-form-row{display:flex;gap:8px}.add-form-row .input-text{flex:1}.btn-primary-sm{padding:5px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary-sm:hover{background:var(--primary-light)}.field-row{display:flex;gap:10px;margin-bottom:10px}.field-row:last-child{margin-bottom:0}.field-label{font-size:13px;font-weight:500;color:var(--text-secondary);min-width:80px;padding-top:8px;flex-shrink:0}.field-control{flex:1;display:flex;flex-direction:column}.field-control .input-text{width:100%}.textarea-control{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;font-family:var(--font-family);resize:vertical;min-height:52px;transition:all .15s}.textarea-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.field-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.checkbox-chip-group{display:flex;gap:8px;flex-wrap:wrap}.chip-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--text-primary);padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .15s;-webkit-user-select:none;user-select:none}.chip-label:hover{border-color:var(--primary-light);background:var(--primary-bg)}.chip-label.checked{border-color:var(--primary-color);background:var(--primary-bg);color:var(--primary-color);font-weight:500}.chip-label input[type=checkbox]{accent-color:var(--primary-color)}.payment-grid-2col{display:grid;grid-template-columns:1fr 1.1fr;gap:12px}.qr-box{background:var(--bg-muted);border:1px dashed var(--border-color);border-radius:var(--radius-lg);padding:14px 16px;text-align:center;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.qr-box.has-image{border-style:solid}.qr-box img{max-width:120px;max-height:120px;border-radius:var(--radius-md)}.qr-actions{display:flex;gap:8px}.btn-upload-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;transition:all .15s;border-radius:var(--radius-md)}.btn-upload-qr:hover{background:var(--primary-bg);color:var(--primary-color)}.btn-upload-qr svg{opacity:.5}.btn-upload-qr:hover svg{opacity:.8;color:var(--primary-color)}.accounts-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.account-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-muted);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .15s}.account-item:hover{border-color:var(--primary-light)}.account-visibility{display:flex;align-items:center;cursor:pointer}.account-visibility input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer}.account-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.account-name{font-size:13px;font-weight:600;color:var(--text-primary)}.account-detail{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-tags{display:flex;gap:4px;flex-shrink:0}.tag-public{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:500;background:#e3f2fd;color:#1976d2}.tag-hidden{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:500;background:#f5f5f5;color:#999}.account-del-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;font-size:16px;line-height:1;border-radius:4px;transition:all .15s;flex-shrink:0}.account-del-btn:hover{color:var(--error-color);background:#ef476f14}.add-account-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:var(--bg-muted);border:1px dashed var(--border-color);border-radius:var(--radius-md)}.add-account-row .input-text{flex:1;min-width:80px}.public-check{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;white-space:nowrap;color:var(--text-secondary);flex-shrink:0}.public-check input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer}.btn-action{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-action:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-bg)}.btn-action.btn-del:hover{border-color:var(--error-color);color:var(--error-color);background:#ef476f0f}.save-bar{display:flex;align-items:center;gap:12px;padding:4px 0}.btn-save-primary{display:flex;align-items:center;gap:8px;padding:10px 28px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4361ee40}.btn-save-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 12px #4361ee59}.btn-save-primary:active{transform:translateY(0)}.save-status{font-size:12px;color:var(--success-color);font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.company-grid-2col,.payment-grid-2col{grid-template-columns:1fr}.field-row{flex-direction:column;gap:6px}.field-label{min-width:unset;padding-top:0}.add-account-row{flex-direction:column}.add-account-row .input-text{width:100%}}.filter-bar{padding:var(--spacing-4);border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-4);flex-wrap:wrap;align-items:center}.input-suffix{color:var(--text-secondary);font-size:var(--font-size-sm);margin-left:var(--spacing-2);white-space:nowrap}.contract-form{max-height:70vh;overflow-y:auto;padding-right:10px}.contract-form .form-group-inline{display:flex;flex-direction:row;align-items:center;gap:4px}.contract-form .form-group-inline label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;min-width:0;margin:0}.contract-form .form-row{display:grid;gap:8px}.contract-form .inline-select{flex:1;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--bg-surface);cursor:pointer;transition:all var(--transition-fast);min-width:0}.contract-form .inline-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.contract-form .inline-select:disabled{background:var(--bg-base);cursor:not-allowed;opacity:.6}.form-section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--border-light)}.form-section:last-of-type{border-bottom:none}.section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-left:8px;border-left:3px solid var(--primary-color)}.contract-items-table{width:100%;border-collapse:collapse;margin-bottom:12px}.contract-items-table th,.contract-items-table td{border:1px solid var(--border-color);padding:8px 6px;text-align:center}.contract-items-table th{background:var(--bg-surface);font-size:12px;color:var(--text-secondary)}.contract-items-table .table-input{width:100%;border:1px solid var(--border-color);padding:4px 6px;font-size:var(--font-size-sm);font-family:var(--font-family);background:#fff;border-radius:var(--radius-md);box-sizing:border-box;transition:all var(--transition-fast)}.contract-items-table .table-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg);background:#fff;border-radius:var(--radius-md)}.contract-items-table .table-input::placeholder{color:var(--text-muted);font-size:var(--font-size-sm)}.item-amount{font-weight:600;color:var(--primary-color)}.color-fields-row{display:flex;gap:4px;align-items:center}.color-fields-row .table-input{width:100%;border:1px solid var(--border-color);padding:4px 6px;font-size:var(--font-size-sm);font-family:var(--font-family);background:#fff;border-radius:var(--radius-md);box-sizing:border-box;transition:all var(--transition-fast)}.color-fields-row .table-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg);background:#fff;border-radius:var(--radius-md)}.color-fields-row .table-input::placeholder{color:var(--text-muted);font-size:var(--font-size-sm)}.color-field-suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-muted);pointer-events:none}.color-shade-input{min-width:50px;flex:0 0 50px}.color-name-input{min-width:60px;flex:1}.color-code-input{min-width:60px;flex:0 0 60px}.price-unit-display{display:flex;align-items:center;gap:0}.price-unit-display .table-input{flex:1;min-width:0;border:1px solid var(--border-color);padding:4px 6px;font-size:var(--font-size-sm);font-family:var(--font-family);background:#fff;border-radius:var(--radius-md);box-sizing:border-box;transition:all var(--transition-fast)}.price-unit-display .table-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg);background:#fff;border-radius:var(--radius-md)}.price-unit-display .table-input::placeholder{color:var(--text-placeholder);font-size:var(--font-size-sm)}.price-unit-suffix{font-size:12px;color:var(--text-secondary);white-space:nowrap;padding-right:4px}.qty-unit-display{display:flex;align-items:center;gap:0}.qty-unit-display .table-input{flex:1;min-width:0;border:1px solid var(--border-color);padding:4px 6px;font-size:var(--font-size-sm);font-family:var(--font-family);background:#fff;border-radius:var(--radius-md);box-sizing:border-box;transition:all var(--transition-fast)}.qty-unit-display .table-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg);background:#fff;border-radius:var(--radius-md)}.qty-unit-display .table-input::placeholder{color:var(--text-placeholder);font-size:var(--font-size-sm)}.qty-unit-display .unit-input{max-width:40px;text-align:center;color:var(--text-secondary)}.total-amount{color:var(--primary-color);font-size:14px}.text-right{text-align:right}.btn-remove-item{background:none;border:none;color:var(--error-color);font-size:18px;cursor:pointer;padding:2px 6px}.btn-remove-item:hover{background:var(--error-bg);border-radius:4px}.calc-hint{color:var(--text-secondary);font-size:12px;margin-left:8px}.term-templates{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.term-template-btn{padding:4px 10px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.term-template-btn:hover{background:var(--primary-alpha);border-color:var(--primary-color);color:var(--primary-color)}.term-type-selector{display:flex;gap:12px;margin-bottom:12px}.term-type-option{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:var(--text-primary)}.term-type-option input[type=radio]{width:16px;height:16px;accent-color:var(--primary-color)}.sign-row{display:flex;gap:20px}.sign-box{flex:1}.sign-box label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.sign-box .table-input{width:100%;margin-bottom:8px}.print-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:2000;display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:20px}.print-modal-header{display:flex;gap:8px;margin-bottom:10px;z-index:2001}.print-modal-header h3{display:none}.print-actions{display:flex;gap:12px}.drag-hint-contract{margin-bottom:10px;text-align:center;position:relative}.drag-image-contract{width:210mm;max-width:95vw;height:auto;border:2px dashed var(--primary-color);border-radius:8px;cursor:grab;box-shadow:0 4px 20px #0003;transition:transform .2s,box-shadow .2s}.drag-image-contract:hover{box-shadow:0 6px 30px #0000004d;border-color:#e65100}.drag-image-contract:active{cursor:grabbing;opacity:.8}.drag-tip-contract{margin-top:8px;font-size:16px;color:var(--primary-color);font-weight:700;animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.print-modal-content{width:794px;min-height:1123px;max-height:85vh;background:#fff;padding:40px 20px;box-shadow:0 4px 20px #0000004d;overflow-y:auto;font-size:14px}.contract-print{background:#fff;width:100%;height:100%;margin:0 auto;padding:40px;font-size:12px;line-height:1.4}.contract-title{font-size:22px;font-weight:700;text-align:center;margin-bottom:15px;letter-spacing:6px}.contract-info{margin-bottom:12px}.contract-info-row{display:flex;margin-bottom:8px;align-items:center}.contract-info-label{white-space:nowrap;font-size:12px}.contract-info-value{flex:1;border-bottom:1px solid #333;padding:2px 6px;font-size:12px}.contract-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:11px}.contract-table th,.contract-table td{border:1px solid #333;padding:6px 4px;text-align:center}.contract-table th{background:#f5f5f5;font-weight:400}.contract-terms{margin:10px 0}.contract-terms-title{font-weight:700;margin-bottom:8px;font-size:12px}.contract-terms-content{padding-left:0;font-size:11px;line-height:1.5}.contract-terms-content p{margin:3px 0}.contract-sign{display:flex;justify-content:space-between;margin-top:10px}.sign-party{width:45%}.sign-party-title{font-weight:700;margin-bottom:8px;font-size:12px}.sign-line{margin:10px 0;font-size:14px}.sign-line span{border-bottom:1px solid #333;display:inline-block;min-width:180px;padding:0 10px}.status-badge.default{background:var(--bg-muted);color:var(--text-secondary)}.customer-input-wrapper{position:relative;flex:1}.customer-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;margin-top:4px}.customer-dropdown-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background .15s}.customer-dropdown-item:last-child{border-bottom:none}.customer-dropdown-item:hover{background:var(--bg-hover)}.customer-dropdown-hint{padding:10px 12px;color:var(--text-secondary);font-size:12px;font-style:italic;background:var(--bg-muted)}.new-customer-tag{display:inline-block;padding:4px 8px;background:var(--success-bg);color:var(--success-color);border-radius:var(--radius-sm);font-size:11px;font-weight:500;margin-left:8px}.contract-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid;white-space:nowrap}.filter-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);font-size:var(--font-size-sm);color:var(--text-primary);outline:none;cursor:pointer;min-width:120px}.filter-select:focus{border-color:var(--primary-color)}.payment-info-bar{display:flex;gap:10px;padding:10px 12px;background:var(--bg-muted);border-radius:var(--radius-md);margin-bottom:10px;font-size:13px;flex-wrap:wrap}.payment-info-bar span{white-space:nowrap}.contract-items-table td:first-child{position:relative}.combo-input-wrapper{position:relative;min-width:0;display:flex;align-items:center;gap:4px}.combo-input-wrapper .table-input{flex:1;min-width:0}.combo-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;z-index:100;max-height:200px;overflow-y:auto;margin-top:2px}.combo-dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text-primary)}.combo-dropdown-item:hover{background:var(--primary-bg);color:var(--primary-color)}.combo-dropdown-hint{padding:8px 12px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border-light)}.product-select-modal{max-height:400px;display:flex;flex-direction:column}.product-select-list{flex:1;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md)}.product-select-item{padding:10px 14px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s}.product-select-item.has-children{cursor:pointer}.product-select-item:last-child{border-bottom:none}.product-select-item:hover{background:var(--bg-hover)}.product-select-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.product-children-count{font-size:11px;color:var(--text-muted);font-weight:400}.sub-product-list{background:var(--bg-surface);border-left:3px solid var(--primary-color)}.sub-product-item{padding:8px 14px 8px 28px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s;display:flex;justify-content:space-between;align-items:center}.sub-product-item:last-child{border-bottom:none}.sub-product-item:hover{background:var(--bg-hover)}.sub-product-spec{font-size:13px;font-weight:500;color:var(--text-primary)}.sub-product-info{display:flex;gap:8px;font-size:12px;color:var(--text-muted)}.product-select-info{display:flex;gap:8px;font-size:12px;color:var(--text-secondary)}.product-select-info span{white-space:nowrap}.action-btn.payment{color:#e67e22}.action-btn.payment:hover{background:#fef5e7}.action-btn.convert{color:#3498db}.action-btn.convert:hover{background:#ebf5fb}.action-btn.production{color:#9b59b6}.action-btn.production:hover{background:#f5eef8}.action-btn.complete{color:#27ae60}.action-btn.complete:hover{background:#eafaf1}.action-btn.create-order{color:#e74c3c}.action-btn.create-order:hover{background:#fdedec}.action-btn.detail{color:#2980b9}.action-btn.detail:hover{background:#ebf5fb}.action-btn.copy{color:#8e44ad}.action-btn.copy:hover{background:#f5eef8}.contract-detail{max-height:500px;overflow-y:auto}.detail-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.detail-empty{text-align:center;padding:16px;color:var(--text-muted);font-size:13px;background:var(--bg-surface);border-radius:var(--radius-md)}.status-timeline{padding:8px 0}.timeline-item{display:flex;gap:8px;padding:8px 0;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:5px;top:26px;bottom:-8px;width:2px;background:#e0e0e0}.timeline-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:3px}.timeline-content{flex:1}.timeline-header{display:flex;justify-content:space-between;align-items:center}.timeline-status{font-size:13px;font-weight:600}.timeline-time{font-size:11px;color:var(--text-muted)}.timeline-remark{font-size:12px;color:var(--text-secondary);margin-top:2px}.detail-stats{display:flex;gap:8px;margin-bottom:8px}.stat-item{font-size:12px;padding:2px 8px;background:var(--bg-surface);border-radius:4px;color:var(--text-secondary)}.stat-success{background:#eafaf1;color:#27ae60}.stat-warning{background:#fef9e7;color:#f39c12}.stat-danger{background:#fdedec;color:#e74c3c}.detail-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.status-success{background:#eafaf1;color:#27ae60}.status-warning{background:#fef9e7;color:#f39c12}.status-danger{background:#fdedec;color:#e74c3c}.order-id-cell{color:#2980b9;font-weight:500}.amendment-changes{color:#e67e22;font-size:12px;max-width:200px}.detail-copy-history{margin-top:12px;padding:8px 12px;background:#f5eef8;border-radius:4px;font-size:13px}.copy-badge{color:#8e44ad;font-weight:500}.copy-time{color:var(--text-muted);margin-left:8px}.detail-cancel-info{margin-top:12px;padding:8px 12px;background:#fdedec;border-radius:4px;font-size:13px}.cancel-badge{color:#e74c3c;font-weight:500}.cancel-time{color:var(--text-muted);margin-left:8px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:8px 16px;border-top:1px solid var(--border-color)}.suppliers-page .supplier-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;transition:box-shadow .2s}.suppliers-page .supplier-card:hover{box-shadow:var(--shadow-sm)}.suppliers-page .supplier-name{font-size:16px;font-weight:600;margin-bottom:8px}.suppliers-page .supplier-info{display:flex;flex-wrap:wrap;gap:16px;color:var(--text-secondary);font-size:13px}.product-price-list{margin:var(--spacing-3) 0;border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.price-list-header{display:grid;grid-template-columns:1fr 80px 100px 120px 50px;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--bg-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted)}.price-list-row{display:grid;grid-template-columns:1fr 80px 100px 120px 50px;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-top:1px solid var(--border-light);align-items:center}.price-list-row input{padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.price-list-row input:focus{outline:none;border-color:var(--primary-color)}.btn-remove-price{width:28px;height:28px;border:none;background:var(--error-bg);color:var(--error-color);border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.btn-remove-price:hover{background:var(--error-color);color:#fff}.btn-add-price{margin-top:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px dashed var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);width:100%;transition:all .2s}.btn-add-price:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-bg)}.supplier-detail{max-height:none;overflow-y:visible;padding-right:0}.detail-page-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;flex-shrink:0}.back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.detail-page-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0;flex:1}.detail-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.title-edit{font-size:20px;font-weight:600;padding:4px 10px;border:1px solid #2563eb;border-radius:var(--radius-sm);width:100%;max-width:300px}.title-edit:focus{outline:none;box-shadow:0 0 0 2px #2563eb33}.info-grid.edit-mode{grid-template-columns:1fr}.info-grid.edit-mode .info-item{display:flex;align-items:flex-start;gap:8px}.info-grid.edit-mode .info-label{min-width:72px;margin-top:8px;flex-shrink:0}.info-grid.edit-mode .inline-input,.info-grid.edit-mode .inline-textarea,.info-grid.edit-mode .inline-select{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-primary)}.info-grid.edit-mode .inline-input:focus,.info-grid.edit-mode .inline-textarea:focus,.info-grid.edit-mode .inline-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.contacts-edit-list{display:flex;flex-direction:column;gap:8px;flex:1}.contact-edit-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.contact-edit-row select{width:70px;padding:6px 4px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;flex-shrink:0}.contact-edit-row input{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px}.contact-edit-row input[placeholder=姓名]{width:80px}.contact-edit-row input[placeholder=电话]{width:110px}.contact-edit-row input[placeholder=备注]{flex:1;min-width:80px}.supplier-stats-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-light)}.stat-icon{width:48px;height:48px;border-radius:50%;background:var(--primary-alpha);color:var(--primary-color);display:flex;align-items:center;justify-content:center}.stat-content{flex:1}.stat-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:20px;font-weight:600;color:var(--text-primary)}.supplier-info-section{margin-bottom:24px}.supplier-info-section h4,.supplier-products-section h4{font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item{display:flex;gap:8px}.info-label{color:var(--text-secondary);font-size:13px}.info-value{color:var(--text-primary);font-size:13px;font-weight:500}.info-item-full{grid-column:1 / -1}.contacts-list{display:flex;flex-direction:column;gap:6px}.contact-tag{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#f5f5f5;border-radius:6px;font-size:12px}.contact-tag.default{background:#e8f5e9;border:1px solid #c8e6c9}.contact-role{padding:2px 6px;background:#e3f2fd;color:#1565c0;border-radius:4px;font-weight:500}.contact-name{color:var(--text-primary)}.contact-phone{color:var(--text-secondary)}.contact-default-badge{padding:1px 6px;background:#4caf50;color:#fff;border-radius:4px;font-size:10px}.contact-remark-text{color:#666;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-section{margin-bottom:16px}.contacts-section>label{display:block;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.contact-row{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.contact-role{width:70px;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;flex-shrink:0}.contact-name{width:90px;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;flex-shrink:0}.contact-phone{width:120px;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;flex-shrink:0}.contact-remark{flex:1;min-width:100px;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px}.default-contact-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0}.default-contact-label input[type=radio]{width:14px;height:14px;accent-color:var(--primary-color)}.btn-remove-contact{width:28px;height:28px;border:none;background:#ffebee;color:#c62828;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.btn-remove-contact:hover{background:#c62828;color:#fff}.btn-add-contact{margin-top:4px;padding:6px 12px;border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px}.btn-add-contact:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-bg)}.products-table{width:100%;border-collapse:collapse;font-size:13px}.products-table th,.products-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-light)}.products-table th{background:var(--bg-surface);font-weight:500;color:var(--text-secondary)}.products-table td{color:var(--text-primary)}.empty-text{text-align:center;color:var(--text-secondary);padding:24px;font-size:14px}.settlement-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;background:#e3f2fd;color:#1565c0}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.status-badge.pending{background:#fff3e0;color:#e65100}.status-badge.completed{background:#e8f5e9;color:#2e7d32}.payment-form-row{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.payment-input{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;width:100px}.payment-input-remark{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;flex:1;min-width:80px}.payment-select{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;background:#fff}.payment-history td{font-size:12px}.payment-type-tabs{display:flex;gap:8px;margin-bottom:12px}.bill-management-section{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px;background:var(--bg-surface)}.bill-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.bill-section-header h4{margin-bottom:0;padding-bottom:0;border-bottom:none}.bill-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bill-year-selector{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:13px}.bill-year-select{padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;background:#fff;cursor:pointer}.bill-stats-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--radius-md);margin-bottom:16px;flex-wrap:wrap}.bill-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.bill-stat-label{font-size:11px;color:var(--text-secondary)}.bill-stat-value{font-size:16px;font-weight:700;color:var(--text-primary)}.bill-stat-paid{color:#2e7d32!important}.bill-stat-discount{color:#e65100!important}.bill-stat-owed{color:#c62828!important}.bill-stat-clear{color:#2e7d32!important}.bill-stat-divider{width:1px;height:30px;background:var(--border-color)}.bill-table-wrapper{overflow-x:auto}.bill-table{font-size:13px}.bill-table th{white-space:nowrap;font-size:12px}.bill-row{cursor:default}.bill-row:hover{background:var(--bg-hover)}.bill-row.expanded{background:#f0f7ff}.btn-expand{width:24px;height:24px;border:none;background:none;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}.btn-expand:hover{background:var(--bg-hover);color:var(--primary-color)}.bill-remark-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-actions-cell{white-space:nowrap}.bill-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.bill-status-settled{background:#e8f5e9;color:#2e7d32}.bill-status-unpaid{background:#ffebee;color:#c62828}.bill-status-partial{background:#fff3e0;color:#e65100}.bill-status-carryover{background:#e3f2fd;color:#1565c0}.bill-detail-row td{padding:0!important;border-bottom:1px solid var(--border-light)}.bill-payments-detail{padding:12px 16px 12px 46px;background:#fafbfc}.bill-payments-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.bill-payments-table{width:100%;border-collapse:collapse;font-size:12px}.bill-payments-table th,.bill-payments-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border-light)}.bill-payments-table th{background:var(--bg-surface);font-weight:500;color:var(--text-secondary)}.action-btn.pay{color:#1565c0;background:#e3f2fd}.action-btn.pay:hover{background:#1565c0;color:#fff}.bill-payment-form{max-width:500px}.bill-payment-info{padding:12px 16px;background:#f8f9fa;border-radius:var(--radius-md);margin-bottom:16px}.bill-payment-info-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.bill-payment-info-row+.bill-payment-info-row{border-top:1px dashed var(--border-light)}.bill-payment-info-label{font-size:13px;color:var(--text-secondary)}.bill-payment-info-value{font-size:14px;font-weight:600;color:var(--text-primary)}.bill-payment-divider{height:1px;background:var(--border-light);margin:16px 0}.bill-discount-check{margin-top:4px}.bill-discount-check .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.bill-discount-check .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.ledger-table-wrapper{overflow-x:auto}.ledger-table{font-size:13px}.ledger-table th{white-space:nowrap;font-size:12px}.ledger-row{cursor:default}.ledger-row:hover{background:var(--bg-hover)}.ledger-row.expanded{background:#f0f7ff}.cost-product-info{line-height:1.4}.cost-product-name{font-size:12px;font-weight:500}.cost-product-detail{font-size:11px;color:#6b7280}.cost-amount-cell{text-align:right;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;padding:4px 10px}.cost-amount-cell:last-child{font-weight:600}.ledger-type-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.ledger-detail-row td{padding:0!important;border-bottom:1px solid var(--border-light)}.ledger-detail-content{padding:12px 16px 12px 46px;background:#fafbfc}.ledger-detail-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.ledger-detail-item{display:flex;align-items:center;gap:4px;padding:3px 0;font-size:12px;color:var(--text-primary)}.ledger-form{max-width:600px}.ledger-type-tabs{display:flex;gap:8px;margin-bottom:16px}.ledger-items-toggle{margin:8px 0}.ledger-items-section{margin:8px 0;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-surface)}.ledger-item-row{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.ledger-item-input{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px}.ledger-item-input:focus{outline:none;border-color:var(--primary-color)}.ledger-item-input{flex:1;min-width:80px}.ledger-item-shade,.ledger-item-price,.ledger-item-qty{max-width:80px;flex:0 0 80px}.ledger-item-amount{max-width:100px;flex:0 0 100px;background:var(--bg-surface);color:var(--text-secondary)}.product-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.product-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.product-card{border:1px solid var(--border-color);border-radius:8px;padding:14px;background:var(--bg-primary);transition:box-shadow .2s}.product-card:hover{box-shadow:0 2px 8px #00000014}.product-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.product-card-name{font-weight:600;font-size:14px;color:var(--text-primary)}.product-card-unit{padding:2px 8px;background:#e3f2fd;color:#1565c0;border-radius:10px;font-size:11px;font-weight:500}.product-card-body{margin-bottom:10px}.product-card-price{font-size:22px;font-weight:700;color:var(--text-primary);font-family:Consolas,Courier New,monospace}.product-card-price-label{font-size:12px;color:var(--text-muted);margin-left:4px}.product-card-meta{font-size:11px;color:var(--text-muted);margin-top:4px}.product-card-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--border-light)}.product-card-actions .product-action-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:4px;background:none;color:var(--text-secondary);font-size:12px;cursor:pointer}.product-card-actions .product-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.product-card-actions .product-action-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.product-card-actions .product-action-btn.primary:hover{background:#1d4ed8}.price-edit-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.price-edit-input{width:120px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:18px;font-weight:700;font-family:Consolas,Courier New,monospace}.price-edit-note{width:140px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:12px}.price-edit-actions{display:flex;gap:4px}.price-edit-save{padding:6px 12px;background:#2563eb;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.price-edit-save:hover{background:#1d4ed8}.price-edit-cancel{padding:6px 12px;background:none;border:1px solid var(--border-color);border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary)}.price-edit-cancel:hover{background:var(--bg-secondary)}.price-history-list{max-height:400px;overflow-y:auto}.price-history-item{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-light)}.price-history-item:last-child{border-bottom:none}.price-history-price{font-size:16px;font-weight:600;font-family:Consolas,Courier New,monospace;color:var(--text-primary);width:100px}.price-history-date{font-size:12px;color:var(--text-muted);width:90px}.price-history-source{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;width:50px;text-align:center}.price-history-source.auto{background:#e3f2fd;color:#1565c0}.price-history-source.manual{background:#fff3e0;color:#e65100}.price-history-note{flex:1;font-size:12px;color:var(--text-secondary);text-align:right}.supplier-product-table{width:100%;border-collapse:collapse;font-size:13px}.supplier-product-table th{padding:8px 12px;text-align:left;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border-bottom:1px solid var(--border-light);white-space:nowrap;font-size:12px}.supplier-product-table td{padding:10px 12px;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.supplier-product-table .name-cell{font-weight:600}.supplier-product-table .price-cell{font-size:16px;font-weight:700;font-family:Consolas,Courier New,monospace;color:var(--text-primary)}.supplier-product-table .price-unit{font-size:12px;font-weight:400;font-family:inherit;color:var(--text-muted);margin-left:4px}.supplier-product-table .price-varied{color:#d97706;font-weight:500;font-size:13px;cursor:help;border-bottom:1px dashed #d97706}.supplier-product-table .price-missing{color:#dc2626;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.supplier-product-table .price-missing:before{content:"⚠";font-size:14px}.price-reminder-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 16px;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:#991b1b;font-size:14px}.price-reminder-banner .price-reminder-text{flex:1}.price-reminder-banner .price-reminder-text strong{font-weight:600}.price-reminder-show{background:none;border:none;color:#dc2626;text-decoration:underline;cursor:pointer;font-size:13px;margin-left:8px;padding:0}.price-reminder-show:hover{color:#b91c1c}.supplier-product-table .meta-cell{font-size:12px;color:var(--text-muted)}.supplier-product-table .editing-row{background:#f0f7ff}.supplier-product-table .editing-row td{padding:8px 12px}.supplier-product-table .price-edit-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.supplier-product-table .price-edit-input{width:120px;padding:6px 10px;border:1px solid #2563eb;border-radius:6px;font-size:14px;font-weight:600;font-family:Consolas,Courier New,monospace;outline:none;box-shadow:0 0 0 2px #2563eb1a}.supplier-product-table .price-edit-note{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:12px;outline:none}.supplier-product-table .price-edit-note:focus{border-color:#2563eb}.supplier-product-table .price-edit-save{padding:6px 14px;background:#2563eb;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.supplier-product-table .price-edit-save:hover{background:#1d4ed8}.supplier-product-table .price-edit-cancel{padding:6px 14px;background:none;border:1px solid var(--border-color);border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-secondary)}.supplier-product-table .price-edit-cancel:hover{background:var(--bg-secondary)}.supplier-product-table .actions-cell{white-space:nowrap}.supplier-product-table .spec-cell{font-size:12px;color:var(--text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-product-table .code-cell{font-family:Consolas,Courier New,monospace;font-size:12px}.product-list-scroll .data-table tr.selected{background:#f0f7ff}.product-list-scroll .data-table tr.selected td{font-weight:500}.product-list-scroll .data-table td{padding:8px 12px;vertical-align:middle}.product-list-scroll .data-table input[type=radio]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.product-list-scroll .action-btn{width:28px;height:28px;border:none;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#e3f2fd;color:#1565c0;font-size:12px;padding:0}.product-list-scroll .action-btn:hover{background:#1565c0;color:#fff}.product-list-scroll .spec-cell{font-size:12px;color:var(--text-secondary)}.form-section{margin-top:12px}.form-section input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.group-parent-row{background:#f8fafc!important;border-top:2px solid #e2e8f0}.group-parent-row.clickable{cursor:pointer}.group-parent-row.clickable:hover{background:#f1f5f9!important}.group-parent-row .expand-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:4px;color:#64748b;vertical-align:middle}.shade-count-btn{border:none;background:#e2e8f0;color:#475569;font-size:12px;padding:2px 8px;border-radius:10px;cursor:pointer;white-space:nowrap;font-weight:500;transition:all .15s}.shade-count-btn:hover{background:#cbd5e1;color:#1e293b}.group-child-row td:first-child{border-left:3px solid #cbd5e1;padding-left:8px!important}.group-child-row:hover td:first-child{border-left-color:#94a3b8}.cost-confirm-modal{max-width:520px!important}.cost-confirm-modal .cost-confirm-body{padding:10px 16px}.cost-confirm-info{background:var(--bg-hover);border-radius:var(--radius-md);padding:8px 14px;margin-bottom:10px}.cost-info-row{display:flex;align-items:center;gap:12px;padding:2px 0;font-size:13px;flex-wrap:wrap}.cost-info-row span{display:inline-flex;align-items:center;gap:0;white-space:nowrap}.cost-info-row span strong{font-weight:600;color:var(--text-primary);margin-right:2px}.cost-confirm-field{margin-bottom:8px}.cost-confirm-field label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.cost-calc-display{padding:8px 12px;background:#f8fafc;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);border:1px solid var(--border-color)}.cost-calc-display strong{color:var(--text-primary);margin-left:4px}.cost-extra-fees{display:flex;flex-direction:column;gap:4px}.cost-fee-row{display:flex;align-items:center;gap:6px}.cost-fee-name{flex:1;min-width:100px}.cost-fee-amount{width:100px}.btn-add-fee{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;color:var(--primary-color);background:transparent;border:1px dashed var(--primary-color);border-radius:var(--radius-sm);cursor:pointer;margin-top:4px}.btn-add-fee:hover{background:#eff6ff}.cost-confirm-total{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);margin-top:4px}.cost-confirm-total span:first-child{font-size:14px;font-weight:600}.cost-total-amount{font-size:18px;font-weight:700;color:#16a34a}.fee-type-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light)}.fee-type-item:last-child{border-bottom:none}.fee-type-add-row{display:flex;gap:8px;margin-bottom:16px}.fee-type-suggestion{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-light)}.fee-type-suggestion span{color:var(--text-secondary);font-size:13px}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:10px;padding:12px 0 4px}.pagination-btn{padding:4px 14px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;color:#374151}.pagination-btn:hover:not(:disabled){background:#f3f4f6}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-info{font-size:13px;color:#6b7280}.finance-page{padding:12px 16px;max-width:1400px;margin:0 auto;animation:psFadeIn .35s ease-out}.finance-page .stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.finance-page .stat-card{background:#fff;border-radius:var(--ps-radius-sm);padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 2px #0000000a;border:1px solid var(--ps-border);transition:all .2s;min-width:0}.finance-page .stat-card .stat-label,.finance-page .stat-card .stat-value{white-space:nowrap}.finance-page .stat-card:hover{border-color:var(--ps-primary);box-shadow:0 3px 10px #0f766e14}.finance-page .stat-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.finance-page .stat-icon.green{background:var(--ps-green-bg);color:var(--ps-green)}.finance-page .stat-icon.red{background:var(--ps-red-bg);color:var(--ps-red)}.finance-page .stat-icon.blue{background:var(--ps-blue-bg);color:var(--ps-blue)}.finance-page .stat-icon.amber{background:#fffbeb;color:#d97706}.finance-page .stat-body{flex:1;min-width:0}.finance-page .stat-label{font-size:12px;color:var(--ps-text-muted);font-weight:500;display:block;margin-bottom:2px;letter-spacing:.3px;text-transform:uppercase}.finance-page .stat-value{font-size:18px;font-weight:700;color:var(--ps-text);line-height:1.2}.finance-page .stat-sub{font-size:11px;color:var(--ps-text-muted);font-weight:400;margin-left:4px}.finance-tabs{display:flex;gap:4px;background:#f0f2f5;border-radius:8px;padding:3px;margin-bottom:12px;width:fit-content}.finance-tab{display:flex;align-items:center;gap:6px;padding:6px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#5c5c7a;cursor:pointer;transition:all .2s}.finance-tab:hover{color:#1e293b;background:#0000000a}.finance-tab.active{background:#fff;color:var(--ps-primary);box-shadow:0 2px 8px #00000014;font-weight:600}.finance-filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:6px 12px;background:#fff;border-radius:var(--ps-radius-sm);border:1px solid var(--ps-border);flex-wrap:wrap}.finance-filter-bar label{font-size:12px;font-weight:500;color:var(--ps-text-muted)}.finance-month-nav{display:flex;align-items:center;gap:4px}.finance-month-nav-btn{width:28px;height:28px;border:1px solid var(--ps-border);border-radius:6px;background:#fff;color:var(--ps-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.finance-month-nav-btn:hover{border-color:var(--ps-primary);color:var(--ps-primary)}.finance-month-select{padding:5px 10px;border:1px solid var(--ps-border);border-radius:6px;font-size:13px;background:#fff;color:var(--ps-text);cursor:pointer;outline:none}.finance-month-select:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a}.finance-sep{width:1px;height:24px;background:var(--ps-border)}.finance-type-group{display:flex;gap:3px;background:#f0f2f5;border-radius:8px;padding:2px}.finance-type-btn{padding:5px 14px;border:none;background:transparent;border-radius:6px;font-size:12px;font-weight:500;color:#5c5c7a;cursor:pointer;transition:all .15s}.finance-type-btn:hover{color:var(--ps-text)}.finance-type-btn.active{background:#fff;color:var(--ps-text);box-shadow:0 1px 3px #00000014}.finance-type-btn.active.income{color:var(--ps-green)}.finance-type-btn.active.expense{color:var(--ps-red)}.finance-cat-select{padding:5px 10px;border:1px solid var(--ps-border);border-radius:6px;font-size:12px;background:#fff;color:var(--ps-text);cursor:pointer;outline:none;max-width:140px}.finance-cat-select:focus{border-color:var(--ps-primary)}.finance-filter-select{padding:5px 10px;border:1px solid var(--ps-border);border-radius:6px;font-size:13px;background:#fff;color:var(--ps-text);cursor:pointer;outline:none}.finance-filter-select:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a}.finance-content-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 1024px){.finance-content-grid{grid-template-columns:1fr 280px}}.finance-list-section{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm)}.finance-list-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--ps-border-light);border-radius:var(--ps-radius-sm) var(--ps-radius-sm) 0 0}.finance-list-header h3{font-size:15px;font-weight:600;color:var(--ps-text);margin:0;display:flex;align-items:center;gap:8px}.finance-list-header h3 svg{color:var(--ps-primary)}.finance-list-count{font-size:12px;color:var(--ps-text-muted)}.finance-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.finance-table th:last-child,.finance-table td:last-child{position:sticky;right:0;background:#fff;z-index:2;box-shadow:-4px 0 8px -4px #0000001a}.finance-table thead th:last-child{background:#f8f9fc;z-index:3}.finance-table tbody tr:hover td:last-child{background:#f8f9fc}.finance-table{width:100%;border-collapse:collapse;font-size:13px}.finance-table th{padding:6px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--ps-text-secondary);background:#f8f9fc;border-bottom:1px solid var(--ps-border);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.finance-table td{padding:6px 10px;color:var(--ps-text);border-bottom:1px solid #f0f2f5}.finance-table tbody tr:hover{background:#f8f9fc}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 10px;border-radius:20px;font-size:11px;font-weight:500}.type-badge.income{background:var(--ps-green-bg);color:var(--ps-green)}.type-badge.expense{background:var(--ps-red-bg);color:var(--ps-red)}.amount-income{font-weight:600;color:var(--ps-green);font-variant-numeric:tabular-nums}.amount-expense{font-weight:600;color:var(--ps-red);font-variant-numeric:tabular-nums}.category-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.counterparty-cell{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ps-text-secondary)}.remark-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ps-text-muted)}.date-cell{white-space:nowrap;color:var(--ps-text-secondary)}.id-cell{font-family:SF Mono,monospace;font-size:11px;color:var(--ps-primary);font-weight:600}.finance-table .actions-cell{white-space:nowrap}.finance-table .actions-cell button{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--ps-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.finance-table .actions-cell button:hover.edit{background:var(--ps-primary-light);color:var(--ps-primary)}.finance-table .actions-cell button:hover.delete{background:var(--ps-red-bg);color:var(--ps-red)}.finance-date-group td{padding:0!important}.finance-date-label{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#f8f9fc;font-size:11px;font-weight:600;color:var(--ps-text-muted)}.finance-date-label .date-total{margin-left:auto;font-weight:600}.finance-date-label .date-total.income{color:var(--ps-green)}.finance-date-label .date-total.expense{color:var(--ps-red)}.finance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:var(--ps-text-muted);gap:8px}.finance-empty svg{opacity:.35}.finance-empty p{font-size:14px;margin:0}.finance-summary-section{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);overflow:hidden}.finance-summary-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--ps-border-light)}.finance-summary-header h3{font-size:14px;font-weight:600;color:var(--ps-text);margin:0;display:flex;align-items:center;gap:6px}.finance-summary-header h3 svg{color:var(--ps-primary)}.finance-summary-header .month-tag{font-size:11px;color:var(--ps-text-muted);background:#f0f2f5;padding:2px 10px;border-radius:20px}.finance-summary-body{padding:10px 14px}.category-summary-list{display:flex;flex-direction:column;gap:6px}.category-summary-item{display:flex;align-items:center;gap:10px}.category-summary-name{min-width:80px;font-size:12px;font-weight:500;color:var(--ps-text);white-space:nowrap}.category-summary-bar-wrapper{flex:1;min-width:0}.category-summary-bar{height:6px;border-radius:10px;background:#f0f2f5;overflow:hidden}.category-summary-bar-fill{height:100%;border-radius:10px;transition:width .3s}.category-summary-bar-fill.income{background:var(--ps-green)}.category-summary-bar-fill.expense{background:var(--ps-red)}.category-summary-info{display:flex;justify-content:space-between;font-size:11px;color:var(--ps-text-muted);margin-top:2px}.category-summary-amount{min-width:100px;text-align:right;font-size:12px;font-weight:600}.category-summary-amount.income{color:var(--ps-green)}.category-summary-amount.expense{color:var(--ps-red)}.summary-total-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-top:8px;background:#f1f5f9;border-radius:8px;font-size:13px;font-weight:600}.summary-total-amount{font-size:16px}.summary-total-amount.income{color:var(--ps-green)}.summary-total-amount.expense{color:var(--ps-red)}.category-input-wrapper{position:relative}.category-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--ps-border);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:100;max-height:180px;overflow-y:auto;margin-top:2px}.category-dropdown-item{padding:5px 10px;cursor:pointer;font-size:12px;color:var(--ps-text);transition:background .15s}.category-dropdown-item:hover,.category-dropdown-item.highlighted{background:var(--ps-primary-light);color:var(--ps-primary)}.finance-modal .modal-body{padding:14px 16px}.finance-type-switch{display:flex;gap:8px;margin-bottom:10px}.finance-type-btn-large{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border:2px solid var(--ps-border);border-radius:8px;background:#fff;color:var(--ps-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.finance-type-btn-large:hover{border-color:var(--ps-primary);color:var(--ps-primary)}.finance-type-btn-large.active-income{background:var(--ps-green-bg);border-color:var(--ps-green);color:var(--ps-green)}.finance-type-btn-large.active-expense{background:var(--ps-red-bg);border-color:var(--ps-red);color:var(--ps-red)}.amount-input-group{position:relative}.amount-input{width:100%;padding:8px 10px 8px 26px;border:1px solid var(--ps-border);border-radius:6px;font-size:18px;font-weight:700;box-sizing:border-box}.amount-input:focus{outline:none;border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a}.amount-prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:700;color:var(--ps-text-muted);pointer-events:none}.finance-profit-section{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);overflow:hidden}.finance-profit-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--ps-border-light)}.finance-profit-header h3{font-size:15px;font-weight:600;color:var(--ps-text);margin:0;display:flex;align-items:center;gap:8px}.finance-profit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:10px 14px;border-bottom:1px solid #f0f2f5}.finance-profit-stat{text-align:center;padding:6px}.finance-profit-stat .stat-lbl{font-size:11px;color:var(--ps-text-muted);display:block}.finance-profit-stat .stat-val{font-size:18px;font-weight:700;color:var(--ps-text);margin-top:2px}.finance-profit-stat .stat-val.positive{color:var(--ps-green)}.finance-profit-stat .stat-val.negative{color:var(--ps-red)}.profit-detail-section{margin-bottom:10px}.profit-detail-section h4{font-size:13px;font-weight:600;color:var(--ps-text);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;gap:6px}.profit-detail-section h4 svg{color:var(--ps-primary)}.profit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.profit-detail-item{display:flex;flex-direction:column;gap:2px}.profit-detail-label{font-size:11px;color:var(--ps-text-muted)}.profit-detail-value{font-size:14px;color:var(--ps-text);font-weight:600}.profit-detail-value.positive{color:var(--ps-green)}.profit-detail-value.negative{color:var(--ps-red)}.finance-page .data-table{width:100%;border-collapse:collapse;font-size:13px}.finance-page .data-table thead th{padding:6px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--ps-text-secondary);background:#f8f9fc;border-bottom:1px solid var(--ps-border);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.finance-page .data-table tbody td{padding:6px 10px;color:var(--ps-text);border-bottom:1px solid #f0f2f5;vertical-align:middle}.finance-page .data-table tbody tr:hover{background:#f8f9fc}.finance-page .data-table tbody tr:last-child td{border-bottom:none}.finance-page .data-table tfoot td{font-weight:600;background:#fafbfc;border-top:2px solid var(--ps-border);padding:6px 10px}.finance-page .action-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--ps-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;padding:0;vertical-align:middle}.finance-page .action-btn:hover{background:var(--ps-primary-light);color:var(--ps-primary)}.finance-page .action-btn:hover.view{background:var(--ps-blue-bg);color:var(--ps-blue)}.profit-positive{color:var(--ps-green);font-weight:600}.profit-negative{color:var(--ps-red);font-weight:600}.name-cell{font-weight:500;color:var(--ps-text)}@media (max-width: 768px){.finance-page{padding:14px 16px}.finance-filter-bar{flex-direction:column;align-items:stretch}.finance-type-switch{flex-direction:column}.finance-profit-summary{grid-template-columns:1fr 1fr}.finance-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 480px){.finance-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tax-summary .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.tax-summary .finance-list-section{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm)}.tax-summary .finance-list-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--ps-border-light)}.tax-summary .finance-list-header h3{margin:0;font-size:14px;font-weight:600}.tax-summary .finance-table-wrapper{overflow-x:auto}.tax-summary .status-badge.blue{background:#dbeafe;color:#2563eb}.tax-summary .status-badge.amber{background:#fef3c7;color:#d97706}.invoices-page .detail-value.auto-calc{color:#1565c0;font-weight:500}.invoices-page .detail-value.money{color:#2e7d32}.status-badge.input-invoice{background:#e3f2fd;color:#1565c0}.status-badge.output-invoice{background:#fce4ec;color:#c62828}.expenses-page .detail-value.money{color:#e53935}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:root{--ps-primary: #0f766e;--ps-primary-light: #ccfbf1;--ps-primary-dark: #134e4a;--ps-accent: #d97706;--ps-accent-bg: #fffbeb;--ps-text: #1e293b;--ps-text-secondary: #64748b;--ps-text-muted: #94a3b8;--ps-border: #e2e6ed;--ps-border-light: #f0f2f5;--ps-bg: #f4f6fa;--ps-surface: #ffffff;--ps-green: #059669;--ps-green-bg: #d1fae5;--ps-red: #dc2626;--ps-red-bg: #fef2f2;--ps-blue: #2563eb;--ps-blue-bg: #dbeafe;--ps-radius: 12px;--ps-radius-sm: 8px;--ps-radius-xs: 6px}.page,.pages-page{padding:12px 16px;max-width:1400px;margin:0 auto;animation:psFadeIn .25s ease-out}@keyframes psFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-grid,.pages-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.stat-card,.pages-stat-card{background:#fff;border-radius:var(--ps-radius-sm);padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 2px #0000000a;border:1px solid var(--ps-border);transition:all .2s}.stat-card:hover,.pages-stat-card:hover{border-color:var(--ps-primary);box-shadow:0 3px 10px #0f766e14}.stat-icon,.pages-stat-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.teal,.pages-stat-icon.teal{background:var(--ps-primary-light);color:var(--ps-primary)}.stat-icon.green,.pages-stat-icon.green{background:var(--ps-green-bg);color:var(--ps-green)}.stat-icon.amber,.pages-stat-icon.amber{background:var(--ps-accent-bg);color:var(--ps-accent)}.stat-icon.blue,.pages-stat-icon.blue{background:var(--ps-blue-bg);color:var(--ps-blue)}.stat-icon.red,.pages-stat-icon.red{background:var(--ps-red-bg);color:var(--ps-red)}.stat-icon.gray,.pages-stat-icon.gray{background:#f1f5f9;color:#475569}.stat-body,.pages-stat-body{flex:1;min-width:0}.stat-label,.pages-stat-label{font-size:12px;color:var(--ps-text-muted);font-weight:500;display:block;margin-bottom:2px;letter-spacing:.3px;text-transform:uppercase}.stat-value,.pages-stat-value{font-size:18px;font-weight:700;color:var(--ps-text);line-height:1.2;display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.stat-sub,.pages-stat-sub{font-size:11px;color:var(--ps-text-muted);font-weight:400;margin-left:4px}.page-header,.pages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px}.page-header h1,.page-title,.pages-title{font-size:18px;font-weight:700;color:var(--ps-text);letter-spacing:.3px;display:flex;align-items:center;gap:8px;margin:0}.page-header h1 svg,.page-title svg,.pages-title svg{color:var(--ps-primary)}.page-subtitle,.pages-subtitle{font-size:12px;color:var(--ps-text-muted);margin:0}.toolbar,.toolbar-row,.pages-toolbar,.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);padding:6px 12px}.toolbar-left,.pages-toolbar-left,.toolbar-left-group{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.search-box,.search-wrap,.pages-search-wrap{position:relative;flex:1;max-width:340px;min-width:160px}.search-box input,.search-wrap input,.pages-search-wrap input{width:100%;padding:5px 10px 5px 30px;border:1px solid var(--ps-border);border-radius:var(--ps-radius-xs);font-size:13px;color:var(--ps-text);background:var(--ps-bg);transition:all .2s;outline:none;box-sizing:border-box}.search-box input:focus,.search-wrap input:focus,.pages-search-wrap input:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a;background:#fff}.toolbar>.search-input,.toolbar-row>.search-input,.pages-toolbar>.search-input,.filter-bar>.search-input{padding:5px 10px;border:1px solid var(--ps-border);border-radius:var(--ps-radius-xs);font-size:13px;color:var(--ps-text);background:var(--ps-bg);transition:all .2s;outline:none;box-sizing:border-box}.toolbar>.search-input:focus,.toolbar-row>.search-input:focus,.pages-toolbar>.search-input:focus,.filter-bar>.search-input:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a;background:#fff}.search-box svg,.search-wrap svg,.pages-search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ps-text-muted);pointer-events:none}.toolbar-right,.pages-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.toolbar-count,.record-count,.pages-record-count{font-size:12px;color:var(--ps-text-muted);white-space:nowrap}.filter-select,.toolbar-select{padding:5px 10px;border:1px solid var(--ps-border);border-radius:var(--ps-radius-xs);font-size:13px;background:#fff;color:var(--ps-text);cursor:pointer;outline:none;min-width:100px}.filter-select:focus,.toolbar-select:focus{border-color:var(--ps-primary);box-shadow:0 0 0 3px #0f766e1a}.toolbar-filter-group,.toolbar-pills{display:flex;align-items:center;gap:3px;background:#f0f2f5;border-radius:8px;padding:2px}.toolbar-pill,.tab-btn.filter-pill{padding:4px 12px;border:none;background:transparent;border-radius:6px;font-size:12px;font-weight:500;color:#5c5c7a;cursor:pointer;transition:all .15s;white-space:nowrap}.toolbar-pill:hover,.tab-btn.filter-pill:hover{color:var(--ps-text);background:#00000008}.toolbar-pill.active,.tab-btn.filter-pill.active{background:#fff;color:var(--ps-text);box-shadow:0 1px 3px #00000014}.toolbar-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid var(--ps-border);border-radius:var(--ps-radius-xs);background:#fff;color:var(--ps-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.toolbar-btn:hover{border-color:var(--ps-primary);color:var(--ps-primary);background:var(--ps-primary-light)}.toolbar-btn svg{flex-shrink:0}.table-container,.pages-table-wrap{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);overflow:auto;margin-bottom:12px}.table-responsive{overflow-x:auto}.data-table,.pages-table{width:100%;border-collapse:collapse;font-size:13px}.data-table.table-fit{table-layout:auto;width:max-content!important;border-collapse:collapse}.data-table.table-fit>thead th,.data-table.table-fit>tbody td{white-space:nowrap;vertical-align:middle;padding:6px 10px}.data-table.table-fit th.actions-col,.data-table.table-fit td.actions-cell{text-align:right;white-space:nowrap}.data-table.table-fit td.actions-cell .action-btn{margin-left:2px}.data-table thead th,.pages-table thead th{padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--ps-text-secondary);background:#f8f9fc;border-bottom:1px solid var(--ps-border);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table tbody td,.pages-table tbody td{padding:6px 10px;color:var(--ps-text);border-bottom:1px solid #f0f2f5;vertical-align:middle}.data-table tbody tr,.pages-table tbody tr{transition:background .15s}.data-table tbody tr:hover,.pages-table tbody tr:hover{background:#f8f9fc}.data-table tbody tr:last-child td,.pages-table tbody tr:last-child td{border-bottom:none}.data-table .actions-col,.pages-table th.actions-col{text-align:right;width:100px}.data-table td.empty-cell,.pages-table td.empty-cell{text-align:center;padding:50px 20px;color:var(--ps-text-muted);font-size:14px}.actions-cell,.cell-actions{white-space:nowrap;text-align:right}.action-btn,.cell-actions button{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--ps-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;margin-left:2px;padding:0;vertical-align:middle}.action-btn:hover.view,.cell-actions button:hover.view{background:var(--ps-blue-bg);color:var(--ps-blue)}.action-btn:hover.edit,.cell-actions button:hover.edit{background:var(--ps-primary-light);color:var(--ps-primary)}.action-btn:hover.delete,.cell-actions button:hover.delete{background:var(--ps-red-bg);color:var(--ps-red)}td.money,.cell-money{font-weight:600;color:var(--ps-primary);font-variant-numeric:tabular-nums}td.expense,.cell-expense{font-weight:600;color:var(--ps-red);font-variant-numeric:tabular-nums}td.income,.cell-income{font-weight:600;color:var(--ps-green);font-variant-numeric:tabular-nums}.empty-state,.pages-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:var(--ps-text-muted);gap:8px}.empty-state svg,.pages-empty svg{opacity:.35}.empty-state p,.pages-empty p{font-size:14px;margin:0}.grid,.pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.pages-card-item{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);padding:12px 14px;transition:all .2s;cursor:pointer}.detail-content,.ps-detail-modal{padding:4px 0}.detail-section,.ps-detail-section{margin-bottom:12px}.detail-section:last-child,.ps-detail-section:last-child{margin-bottom:0}.detail-section h4,.ps-detail-section h4{font-size:13px;font-weight:600;color:var(--ps-text);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;gap:6px}.detail-grid,.ps-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.detail-grid-3col,.ps-detail-grid-3col{grid-template-columns:1fr 1fr 1fr}.detail-row,.detail-item,.ps-detail-item{display:flex;flex-direction:column;gap:2px;padding:6px 0}.detail-row.full-width,.detail-item.full-width,.ps-detail-item.full-width{grid-column:1 / -1}.detail-label,.ps-detail-label{font-size:11px;color:var(--ps-text-muted);font-weight:500}.detail-value,.ps-detail-value{font-size:14px;color:var(--ps-text);font-weight:600}.orders-content .filter-bar{flex-wrap:nowrap;gap:8px}.orders-content .filter-bar>.search-input{flex:1 1 auto;min-width:0;max-width:100%;width:auto}.orders-content .filter-bar>.filter-select{flex-shrink:0}.orders-content .filter-bar>.toolbar-right{flex-shrink:0;white-space:nowrap}.orders-content .filter-bar>.toolbar-right .btn,.orders-content .filter-bar>.toolbar-right .Button,.orders-content .filter-bar>.toolbar-right button{white-space:nowrap}.detail-value.highlight,.ps-detail-value.highlight{color:var(--ps-primary);font-size:18px}.detail-value.expense,.ps-detail-value.expense{color:var(--ps-red);font-size:18px}.detail-table,.ps-detail-body-table{width:100%;border-collapse:collapse;font-size:13px}.detail-table th,.ps-detail-body-table th{padding:6px 10px;text-align:left;font-weight:600;color:var(--ps-text-secondary);background:#f1f5f9;font-size:11px;border-bottom:1px solid var(--ps-border)}.detail-table td,.ps-detail-body-table td{padding:6px 10px;color:var(--ps-text);border-bottom:1px solid #f0f2f5}.detail-table td.num,.ps-detail-body-table td.num{text-align:right;font-weight:600;color:var(--ps-primary)}.detail-table tfoot td,.ps-detail-body-table tfoot td{font-weight:600;background:#fafbfc;border-top:2px solid var(--ps-border)}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;margin-top:10px;border-top:1px solid #f0f2f5}@media (max-width: 768px){.page,.pages-page{padding:6px 3px}.stats-grid,.pages-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.grid,.pages-grid{grid-template-columns:1fr}.toolbar,.toolbar-row,.search-bar,.pages-toolbar{flex-direction:column;align-items:stretch}.search-box input,.search-wrap input,.pages-search-wrap input{max-width:none}.table-container,.pages-table-wrap,.table-responsive{border:none;border-left:none;border-right:none;border-radius:0;margin-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.detail-grid-3col,.ps-detail-grid-3col{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.stats-grid,.pages-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.page-header,.pages-header{flex-direction:column;align-items:flex-start}}@media (max-width: 560px){.stat-card,.pages-stat-card{flex-direction:column;align-items:stretch;gap:4px;padding:8px 6px}.stat-card .stat-icon,.pages-stat-card .pages-stat-icon{width:22px;height:22px;font-size:15px}.stat-card .stat-body,.pages-stat-card .pages-stat-body{width:100%;min-width:0}.stat-card .stat-label,.pages-stat-card .pages-stat-label{font-size:10px;letter-spacing:0}.stat-card .stat-value,.pages-stat-card .pages-stat-value{font-size:13px;word-break:break-all}}@media (max-width: 768px){.stats-grid,.pages-stats{display:none}}.list-footer{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-top:1px solid var(--ps-border)}.list-footer-stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;font-size:13px;color:var(--ps-text-muted)}.list-footer-stat{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.list-footer-stat b{font-size:14px;font-weight:700;color:var(--ps-text)}.list-footer-dot{font-style:normal;color:#cbd5e1}.list-footer-pagination{display:inline-flex;align-items:center;gap:8px}.list-footer-pagination button{padding:5px 14px;border:1px solid var(--ps-border);border-radius:6px;background:#fff;color:var(--ps-text);font-size:13px;cursor:pointer;transition:all .15s}.list-footer-pagination button:disabled{opacity:.4;cursor:not-allowed}.list-footer-pagination button:not(:disabled):hover{border-color:var(--ps-primary);color:var(--ps-primary)}.list-footer-pageno{font-size:13px;color:var(--ps-text-muted)}@media (min-width: 769px){.list-footer-stats{display:none}}@media (max-width: 768px){.list-footer-stats{flex-wrap:nowrap;justify-content:space-between;gap:0 4px;width:100%;font-size:11px}.list-footer-stat{flex:1;justify-content:center;text-align:center;min-width:0}.list-footer-stat b{font-size:13px}.list-footer-stat span:last-child{font-size:11px;white-space:nowrap}.list-footer-dot{display:none}}#root .toolbar,#root .toolbar-row,#root .pages-toolbar,#root .filter-bar,#root .lg-toolbar,#root .finance-filter-bar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;width:100%;box-sizing:border-box;margin:0 0 10px;padding:8px 12px;background:#fff;border:1px solid #e4e7ec;border-radius:8px}#root .finance-filter-bar{flex-wrap:wrap}#root .toolbar>.search-input,#root .toolbar-row>.search-input,#root .pages-toolbar>.search-input,#root .filter-bar>.search-input,#root .lg-toolbar>.search-input,#root .toolbar .search-bar,#root .toolbar-row .search-bar,#root .lg-toolbar .search-bar,#root .search-box,#root .search-box input,#root .pages-search-wrap,#root .pages-search-wrap input,#root .finance-filter-bar .search-input{flex:1 1 150px;min-width:0;width:auto;max-width:none;margin:0}#root .filter-select,#root .toolbar-select,#root .toolbar-filter-group,#root .lg-filter-group,#root .toolbar-btn,#root .toolbar-right,#root .lg-toolbar-right,#root .pages-toolbar-right{flex:0 0 auto;flex-shrink:0}#root .toolbar-right,#root .lg-toolbar-right,#root .pages-toolbar-right{margin-left:auto;white-space:nowrap;gap:8px}#root .toolbar button,#root .toolbar-row button,#root .pages-toolbar button,#root .filter-bar button,#root .lg-toolbar button{white-space:nowrap}@media (max-width: 768px){#root .toolbar,#root .toolbar-row,#root .pages-toolbar,#root .filter-bar,#root .lg-toolbar,#root .finance-filter-bar{gap:6px;padding:6px 8px}#root .toolbar>.search-input,#root .toolbar-row>.search-input,#root .pages-toolbar>.search-input,#root .filter-bar>.search-input,#root .lg-toolbar>.search-input,#root .toolbar .search-bar,#root .toolbar-row .search-bar,#root .lg-toolbar .search-bar,#root .search-box,#root .search-box input,#root .pages-search-wrap input,#root .finance-filter-bar .search-input{flex-basis:70px;min-width:0}#root .filter-select,#root .toolbar-select,#root .toolbar-btn,#root .toolbar .btn,#root .toolbar-row .btn,#root .pages-toolbar .btn,#root .filter-bar .btn,#root .lg-toolbar .btn{padding:5px 8px;font-size:12px}}#root{min-height:100%}@media (max-width: 640px){#root .toolbar,#root .toolbar-row,#root .pages-toolbar,#root .filter-bar{flex-wrap:nowrap;align-items:center;gap:6px;padding:8px 10px}#root .toolbar>.search-bar,#root .toolbar-row>.search-bar,#root .pages-toolbar>.search-bar,#root .filter-bar>.search-bar{flex:1 1 auto;min-width:0}#root .toolbar>.search-bar .search-input,#root .toolbar-row>.search-bar .search-input{width:100%;max-width:none;min-width:0}#root .toolbar-right,#root .pages-toolbar-right{flex:0 0 auto;margin-left:auto;flex-wrap:nowrap;gap:6px}#root .toolbar-right .Button,#root .toolbar-right button,#root .toolbar .Button,#root .toolbar button,#root .toolbar-row .Button,#root .toolbar-row button,#root .pages-toolbar .Button,#root .pages-toolbar button{padding:5px 8px;white-space:nowrap}#root .toolbar-right .Button .btn-text,#root .toolbar .Button .btn-text,#root .toolbar button .btn-text,#root .toolbar-row .Button .btn-text,#root .toolbar-row button .btn-text{display:none}#root .toolbar-checkbox,#root .toolbar-row .toolbar-checkbox{gap:2px;font-size:0}#root .toolbar-checkbox input{width:18px;height:18px}#root .toolbar>.filter-select,#root .toolbar-row>.filter-select,#root .pages-toolbar>.filter-select{flex:0 0 auto;min-width:0;max-width:96px;padding:5px 6px;font-size:12px}}@media (max-width: 768px){#root .page,#root .pages-page,#root .customers-page,#root .finance-page,#root .transfer-page{padding:max(40px,calc(env(safe-area-inset-top,0px) + 14px)) 3px 6px;max-width:none}#root .transfer-page.card{border:none;border-radius:0;background:transparent;box-shadow:none;overflow:visible}#root .transfer-page.card .card-body{padding:0}#root .table-container,#root .pages-table-wrap{border:none;border-radius:0;margin-left:0;margin-right:0;margin-bottom:4px}#root .toolbar,#root .toolbar-row,#root .pages-toolbar,#root .filter-bar,#root .lg-toolbar,#root .finance-filter-bar,#root .search-bar{border:none;border-radius:0;box-shadow:none;background:transparent;padding:6px 3px;margin-bottom:4px}#root .data-table.table-fit>thead th,#root .data-table.table-fit>tbody td{padding:6px}}.keep-alive-route{display:none}.keep-alive-route.keep-active{display:block}@media (max-width: 768px){#root .list-footer{margin-top:0;padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}}#root .btn-primary,#root .btn-primary-sm,#root .btn-save-primary,#root .btn-add-contact,#root .btn-add-fee,#root .btn-add-item,#root .btn-upload-qr{background:var(--ps-primary, #0f766e);background-image:none;color:#fff;border:none;border-radius:var(--ps-radius-sm, 8px);font-weight:500}#root .btn-primary:hover:not(:disabled),#root .btn-primary-sm:hover,#root .btn-save-primary:hover,#root .btn-add-contact:hover,#root .btn-add-fee:hover,#root .btn-add-item:hover,#root .btn-upload-qr:hover{background:var(--ps-primary-dark, #134e4a);color:#fff}#root .btn-outline,#root .btn-ghost,#root .btn-action,#root .btn-expand{border:1px solid var(--ps-border, #e2e6ed);background:#fff;background-image:none;color:var(--ps-text-secondary, #64748b);border-radius:var(--ps-radius-xs, 6px)}#root .btn-outline:hover:not(:disabled),#root .btn-ghost:hover:not(:disabled),#root .btn-action:hover,#root .btn-expand:hover{border-color:var(--ps-primary, #0f766e);color:var(--ps-primary, #0f766e);background:var(--ps-primary-light, #ccfbf1)}#root .btn-danger,#root .btn-action.btn-del,#root .btn-del{background:var(--ps-red, #dc2626);color:#fff;border:none;border-radius:var(--ps-radius-xs, 6px)}#root .btn-danger:hover:not(:disabled),#root .btn-action.btn-del:hover,#root .btn-del:hover{background:#b91c1c;color:#fff}.emp-detail{display:flex;flex-direction:column;gap:4px}.emp-form-hint{font-size:12px;color:var(--ps-text-muted, #94a3b8);margin:-4px 0 8px;padding:6px 10px;background:#f0fdf4;border-radius:6px;border-left:3px solid var(--ps-primary, #0f766e);line-height:1.4}.emp-detail-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--ps-border, #e2e6ed);background:#f8f9fc;border-radius:8px 8px 0 0;overflow:hidden}.emp-detail-tab{flex:1;padding:8px 16px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--ps-text-secondary, #64748b);cursor:pointer;transition:all .15s;border-bottom:2px solid transparent;white-space:nowrap}.emp-detail-tab:hover{color:var(--ps-text, #1e293b);background:#f0f2f5}.emp-detail-tab.active{color:var(--ps-primary, #0f766e);border-bottom-color:var(--ps-primary, #0f766e);background:#fff;font-weight:600}.emp-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 16px}.emp-info-item{display:flex;flex-direction:column;gap:2px;padding:5px 0}.emp-info-item.full-width{grid-column:1 / -1}.emp-info-label{font-size:11px;color:var(--ps-text-muted, #94a3b8);font-weight:500}.emp-info-value{font-size:14px;color:var(--ps-text, #1e293b);font-weight:600}.emp-info-value.id-value{font-family:SF Mono,Cascadia Code,monospace;font-size:12px;color:var(--ps-primary, #0f766e)}.emp-salary-section{margin-top:0}.emp-salary-section .detail-section-title{font-size:13px;font-weight:600;color:var(--ps-text, #1e293b);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--ps-border, #eef0f4);display:flex;align-items:center;gap:6px}.salary-table{width:100%;border-collapse:collapse;font-size:13px}.salary-table thead th{padding:7px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--ps-text-secondary, #64748b);background:#f1f5f9;border-bottom:1px solid var(--ps-border, #e2e6ed);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.salary-table tbody td{padding:6px 10px;color:var(--ps-text, #1e293b);border-bottom:1px solid #f0f2f5;vertical-align:middle}.salary-table tbody tr{transition:background .15s;cursor:pointer}.salary-table tbody tr:hover{background:#f8f9fc}.salary-table tbody tr:last-child td{border-bottom:none}.salary-table .salary-money{font-weight:600;color:var(--ps-primary, #0f766e);font-variant-numeric:tabular-nums}.salary-table .salary-money.expense{color:var(--ps-red, #dc2626)}.salary-table .salary-month{font-weight:600;color:var(--ps-text, #1e293b)}.salary-empty{text-align:center;padding:30px 20px;color:var(--ps-text-muted, #94a3b8);font-size:13px}.emp-permission-info{padding:8px 0}.emp-permission-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f8f9fc;border-radius:8px;margin-bottom:6px}.emp-permission-item:last-child{margin-bottom:0}.emp-permission-role{font-size:14px;font-weight:600;color:var(--ps-text, #1e293b)}.emp-permission-status{font-size:12px;padding:2px 8px;border-radius:10px;font-weight:500}.emp-permission-status.active{background:var(--ps-green-bg, #d1fae5);color:var(--ps-green, #059669)}.emp-permission-status.disabled{background:#fef2f2;color:var(--ps-red, #dc2626)}.emp-status-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.emp-status-badge.active{background:var(--ps-green-bg, #d1fae5);color:var(--ps-green, #059669)}.emp-status-badge.probation{background:var(--ps-accent-bg, #fffbeb);color:var(--ps-accent, #d97706)}.emp-status-badge.resigned{background:#fef2f2;color:var(--ps-red, #dc2626)}.emp-status-badge.suspended{background:#f0f2f5;color:var(--ps-text-muted, #94a3b8)}.emp-account-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.emp-account-badge.enabled{background:var(--ps-green-bg, #d1fae5);color:var(--ps-green, #059669)}.emp-account-badge.disabled{background:#fef2f2;color:var(--ps-red, #dc2626)}.emp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.emp-form-group{display:flex;flex-direction:column;gap:3px}.emp-form-group label{font-size:12px;font-weight:500;color:var(--ps-text-secondary, #64748b)}.emp-form-group input,.emp-form-group select,.emp-form-group textarea{padding:6px 10px;border:1px solid var(--ps-border, #e2e6ed);border-radius:6px;font-size:13px;color:var(--ps-text, #1e293b);background:#fff;transition:all .2s;outline:none;box-sizing:border-box}.emp-form-group input:focus,.emp-form-group select:focus,.emp-form-group textarea:focus{border-color:var(--ps-primary, #0f766e);box-shadow:0 0 0 3px #0f766e1a}.emp-form-group textarea{resize:vertical;min-height:60px}.emp-form-group .required:after{content:" *";color:var(--ps-red, #dc2626)}.salary-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.salary-detail-item{display:flex;flex-direction:column;gap:2px;padding:4px 0}.salary-detail-item.full-width{grid-column:1 / -1}.salary-detail-label{font-size:11px;color:var(--ps-text-muted, #94a3b8);font-weight:500}.salary-detail-value{font-size:14px;color:var(--ps-text, #1e293b);font-weight:600}.salary-detail-value.money{color:var(--ps-primary, #0f766e)}@media (max-width: 768px){.emp-info-grid{grid-template-columns:1fr 1fr}.emp-form-row{grid-template-columns:1fr}.emp-detail-tabs{flex-wrap:wrap}.emp-detail-tab{flex:none;padding:6px 12px;font-size:12px}.salary-table{font-size:12px}.salary-table thead th,.salary-table tbody td{padding:5px 6px}}@media (max-width: 480px){.emp-info-grid,.salary-detail-grid{grid-template-columns:1fr}}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:12px 0}.permission-card{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border-color, #e2e6ed);border-radius:var(--radius-md, 8px);background:var(--bg-surface, #fff);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.permission-card:hover{border-color:var(--primary-color, #0f766e);box-shadow:0 0 0 2px var(--primary-bg, #ccfbf1)}.permission-card.checked{border-color:var(--primary-color, #0f766e);background:var(--primary-bg, #ccfbf1)}.permission-card input[type=checkbox]{accent-color:var(--primary-color, #0f766e);cursor:pointer;flex-shrink:0}.permission-card .perm-label{font-size:13px;color:var(--text-primary, #1e293b);font-weight:500;line-height:1.3}.permission-card.checked .perm-label{color:var(--primary-color, #0f766e);font-weight:600}.role-stats{display:flex;gap:12px;flex-wrap:wrap}.role-stat-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b);padding:4px 10px;background:var(--bg-muted, #f8f9fc);border-radius:6px;white-space:nowrap}.role-stat-item svg{color:var(--primary-color, #0f766e);flex-shrink:0}.role-stat-item .stat-num{font-weight:600;color:var(--text-primary, #1e293b)}.permission-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--primary-bg, #ccfbf1);color:var(--primary-color, #0f766e);margin:1px 2px;white-space:nowrap}.permission-badge.more{background:var(--bg-muted, #f1f5f9);color:var(--text-muted, #94a3b8)}.role-form{display:flex;flex-direction:column;gap:12px}.role-form .form-field{display:flex;flex-direction:column;gap:4px}.role-form .form-field label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.role-form .form-field input,.role-form .form-field textarea{padding:8px 12px;border:1px solid var(--border-color, #e2e6ed);border-radius:var(--radius-md, 8px);font-size:13px;font-family:var(--font-family);transition:all .15s;outline:none}.role-form .form-field input:focus,.role-form .form-field textarea:focus{border-color:var(--primary-color, #0f766e);box-shadow:0 0 0 3px var(--primary-bg, #ccfbf1)}.role-form .form-field textarea{resize:vertical;min-height:60px}.permission-section-title{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);padding:8px 0 4px;border-top:1px solid var(--border-light, #f0f2f5);margin-top:4px;display:flex;align-items:center;gap:6px}.permission-section-title svg{color:var(--primary-color, #0f766e)}.permission-count{font-size:12px;color:var(--text-muted, #94a3b8);font-weight:400;margin-left:auto}.role-name-cell{display:flex;align-items:center;gap:8px}.role-name-avatar{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--primary-color, #0f766e);flex-shrink:0}.role-name-text{font-weight:600;color:var(--text-primary, #1e293b)}.role-desc-text{color:var(--text-secondary, #64748b);font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-count-cell{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary, #1e293b)}.lock-screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(135deg,#0f0f1a,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;animation:lockFadeIn .4s ease}@keyframes lockFadeIn{0%{opacity:0}to{opacity:1}}.lock-screen-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:48px 40px 36px;max-width:420px;width:90%;text-align:center;animation:lockSlideUp .5s ease}@keyframes lockSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.lock-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;box-shadow:0 8px 32px #6366f14d}.lock-title{font-size:22px;font-weight:700;color:#fff;margin:0 0 6px}.lock-subtitle{font-size:14px;color:#ffffff80;margin:0 0 28px}.lock-form{display:flex;flex-direction:column;gap:14px}.lock-input-group{display:flex;align-items:center;gap:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:0 14px;transition:all .2s}.lock-input-group:focus-within{border-color:#6366f180;background:#ffffff14;box-shadow:0 0 0 3px #6366f11f}.lock-input-icon{color:#ffffff4d;flex-shrink:0}.lock-input-group input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:15px;padding:14px 10px;font-family:inherit}.lock-input-group input::placeholder{color:#ffffff4d}.lock-pwd-toggle{background:none;border:none;color:#ffffff4d;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s}.lock-pwd-toggle:hover{color:#fff9}.lock-error{color:#f87171;font-size:13px;margin:0;text-align:left;animation:lockShake .3s ease}@keyframes lockShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.lock-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px;font-family:inherit}.lock-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #6366f14d}.lock-submit-btn:active{transform:translateY(0)}.lock-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.lock-loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:lockSpin .6s linear infinite}@keyframes lockSpin{to{transform:rotate(360deg)}}.lock-role-list{display:flex;flex-direction:column;gap:12px}.lock-role-btn{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.lock-role-btn:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.lock-role-btn:active{transform:translateY(0)}.lock-role-btn.boss:hover{border-color:#6366f180;box-shadow:0 4px 20px #6366f126}.lock-role-btn.employee:hover{border-color:#10b98180;box-shadow:0 4px 20px #10b98126}.lock-role-btn.boss svg{color:#818cf8}.lock-role-btn.employee svg{color:#34d399}.lock-role-info{display:flex;flex-direction:column;gap:2px}.lock-role-name{font-size:16px;font-weight:600}.lock-role-desc{font-size:12px;color:#fff6}.lock-select-group{padding:0 14px}.lock-select{flex:1;background:none;border:none;outline:none;color:#fff;font-size:15px;padding:14px 10px;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lock-select option{background:#1a1a2e;color:#fff;padding:8px}.lock-link-btn{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:13px;margin-top:16px;padding:8px 0;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:4px;width:100%;transition:color .15s}.lock-link-btn:hover{color:#fffc}:root{--primary-color: #4361ee;--primary-light: #728af5;--primary-dark: #3a56d4;--primary-bg: rgba(67, 97, 238, .08);--primary-gradient: linear-gradient(135deg, #4361ee 0%, #728af5 100%);--secondary-color: #f72585;--secondary-light: #f95d9b;--secondary-dark: #d91a70;--secondary-bg: rgba(247, 37, 133, .08);--success-color: #06d6a0;--success-bg: rgba(6, 214, 160, .1);--warning-color: #ffd166;--warning-bg: rgba(255, 209, 102, .15);--error-color: #ef476f;--error-bg: rgba(239, 71, 111, .1);--info-color: #118ab2;--info-bg: rgba(17, 138, 178, .1);--text-primary: #1a1a2e;--text-secondary: #4a4a68;--text-muted: #8b8ba7;--text-disabled: #c5c5d5;--bg-muted: #f0f0f5;--bg-base: #f8f9fc;--bg-surface: #ffffff;--bg-hover: rgba(67, 97, 238, .04);--border-color: #e8e9f0;--border-light: #f0f1f5;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 32px;--spacing-8: 40px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(26, 26, 46, .04);--shadow-md: 0 4px 6px rgba(26, 26, 46, .06);--shadow-lg: 0 10px 15px rgba(26, 26, 46, .08);--transition-fast: .15s ease;--transition-normal: .25s ease;--sidebar-width: 220px;--header-height: 56px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-base);line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
