.vd-page{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:5rem}.vd-back-link{background:none;border:none;padding:0;font-size:.875rem;color:var(--primary);cursor:pointer;font-family:inherit;align-self:flex-start;display:flex;align-items:center;gap:.375rem;box-shadow:none}.vd-back-link:hover:not(:disabled){color:var(--primary-hover);background:none;transform:none;box-shadow:none}.vd-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.vd-title-left{display:flex;flex-direction:column;gap:.25rem}.vd-code-row{display:flex;align-items:center;gap:.75rem}.vd-code{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.vd-subtitle{font-size:1rem;font-weight:400;color:var(--text-secondary);margin:0}.vd-status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600}.vd-status-badge.inquiry{background:#eff6ff;color:#2563eb}.vd-status-badge.planned{background:#f5f3ff;color:#7c3aed}.vd-status-badge.inprogress{background:#fffbeb;color:#d97706}.vd-status-badge.offer{background:#ecfeff;color:#0891b2}.vd-status-badge.order{background:#f0fdf4;color:#16a34a}.vd-status-badge.invoice{background:#fff7ed;color:#ea580c}.vd-status-badge.completed{background:#f0fdf4;color:#15803d}.vd-status-badge.cancelled{background:#fef2f2;color:#dc2626}.vd-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.vd-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;box-shadow:none;transition:border-color .15s,box-shadow .15s;white-space:nowrap}.vd-action-btn:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-sm);background:var(--bg-primary);transform:none}.vd-action-btn.icon-only{padding:.5rem .625rem}.vd-meta-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.vd-meta-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary)}.vd-meta-chip-label{color:var(--text-tertiary)}.vd-meta-chip-value{color:var(--text-primary);font-weight:500}.vd-meta-customer{margin-left:auto;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.375rem}.vd-meta-customer-name{font-weight:600;color:var(--text-primary)}.vd-stepper-wrap{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem 2rem;box-shadow:var(--shadow-sm)}.vd-stepper{display:flex;align-items:flex-start;position:relative}.vd-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.vd-step-connector{position:absolute;top:18px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:var(--border-light);z-index:0}.vd-step-connector.done{background:var(--success)}.vd-step:last-child .vd-step-connector{display:none}.vd-step-circle{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-light);color:var(--text-tertiary);font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:background .15s,border-color .15s}.vd-step.completed .vd-step-circle{background:var(--success);border-color:var(--success);color:#fff}.vd-step.current .vd-step-circle{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-light)}.vd-step-info{margin-top:.5rem;text-align:center}.vd-step-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.vd-step.current .vd-step-label{color:var(--primary)}.vd-step.completed .vd-step-label{color:var(--text-primary)}.vd-step-sublabel{display:block;font-size:.6875rem;color:var(--text-tertiary);margin-top:.125rem}.vd-step.current .vd-step-sublabel{color:var(--primary);font-weight:500}.vd-tab-bar{display:flex;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:0 .5rem;box-shadow:var(--shadow-sm);overflow-x:auto;scrollbar-width:none}.vd-tab-bar::-webkit-scrollbar{display:none}.vd-tab{padding:.875rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:inherit;box-shadow:none;transition:color .15s}.vd-tab:hover:not(:disabled){color:var(--text-primary);background:none;transform:none;box-shadow:none}.vd-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.vd-body{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}.vd-main{display:flex;flex-direction:column;gap:1rem}.vd-section-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.vd-sec-heading{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .625rem}.vd-desc-text{font-size:.9375rem;color:var(--text-primary);line-height:1.6;margin:0}.vd-location-line{display:flex;align-items:flex-start;gap:.5rem;font-size:.9375rem;color:var(--text-primary)}.vd-location-ico{margin-top:.125rem;flex-shrink:0}.vd-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.vd-info-block{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm)}.vd-info-block-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.625rem}.vd-technician-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.vd-technician-info{display:flex;align-items:center;gap:.625rem}.vd-tech-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#2563eb);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vd-tech-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.vd-tech-phone{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.vd-edit-inline-btn{background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.25rem .4375rem;cursor:pointer;color:var(--text-secondary);font-size:.8125rem;box-shadow:none}.vd-edit-inline-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:none;transform:none;box-shadow:none}.vd-sched-main{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.vd-sched-sub{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.vd-duration-main{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.vd-attach-grid{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.vd-attach-thumb{position:relative;width:140px}.vd-attach-img{width:140px;height:96px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-light)}.vd-attach-file-box{width:140px;height:96px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem}.vd-attach-file-ico{font-size:1.75rem}.vd-attach-file-name{font-size:.6875rem;color:var(--text-secondary);text-align:center;padding:0 .25rem;word-break:break-all;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-attach-label{font-size:.6875rem;color:var(--text-secondary);margin-top:.25rem}.vd-attach-delete{position:absolute;top:4px;right:4px;background:#0000008c;border:none;border-radius:50%;width:20px;height:20px;color:#fff;font-size:.6875rem;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1;box-shadow:none;padding:0}.vd-attach-thumb:hover .vd-attach-delete{display:flex}.vd-attach-delete:hover:not(:disabled){background:#dc2626cc;transform:none;box-shadow:none}.vd-add-files-box{width:140px;height:96px;border-radius:var(--radius-md);border:2px dashed var(--border-medium);background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--text-secondary);font-family:inherit;box-shadow:none;transition:border-color .15s,color .15s}.vd-add-files-box:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:none;transform:none;box-shadow:none}.vd-add-files-ico{font-size:1.25rem}.vd-notes-text{font-size:.9375rem;color:var(--text-primary);line-height:1.6;margin:0;white-space:pre-wrap}.vd-notes-empty{font-size:.875rem;color:var(--text-tertiary);margin:0;font-style:italic}.vd-sidebar{display:flex;flex-direction:column;gap:1rem}.vd-sb-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.125rem 1.25rem;box-shadow:var(--shadow-sm)}.vd-sb-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.vd-sb-card-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.vd-sb-edit-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);font-size:.875rem;box-shadow:none}.vd-sb-edit-btn:hover:not(:disabled){color:var(--primary);background:none;transform:none;box-shadow:none}.vd-cust-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.vd-cust-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vd-cust-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.vd-cust-contact{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.vd-profile-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;color:var(--primary);cursor:pointer;font-family:inherit;text-align:left;box-shadow:none;transition:background .1s}.vd-profile-link:hover:not(:disabled){background:var(--bg-hover);transform:none;box-shadow:none}.vd-job-info-table{display:flex;flex-direction:column;gap:.5rem}.vd-job-info-row{display:flex;gap:.5rem;font-size:.8125rem}.vd-job-info-key{color:var(--text-secondary);min-width:90px;flex-shrink:0;display:flex;align-items:center;gap:.375rem}.vd-job-info-val{color:var(--text-primary);font-weight:500;word-break:break-word}.vd-next-action{display:flex;flex-direction:column;gap:.75rem}.vd-na-header{display:flex;align-items:center;justify-content:space-between}.vd-na-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.vd-na-required{font-size:.6875rem;font-weight:600;color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:.125rem .375rem}.vd-na-body{display:flex;gap:.75rem;align-items:flex-start}.vd-na-icon{width:32px;height:32px;border-radius:50%;background:#f0fdf4;border:2px solid var(--success);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.vd-na-text h5{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.vd-na-text p{font-size:.8125rem;color:var(--text-secondary);margin:0}.vd-na-action-btn{width:100%;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--primary);cursor:pointer;font-family:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;box-shadow:none;transition:background .1s}.vd-na-action-btn:hover:not(:disabled){background:var(--bg-hover);transform:none;box-shadow:none}.vd-quick-actions-label{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .625rem}.vd-quick-row{display:flex;gap:.5rem}.vd-quick-btn{flex:1;padding:.5rem .25rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.75rem;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:.25rem;box-shadow:none;transition:box-shadow .15s,background .15s}.vd-quick-btn:hover:not(:disabled){background:var(--bg-primary);box-shadow:var(--shadow-sm);transform:none}.vd-quick-btn-ico{font-size:1rem}.vd-checklist-wrap{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.vd-completeness-bar-wrap{margin-bottom:1rem}.vd-completeness-pct{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.vd-completeness-track{height:8px;background:var(--bg-tertiary);border-radius:9999px;overflow:hidden}.vd-completeness-fill{height:100%;background:var(--success);border-radius:9999px;transition:width .3s}.vd-checklist-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem}.vd-checklist-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-md);background:var(--bg-secondary)}.vd-checklist-item.ok{background:#f0fdf4}.vd-checklist-item.missing{background:#fff7ed}.vd-checklist-ico{font-size:1rem;flex-shrink:0}.vd-checklist-item-label{flex:1;font-size:.875rem;color:var(--text-primary)}.vd-checklist-item-status{font-size:.75rem;font-weight:600}.ok .vd-checklist-item-status{color:var(--success)}.missing .vd-checklist-item-status{color:#d97706}.vd-edit-overlay{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.vd-edit-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.vd-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.vd-edit-field{display:flex;flex-direction:column;gap:.375rem}.vd-edit-field.full-width{grid-column:1 / -1}.vd-edit-label{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.vd-edit-input,.vd-edit-select,.vd-edit-textarea{padding:.5rem .75rem;font-size:.9375rem;font-family:inherit;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.vd-edit-input:focus,.vd-edit-select:focus,.vd-edit-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.vd-edit-textarea{resize:vertical;min-height:80px}.vd-edit-actions{display:flex;justify-content:flex-end;gap:.625rem}.vd-edit-cancel{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;box-shadow:none}.vd-edit-cancel:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-primary);transform:none;box-shadow:none}.vd-edit-save{padding:.5rem 1.25rem;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;font-family:inherit;box-shadow:none}.vd-edit-save:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:none;box-shadow:none}.vd-edit-save:disabled,.vd-edit-cancel:disabled{opacity:.6;cursor:not-allowed}.vd-footer{position:fixed;bottom:0;left:240px;right:0;display:flex;align-items:center;justify-content:space-between;padding:.875rem 2rem;background:var(--bg-primary);border-top:1px solid var(--border-light);box-shadow:0 -2px 8px #0000000f;z-index:10}.sidebar.collapsed~.main-wrapper .vd-footer{left:68px}.vd-footer-right{display:flex;gap:.625rem;align-items:center}.vd-delete-btn{padding:.5rem 1rem;background:none;border:1px solid var(--danger);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--danger);cursor:pointer;font-family:inherit;box-shadow:none;transition:background .15s}.vd-delete-btn:hover:not(:disabled){background:var(--danger-light);transform:none;box-shadow:none}.vd-save-btn{padding:.5rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;box-shadow:none}.vd-save-btn:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-sm);background:var(--bg-primary);transform:none}.vd-continue-btn{padding:.5rem 1.5rem;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:.375rem;box-shadow:none}.vd-continue-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:none}.vd-continue-btn:disabled,.vd-save-btn:disabled,.vd-delete-btn:disabled{opacity:.5;cursor:not-allowed}.vd-placeholder{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-sm);color:var(--text-secondary);font-size:.9375rem}@media(max-width:1024px){.vd-body{grid-template-columns:1fr}.vd-sidebar{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:768px){.vd-info-row,.vd-edit-grid{grid-template-columns:1fr}.vd-footer{left:0;padding:.75rem 1rem}.vd-sidebar{grid-template-columns:1fr}.vd-header-actions .vd-action-btn span{display:none}}.vd-invoice-tab{display:flex;flex-direction:column;gap:1.25rem}.vd-invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-top:.75rem}.vd-invoice-meta{display:flex;flex-direction:column;gap:.25rem}.vd-invoice-number{font-weight:600;font-size:1.125rem;color:var(--text-primary)}.vd-invoice-date{font-size:.875rem;color:var(--text-secondary)}.vd-invoice-customer{text-align:right;font-size:.875rem;color:var(--text-secondary)}.vd-invoice-customer strong{display:block;color:var(--text-primary);margin-bottom:.125rem}.vd-invoice-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.vd-invoice-action-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left}.vd-invoice-action-btn:hover:not(:disabled){border-color:var(--brand);box-shadow:0 0 0 2px #2563eb14}.vd-invoice-action-btn:disabled{opacity:.5;cursor:not-allowed}.vd-invoice-action-ico{font-size:1.5rem;flex-shrink:0}.vd-invoice-action-text{display:flex;flex-direction:column;gap:.125rem}.vd-invoice-action-text strong{font-size:.9375rem;color:var(--text-primary)}.vd-invoice-action-text span{font-size:.8125rem;color:var(--text-secondary)}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.page-subtitle{color:var(--text-secondary);font-size:.95rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light);padding-bottom:0}.filter-tabs .tab{padding:.75rem 1.5rem;background:none;border:none;color:var(--text-secondary);font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;font-size:.95rem}.filter-tabs .tab:hover{color:var(--text-primary);background:var(--bg-hover)}.filter-tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary)}.search-bar{margin-bottom:1.5rem}.search-input{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--border-light);border-radius:8px;font-size:.95rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.companies-list{display:flex;flex-direction:column;gap:1.5rem}.company-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:12px;padding:1.5rem;transition:box-shadow .2s}.company-card:hover{box-shadow:var(--shadow-md)}.company-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--bg-tertiary)}.company-info{display:flex;align-items:center;gap:1rem}.company-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.company-meta{color:var(--text-secondary);font-size:.875rem}.company-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:1.5rem}.detail-row{display:flex;gap:.5rem}.detail-row .label{font-weight:500;color:var(--text-secondary);min-width:100px}.detail-row .value{color:var(--text-primary)}.company-actions{display:flex;flex-direction:column;gap:1rem}.action-group{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.reject-group,.suspend-group{display:flex;gap:.5rem;flex:1;min-width:300px}.reason-input{flex:1;padding:.625rem 1rem;border:1px solid var(--border-light);border-radius:6px;font-size:.875rem;transition:border-color .2s}.reason-input:focus{outline:none;border-color:var(--primary)}.btn{padding:.625rem 1.25rem;border:none;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-approve{background:var(--success);color:#fff}.btn-approve:hover:not(:disabled){opacity:.9}.btn-reject{background:var(--danger);color:#fff}.btn-reject:hover:not(:disabled){opacity:.9}.btn-suspend{background:var(--warning);color:#fff}.btn-suspend:hover:not(:disabled){opacity:.9}.btn-reactivate{background:var(--info);color:#fff}.btn-reactivate:hover:not(:disabled){opacity:.9}.btn-retry{padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.btn-retry:hover{background:var(--primary-hover)}.action-loading{text-align:center;padding:.75rem;background:var(--bg-hover);border-radius:6px;color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.error-state{color:var(--danger)}.empty-state{background:var(--bg-secondary);border-radius:12px;border:2px dashed var(--border-medium)}@media(max-width:768px){.company-management-page{padding:1rem}.company-header{flex-direction:column;gap:.75rem}.company-details{grid-template-columns:1fr}.action-group{flex-direction:column;align-items:stretch}.reject-group,.suspend-group{min-width:100%;flex-direction:column}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-tabs .tab{white-space:nowrap}}.vm-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.vm-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0003;width:100%;max-width:720px;display:flex;flex-direction:column;max-height:calc(100vh - 4rem);overflow:hidden}.vm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light);flex-shrink:0}.vm-dialog-title-row{display:flex;align-items:center;gap:.625rem}.vm-dialog-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.vm-back-btn,.vm-close-btn{width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.vm-back-btn{border:1px solid var(--border-medium)}.vm-close-btn{border:none}.vm-back-btn:hover,.vm-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.vm-dialog-body{flex:1;overflow-y:auto}.vm-dialog-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light);flex-shrink:0}.vm-btn-cancel{padding:.5rem 1rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .15s}.vm-btn-cancel:hover:not(:disabled){background:var(--bg-hover)}.vm-btn-save{padding:.5rem 1.25rem;border:none;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.vm-btn-save:hover:not(:disabled){background:var(--primary-hover)}.vm-btn-cancel:disabled,.vm-btn-save:disabled{opacity:.5;cursor:not-allowed}.vm-picker{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.vm-picker-sub{font-size:.875rem;color:var(--text-secondary);margin:0}.vm-picker-search-wrap{position:relative}.vm-search-ico{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.vm-search-input{width:100%;padding:.5rem .625rem .5rem 2rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.vm-search-input:focus{outline:none;border-color:var(--primary)}.vm-cat-tabs{display:flex;gap:.375rem;flex-wrap:wrap}.vm-cat-tab{padding:.3125rem .875rem;border:1px solid var(--border-medium);border-radius:9999px;background:var(--bg-primary);color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.vm-cat-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.vm-cat-tab--active{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:500}.vm-supplier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.625rem;max-height:320px;overflow-y:auto;padding-right:.25rem}.vm-supplier-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}.vm-supplier-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.vm-supplier-avatar{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.vm-supplier-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.vm-supplier-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vm-supplier-badges{display:flex;gap:.25rem;flex-wrap:wrap}.vm-no-results{grid-column:1 / -1;text-align:center;color:var(--text-secondary);font-size:.875rem;padding:1.5rem;margin:0}.vm-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;white-space:nowrap}.vm-badge-cat{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light)}.vm-badge-fmt{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.vm-picker-footer{padding-top:.625rem;border-top:1px solid var(--border-light)}.vm-custom-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px dashed var(--border-medium);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:border-color .15s,color .15s}.vm-custom-btn:hover{border-color:var(--primary);color:var(--primary)}.vm-preset-badge{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.vm-preset-avatar{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.vm-preset-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.vm-preset-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.vm-preset-hint{font-size:.75rem;color:var(--text-secondary)}.vm-form-fields{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.vm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.vm-field{display:flex;flex-direction:column;gap:.25rem}.vm-field--error .vm-input,.vm-field--error .vm-textarea{border-color:#dc2626}.vm-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.vm-req{color:#dc2626}.vm-input{padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);width:100%;box-sizing:border-box}.vm-input:focus,.vm-textarea:focus{outline:none;border-color:var(--primary)}.vm-textarea{padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);resize:vertical;font-family:inherit;width:100%;box-sizing:border-box}.vm-error-msg{font-size:.75rem;color:#dc2626}.vm-check-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.vm-save-error{color:#dc2626;font-size:.875rem;padding:0 1.5rem .75rem;margin:0}@media(max-width:540px){.vm-overlay{padding:0}.vm-dialog{border-radius:0;max-height:100vh}.vm-form-row,.vm-supplier-grid{grid-template-columns:1fr}}.vn-page{padding:2rem;max-width:1400px}.vn-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.vn-page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.vn-page-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.vn-body{display:flex;gap:1.25rem;align-items:flex-start}.vn-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.vn-sidebar-heading{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;padding:0 .25rem}.vn-vendor-list{display:flex;flex-direction:column;gap:.375rem}.vn-loading,.vn-empty-message{padding:.875rem;border:1px dashed var(--border-light);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-secondary);background:var(--bg-secondary)}.vn-list-error{padding:.875rem;border:1px solid #fecaca;border-radius:var(--radius-md);background:#fef2f2;display:flex;flex-direction:column;gap:.5rem}.vn-list-error p{margin:0;color:#b91c1c;font-size:.8125rem}.vn-vendor-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}.vn-vendor-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.vn-vendor-item--selected{border-color:var(--primary);background:var(--primary-light)}.vn-vendor-avatar{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.vn-vendor-meta{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.vn-vendor-name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vn-vendor-stat{font-size:.75rem;color:var(--text-secondary)}.vn-chevron{color:var(--text-tertiary);flex-shrink:0}.vn-add-vendor-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem;border:1px dashed var(--border-medium);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.875rem;cursor:pointer;width:100%;transition:border-color .15s,color .15s}.vn-add-vendor-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.vn-add-vendor-btn:disabled{opacity:.5;cursor:not-allowed}.vn-about-box{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.vn-about-title{font-size:.8rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.vn-about-text{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:0 0 .625rem}.vn-about-link{font-size:.8rem;color:var(--primary);cursor:pointer}.vn-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden}.vn-detail--empty{align-items:center;justify-content:center;min-height:260px;padding:2rem;color:var(--text-secondary);font-size:.9rem;text-align:center}.vn-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.vn-detail-header-left{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.vn-detail-avatar{width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.vn-detail-info{flex:1;min-width:0}.vn-detail-name-row{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem}.vn-detail-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.vn-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem 1.5rem}.vn-contact-field{display:flex;flex-direction:column;gap:.125rem}.vn-contact-label{font-size:.7rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.vn-contact-value{font-size:.8rem;color:var(--text-primary)}.vn-detail-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.vn-tab-bar{display:flex;gap:0;padding:0 1.5rem;border-bottom:1px solid var(--border-light);background:var(--bg-primary)}.vn-tab{padding:.75rem 0;margin-right:1.5rem;border:none;border-bottom:2px solid transparent;background:transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.vn-tab:hover{color:var(--text-primary)}.vn-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.vn-tab-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.vn-overview-empty{padding:3rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.vn-overview{display:flex;flex-direction:column;gap:1.25rem}.vn-overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem}.vn-stat-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.vn-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.vn-stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;font-weight:500;letter-spacing:.04em}.vn-integration-card{padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.625rem}.vn-integration-header{display:flex;align-items:center;gap:.75rem}.vn-integration-avatar{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.vn-integration-meta{flex:1;display:flex;flex-direction:column;gap:.125rem}.vn-integration-title{font-size:.875rem;font-weight:600;color:#1d4ed8}.vn-integration-sub{font-size:.75rem;color:#3b82f6}.vn-integration-hint{font-size:.8125rem;color:#1e3a8a;margin:0;line-height:1.5}.vn-integration-link{font-size:.8125rem;color:#2563eb;text-decoration:none;font-weight:500;align-self:flex-start}.vn-integration-link:hover{text-decoration:underline}.vn-notes-card{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.vn-notes-title{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem}.vn-notes-text{font-size:.875rem;color:var(--text-primary);margin:0;white-space:pre-wrap;line-height:1.6}.vn-badge-fmt{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.vn-section{display:flex;flex-direction:column;gap:.875rem}.vn-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.vn-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;display:flex;align-items:center;gap:.625rem}.vn-section-subtitle{font-size:.8rem;color:var(--text-secondary);margin:0}.vn-article-count{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.vn-markup-bar{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.vn-markup-default{display:flex;flex-direction:column;align-items:flex-end;gap:.0625rem}.vn-markup-label{font-size:.7rem;color:var(--text-secondary)}.vn-markup-value{font-size:.875rem;font-weight:700;color:var(--primary)}.vn-filters{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.vn-search-wrap{position:relative;flex:1;min-width:180px;max-width:260px}.vn-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.vn-search-input{width:100%;padding:.5rem .625rem .5rem 2rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--bg-primary);color:var(--text-primary)}.vn-search-input:focus{outline:none;border-color:var(--primary)}.vn-filter-group{display:flex;flex-direction:column;gap:0;position:relative}.vn-filter-label{font-size:.7rem;font-weight:500;color:var(--text-secondary);position:absolute;top:.3125rem;left:.625rem;pointer-events:none;z-index:1}.vn-filter-select{padding:1.125rem 1.875rem .3125rem .625rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--bg-primary);color:var(--text-primary);min-width:140px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;cursor:pointer}.vn-filter-select:focus{outline:none;border-color:var(--primary)}.vn-reset-btn{padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:transparent;color:var(--primary);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.vn-reset-btn:hover{background:var(--primary-light)}.vn-table{width:100%;border-collapse:collapse;font-size:.8125rem}.vn-table th{padding:.625rem .75rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-light);white-space:nowrap}.vn-table td{padding:.75rem;border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.vn-table tbody tr:last-child td{border-bottom:none}.vn-table tbody tr:hover{background:var(--bg-hover)}.vn-th-sub{font-weight:400;color:var(--text-tertiary);font-size:.7rem}.vn-file-name{font-weight:500}.vn-article-no{font-family:monospace;font-size:.8rem;color:var(--text-secondary)}.vn-price-cell{text-align:right;font-variant-numeric:tabular-nums}.vn-markup-cell{text-align:center;color:var(--text-secondary)}.vn-actions-cell{white-space:nowrap;text-align:right}.vn-empty-row{text-align:center;color:var(--text-secondary);font-style:italic;padding:2rem!important}.vn-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .625rem;border-radius:9999px;font-size:.7rem;font-weight:600;white-space:nowrap}.vn-badge-active,.vn-badge-imported{background:#dcfce7;color:#166534}.vn-badge-failed{background:#fee2e2;color:#991b1b}.vn-badge-inactive{background:#e5e7eb;color:#4b5563}.vn-btn-primary{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.vn-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.vn-btn-primary:disabled{opacity:.5;cursor:not-allowed}.vn-btn-secondary{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.vn-btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.vn-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.vn-btn-secondary--sm{padding:.375rem .625rem;font-size:.8125rem}.vn-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.vn-file-input-hidden{display:none}.vn-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.vn-icon-btn--border{border:1px solid var(--border-medium)}.vn-link-btn{background:none;border:none;padding:0;color:var(--primary);font-size:.8125rem;font-weight:500;cursor:pointer;text-align:left}.vn-link-btn:hover{text-decoration:underline}.vn-pagination{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--border-light)}.vn-pagination-info{font-size:.8125rem;color:var(--text-secondary)}.vn-pagination-controls{display:flex;align-items:center;gap:.25rem}.vn-page-btn{min-width:32px;height:32px;padding:0 .375rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.vn-page-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.vn-page-btn:disabled{opacity:.4;cursor:not-allowed}.vn-page-btn--active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.vn-page-ellipsis{padding:0 .25rem;color:var(--text-secondary);font-size:.875rem}.vn-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:1024px){.vn-overview-stats{grid-template-columns:repeat(2,1fr)}.vn-body{flex-direction:column}.vn-sidebar{width:100%}.vn-vendor-list{display:grid;grid-template-columns:repeat(2,1fr)}.vn-contact-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.vn-page{padding:1rem}.vn-vendor-list,.vn-contact-grid{grid-template-columns:1fr}.vn-detail-header{flex-direction:column}.vn-filters{flex-direction:column;align-items:stretch}.vn-search-wrap{max-width:100%}}.dashboard-page{padding:0;display:flex;flex-direction:column;gap:1.5rem}.db-skeleton{display:flex;flex-direction:column;gap:1.25rem}.skeleton-line{height:28px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-line.wide{width:55%}.skeleton-line.medium{width:35%}.skeleton-cards{height:120px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-pipeline{height:260px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.db-greeting{padding-bottom:.25rem}.db-greeting-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.db-greeting-sub{font-size:.9375rem;color:var(--text-secondary);margin:0}.db-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm)}.db-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.db-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.db-link-btn{background:none;border:none;box-shadow:none;color:var(--primary);font-size:.875rem;font-weight:500;padding:0;cursor:pointer;font-family:inherit}.db-link-btn:hover:not(:disabled){color:var(--primary-hover);background:none;transform:none;box-shadow:none}.db-actions-row{display:flex;gap:1rem;flex-wrap:wrap}.db-action-card{flex:1;min-width:140px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.125rem 1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;cursor:pointer;text-align:left;font-family:inherit;color:inherit;box-shadow:none;transition:box-shadow .15s,transform .15s}.db-action-card:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px);background:var(--bg-primary)}.db-action-icon-wrap{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.375rem;margin-bottom:.5rem}.db-action-count{font-size:1.875rem;font-weight:700;color:var(--text-primary);line-height:1}.db-action-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-top:.125rem}.db-action-sub{font-size:.75rem;color:var(--text-secondary)}.db-pipeline-controls{display:flex;align-items:center;gap:.5rem}.db-view-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-secondary);cursor:default}.db-view-badge.active{background:var(--primary);color:#fff;border-color:var(--primary)}.db-pipeline{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.db-pipeline::-webkit-scrollbar{height:6px}.db-pipeline::-webkit-scrollbar-track{background:transparent}.db-pipeline::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.db-pipeline-col{flex:0 0 220px;min-width:220px;display:flex;flex-direction:column;gap:.625rem}.db-col-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-top:3px solid var(--border-light);margin-bottom:.125rem}.db-col-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.db-col-count{font-size:.875rem;font-weight:700}.db-kanban-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.875rem;display:flex;flex-direction:column;gap:.25rem;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;color:inherit;box-shadow:var(--shadow-sm);width:100%;transition:box-shadow .15s,transform .15s}.db-kanban-card:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.db-card-top{display:flex;justify-content:space-between;align-items:center}.db-card-code{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.db-card-kebab{font-size:1rem;color:var(--text-tertiary);line-height:1;cursor:pointer}.db-card-title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3}.db-card-customer{font-size:.75rem;color:var(--text-secondary)}.db-card-meta{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.db-card-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.375rem}.db-tag{display:inline-block;padding:.2rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;background:var(--info-light);color:var(--info)}.db-col-add-btn{background:none;border:1px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8125rem;font-weight:500;padding:.5rem;cursor:pointer;width:100%;text-align:center;font-family:inherit;box-shadow:none;transition:border-color .15s,color .15s}.db-col-add-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:none;transform:none;box-shadow:none}.db-bottom-row{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem}.db-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.db-quick-btn{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:1.125rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-primary);font-family:inherit;box-shadow:none;transition:box-shadow .15s,transform .15s,background .15s}.db-quick-btn:hover:not(:disabled){background:var(--bg-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.db-quick-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.db-period-tag{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.db-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.db-overview-stat{display:flex;flex-direction:column;gap:.25rem}.db-ov-value{font-size:1.875rem;font-weight:700;line-height:1}.db-ov-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.dashboard-error{text-align:center;padding:3rem 2rem;color:var(--danger)}@media(max-width:900px){.db-bottom-row{grid-template-columns:1fr}}@media(max-width:768px){.db-greeting-title{font-size:1.375rem}.db-actions-row{display:grid;grid-template-columns:repeat(2,1fr)}.db-overview-grid{grid-template-columns:1fr 1fr}}.cwo-page{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.cwo-page-header{display:flex;flex-direction:column;gap:.25rem}.cwo-back-link{background:none;border:none;padding:0;font-size:.875rem;color:var(--primary);cursor:pointer;font-family:inherit;align-self:flex-start;box-shadow:none}.cwo-back-link:hover:not(:disabled){color:var(--primary-hover);background:none;transform:none;box-shadow:none}.cwo-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:.25rem 0 0}.cwo-page-sub{font-size:.9375rem;color:var(--text-secondary);margin:0}.cwo-body{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:start}.cwo-col-left,.cwo-col-right{display:flex;flex-direction:column;gap:1.25rem}.cwo-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.cwo-sec-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.375rem}.cwo-sec-num{color:var(--text-tertiary);font-weight:500}.cwo-req-star{color:var(--danger)}.cwo-sec-sub{font-size:.875rem;color:var(--text-secondary);margin:-.5rem 0 0}.cwo-field{display:flex;flex-direction:column;gap:.4rem}.cwo-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.cwo-input,.cwo-select,.cwo-textarea{width:100%;padding:.5rem .75rem;font-size:.9375rem;font-family:inherit;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.cwo-input:focus,.cwo-select:focus,.cwo-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.cwo-input.input-error,.cwo-textarea.input-error{border-color:var(--danger)}.cwo-textarea{resize:vertical;min-height:96px}.cwo-icon-input-wrap{position:relative;display:flex;align-items:center}.cwo-field-ico{position:absolute;left:.625rem;font-size:1rem;pointer-events:none}.cwo-input.has-icon{padding-left:2.25rem}.cwo-text-link{background:none;border:none;padding:0;font-size:.8125rem;color:var(--primary);cursor:pointer;font-family:inherit;text-align:left;box-shadow:none}.cwo-text-link:hover:not(:disabled){color:var(--primary-hover);background:none;transform:none;box-shadow:none}.cwo-text-link.mt-1{margin-top:.25rem}.cwo-customer-area{position:relative}.cwo-customer-card{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.cwo-cust-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#2563eb);color:#fff;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cwo-cust-info{flex:1;min-width:0}.cwo-cust-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.cwo-cust-line{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.cwo-change-btn{background:none;border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;font-family:inherit;white-space:nowrap;box-shadow:none;transition:border-color .15s,color .15s}.cwo-change-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:none;transform:none;box-shadow:none}.cwo-customer-search-wrap{display:flex;flex-direction:column;gap:.25rem}.cwo-search-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-primary);transition:border-color .15s,box-shadow .15s}.cwo-search-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.cwo-search-ico{font-size:.9375rem;color:var(--text-secondary);flex-shrink:0}.cwo-search-input{flex:1;border:none;outline:none;background:transparent;font-size:.9375rem;font-family:inherit;color:var(--text-primary)}.cwo-search-input::placeholder{color:var(--text-secondary)}.cwo-search-input.input-error{border:none}.cwo-search-arrow{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.cwo-customer-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;max-height:260px;overflow-y:auto}.cwo-drop-row{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.625rem .875rem;width:100%;background:none;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;text-align:left;font-family:inherit;transition:background .1s;box-shadow:none}.cwo-drop-row:last-child{border-bottom:none}.cwo-drop-row:hover:not(:disabled){background:var(--bg-hover);transform:none;box-shadow:none}.cwo-drop-name{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.cwo-drop-addr{font-size:.8125rem;color:var(--text-secondary)}.cwo-drop-empty{padding:.875rem;font-size:.875rem;color:var(--text-secondary);text-align:center}.cwo-job-type-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.cwo-jt-card{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem .5rem;background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;color:var(--text-secondary);transition:border-color .15s,color .15s,background .15s,box-shadow .15s;box-shadow:none}.cwo-jt-card:hover:not(:disabled){border-color:var(--border-medium);background:var(--bg-primary);box-shadow:var(--shadow-sm);transform:none}.cwo-jt-emoji{font-size:1.375rem}.cwo-jt-label{font-size:.75rem;font-weight:600}.cwo-quote-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer}.cwo-quote-toggle input[type=checkbox]{accent-color:var(--primary);width:17px;height:17px;margin-top:.125rem;flex-shrink:0;cursor:pointer}.cwo-quote-toggle-text{display:flex;flex-direction:column;gap:.125rem}.cwo-quote-toggle-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer}.cwo-quote-toggle-sub{font-size:.8125rem;color:var(--text-secondary)}.cwo-template-preview{display:flex;gap:.75rem;padding:.875rem 1rem;background:var(--info-light);border:1px solid var(--info);border-radius:var(--radius-md);margin-top:.25rem}.cwo-tp-icon{font-size:1.25rem;flex-shrink:0;margin-top:.125rem}.cwo-tp-body{display:flex;flex-direction:column;gap:.25rem}.cwo-tp-heading{font-size:.875rem;font-weight:600;color:var(--info)}.cwo-tp-desc{font-size:.8125rem;color:var(--text-secondary)}.cwo-tp-steps{margin:.125rem 0 0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.2rem}.cwo-tp-step{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--info-dark, #1d4ed8)}.cwo-tp-step-name{font-weight:500}.cwo-tp-step-fields{font-size:.75rem;color:var(--text-secondary);font-weight:400}.cwo-priority-list{display:flex;flex-direction:column;gap:.625rem}.cwo-priority-row{display:flex;align-items:center;gap:.625rem;cursor:pointer}.cwo-priority-row input[type=radio]{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0}.cwo-priority-txt{font-size:.9375rem;color:var(--text-primary)}.cwo-priority-txt.emergency{color:var(--danger);font-weight:600}.cwo-dropzone{border:2px dashed var(--border-medium);border-radius:var(--radius-lg);padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.375rem;text-align:center;transition:border-color .15s,background .15s;cursor:default}.cwo-dropzone.dragging{border-color:var(--primary);background:var(--primary-light)}.cwo-upload-ico{font-size:2rem;margin-bottom:.25rem}.cwo-drop-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);margin:0}.cwo-drop-or{font-size:.875rem;color:var(--text-secondary);margin:0}.cwo-choose-btn{padding:.4375rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;margin-top:.25rem;transition:border-color .15s,box-shadow .15s;box-shadow:none}.cwo-choose-btn:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-sm);background:var(--bg-primary);transform:none}.cwo-drop-hint{font-size:.75rem;color:var(--text-secondary);margin:0}.cwo-file-list{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.625rem}.cwo-file-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .375rem;border-radius:var(--radius-sm);transition:background .1s}.cwo-file-row:hover{background:var(--bg-hover)}.cwo-file-ico{font-size:1.25rem;flex-shrink:0}.cwo-file-meta{flex:1;min-width:0}.cwo-file-name{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cwo-file-size{font-size:.75rem;color:var(--text-secondary)}.cwo-file-remove{background:none;border:none;font-size:1.25rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0 .25rem;box-shadow:none;transition:color .1s}.cwo-file-remove:hover:not(:disabled){color:var(--danger);background:none;transform:none;box-shadow:none}.cwo-add-more-link{background:none;border:none;padding:.25rem .375rem;font-size:.8125rem;color:var(--primary);cursor:pointer;font-family:inherit;text-align:left;box-shadow:none}.cwo-add-more-link:hover:not(:disabled){color:var(--primary-hover);background:none;transform:none;box-shadow:none}.cwo-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light);position:sticky;bottom:0;background:var(--bg-secondary);margin:0 -1.5rem -2rem}.cwo-cancel-btn{padding:.5625rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s;box-shadow:none}.cwo-cancel-btn:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-sm);background:var(--bg-primary);transform:none}.cwo-submit-btn{padding:.5625rem 1.5rem;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;color:#fff;cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s;box-shadow:none}.cwo-submit-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:none}.cwo-submit-btn:disabled,.cwo-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.error-text{font-size:.8125rem;color:var(--danger);margin-top:.125rem}@media(max-width:900px){.cwo-body{grid-template-columns:1fr}}@media(max-width:640px){.cwo-job-type-row{grid-template-columns:repeat(2,1fr)}}.ag-page{display:flex;flex-direction:column;height:100%}.ag-loading,.ag-error{padding:2rem;color:var(--text-secondary)}.ag-error{color:var(--danger)}.ag-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;background:var(--bg-primary);border-bottom:1px solid var(--border-light);flex-shrink:0}.ag-header-left{display:flex;align-items:flex-start;gap:1rem;min-width:0}.ag-back-btn{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:.4rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;margin-top:.15rem}.ag-back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ag-header-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 .4rem}.ag-quote-num{color:var(--primary)}.ag-header-meta{display:flex;flex-wrap:wrap;gap:.5rem}.ag-meta-chip{display:flex;align-items:center;gap:.3rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.2rem .6rem;font-size:.78rem}.ag-meta-label{color:var(--text-tertiary)}.ag-meta-value{font-weight:500;color:var(--text-primary)}.ag-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.ag-btn-primary{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap}.ag-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.ag-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ag-btn-secondary{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-medium);padding:.5rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap}.ag-btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.ag-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.ag-body{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;padding:1.25rem 1.5rem;flex:1;min-height:0;overflow-y:auto;align-items:start}.ag-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.ag-catalog-bar{display:flex;align-items:center;gap:.75rem}.ag-btn-add-pos{background:var(--bg-primary);color:var(--primary);border:1px dashed var(--primary);padding:.45rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap}.ag-btn-add-pos:hover{background:var(--primary-light)}.ag-catalog-picker{position:relative;flex:1;max-width:360px}.ag-catalog-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:.85rem}.ag-catalog-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.ag-catalog-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-top:4px;z-index:50;max-height:240px;overflow-y:auto;list-style:none;padding:.25rem 0;box-shadow:var(--shadow-md)}.ag-catalog-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;border:none;background:none;cursor:pointer;font-size:.84rem;text-align:left}.ag-catalog-item:hover{background:var(--bg-hover)}.ag-catalog-name{font-weight:500;color:var(--text-primary)}.ag-catalog-meta{color:var(--text-tertiary);font-size:.78rem}.ag-table-wrap{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius-md)}.ag-table{width:100%;border-collapse:collapse;font-size:.83rem}.ag-table th{text-align:left;padding:.55rem .5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);font-weight:600;color:var(--text-secondary);white-space:nowrap}.ag-table td{padding:.35rem .5rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.ag-table tbody tr:last-child td{border-bottom:none}.ag-tr{cursor:pointer}.ag-tr:hover td{background:var(--bg-hover)}.ag-tr--selected td{background:var(--primary-light)}.ag-tr:focus{outline:2px solid var(--primary);outline-offset:-2px}.ag-td-pos{font-weight:600;color:var(--text-secondary);width:36px;text-align:center}.ag-td-total{font-weight:600;white-space:nowrap;color:var(--text-primary)}.ag-col-pos{width:36px}.ag-col-desc{min-width:160px}.ag-col-art,.ag-col-vendor{width:100px}.ag-col-qty{width:64px}.ag-col-unit{width:80px}.ag-col-price{width:90px}.ag-col-disc{width:64px}.ag-col-total{width:90px}.ag-col-del{width:36px}.ag-cell-input{width:100%;padding:.3rem .4rem;border:1px solid transparent;border-radius:4px;font-size:.83rem;background:transparent}.ag-cell-input:hover,.ag-cell-input:focus{border-color:var(--border-medium);background:var(--bg-primary);outline:none}.ag-cell-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.ag-cell-desc{min-width:140px}.ag-cell-art,.ag-cell-vendor{width:90px}.ag-cell-qty{width:56px}.ag-cell-price{width:80px}.ag-cell-disc{width:54px}.ag-btn-del-pos{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center}.ag-btn-del-pos:hover{color:var(--danger);background:var(--danger-light)}.ag-table-empty{text-align:center;padding:1.5rem;color:var(--text-tertiary);font-size:.85rem}.ag-pos-detail{border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--bg-primary);overflow:hidden}.ag-pos-detail-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .875rem;background:var(--primary-light);border-bottom:1px solid var(--border-light)}.ag-pos-detail-title{font-size:.85rem;font-weight:600;color:var(--primary)}.ag-pos-detail-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:.85rem;padding:.15rem .4rem;border-radius:4px}.ag-pos-detail-close:hover{background:var(--bg-hover)}.ag-pos-tabs{display:flex;border-bottom:1px solid var(--border-light);padding:0 .875rem}.ag-pos-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .75rem;font-size:.83rem;color:var(--text-secondary);cursor:pointer;margin-bottom:-1px}.ag-pos-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.ag-pos-tab-body{padding:.75rem .875rem}.ag-pos-textarea{width:100%;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.5rem .6rem;font-size:.85rem;font-family:inherit;resize:vertical}.ag-pos-textarea:focus{outline:none;border-color:var(--primary)}.ag-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem 1.125rem}.ag-section-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.ag-activity-empty{display:flex;align-items:center;gap:.5rem;color:var(--text-tertiary);font-size:.85rem;padding:.25rem 0}.ag-steps-list{display:flex;flex-direction:column;gap:.625rem}.ag-step{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-secondary)}.ag-step--done{background:#10b9810f;border-color:#10b9814d}.ag-step-num{width:24px;height:24px;border-radius:50%;background:var(--border-medium);color:var(--text-secondary);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ag-step--done .ag-step-num{background:var(--success);color:#fff}.ag-step-text{display:flex;flex-direction:column;gap:.15rem}.ag-step-label{font-size:.84rem;font-weight:500;color:var(--text-primary)}.ag-step-sub{font-size:.78rem;color:var(--text-tertiary)}.ag-sidebar{display:flex;flex-direction:column;gap:1rem}.ag-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem 1.125rem}.ag-card-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 .875rem}.ag-summary-rows{display:flex;flex-direction:column;gap:0}.ag-sum-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.875rem;color:var(--text-secondary)}.ag-sum-row:last-child{border-bottom:none}.ag-sum-row--discount{color:var(--success)}.ag-sum-total{border-top:2px solid var(--border-strong);margin-top:.25rem;padding-top:.75rem;font-weight:700;font-size:1rem;color:var(--text-primary);border-bottom:none}.ag-terms-fields{display:flex;flex-direction:column;gap:.75rem}.ag-field{display:flex;flex-direction:column;gap:.25rem}.ag-field label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.ag-field input,.ag-field select,.ag-field textarea{padding:.45rem .6rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit}.ag-field input:focus,.ag-field select:focus,.ag-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.ag-field textarea{resize:vertical}button.ag-overlay{position:fixed;inset:0;width:100%;height:100%;background:#00000073;border:none;z-index:200;cursor:default}dialog.ag-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:201;width:min(560px,94vw);max-height:90vh;overflow-y:auto;border:none;border-radius:var(--radius-lg);padding:0;background:var(--bg-primary);box-shadow:var(--shadow-lg);margin:0}.ag-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.ag-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.ag-modal-close{background:none;border:none;font-size:1rem;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm)}.ag-modal-close:hover{background:var(--bg-hover)}.ag-send-form{display:flex;flex-direction:column;gap:.875rem;padding:1.25rem}.ag-send-error{margin:0 1.25rem;padding:.6rem .875rem;background:var(--danger-light);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:.85rem}.ag-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border-light)}.ag-send-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;gap:.5rem}.ag-send-success-icon{width:48px;height:48px;border-radius:50%;background:#10b9811f;color:var(--success);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;margin-bottom:.5rem}.ag-send-success h4{margin:0;color:var(--success);font-size:1rem}.ag-send-success p{margin:0;color:var(--text-secondary);font-size:.875rem}@media(max-width:900px){.ag-body{grid-template-columns:1fr}.ag-sidebar{order:-1}}@media(max-width:640px){.ag-header{flex-direction:column}.ag-header-actions{width:100%;justify-content:flex-end}}.followup-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.followup-header h2{margin:0 0 .25rem;font-size:1.5rem;color:var(--text-primary)}.followup-subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.followup-summary-cards{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-card{flex:1;min-width:140px;padding:1rem;border-radius:8px;text-align:center;border:1px solid var(--border-light)}.summary-card--due{background:var(--warning-light);border-color:var(--warning)}.summary-card--discussion{background:var(--info-light);border-color:var(--info)}.summary-card--waiting{background:var(--accent-light);border-color:var(--accent)}.summary-card--accepted{background:var(--success-light);border-color:var(--success)}.summary-card--rejected{background:var(--danger-light);border-color:var(--danger)}.summary-card--nointerest{background:var(--bg-hover);border-color:var(--border-medium)}.summary-count{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.summary-label{font-size:.8rem;color:var(--text-secondary)}.followup-filter{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.followup-filter label{font-weight:500;font-size:.9rem}.followup-filter select{padding:.4rem .75rem;border:1px solid var(--border-light);border-radius:6px;font-size:.85rem}.followup-content{display:flex;gap:1.5rem;align-items:flex-start}.followup-list-section{flex:1;min-width:0;overflow-x:auto}.followup-table{width:100%;border-collapse:collapse;font-size:.85rem}.followup-table th{background:var(--bg-secondary);padding:.6rem .75rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border-light);white-space:nowrap}.followup-table td{padding:.6rem .75rem;border-bottom:1px solid var(--bg-tertiary)}.followup-row{cursor:pointer;transition:background .15s}.followup-row:hover{background:var(--bg-hover)}.followup-row.selected{background:var(--primary-light)}.followup-row.overdue{background:var(--accent-light)}.cell-code .link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:500;padding:0;text-decoration:underline}.date-overdue{color:var(--danger);font-weight:600}.status-due{background:var(--warning);color:#fff}.status-discussion{background:var(--primary);color:#fff}.status-waiting{background:var(--accent);color:#fff}.status-accepted{background:var(--success);color:#fff}.status-rejected{background:var(--danger);color:#fff}.status-nointerest{background:var(--bg-tertiary);color:var(--text-secondary)}.followup-detail-panel{width:400px;flex-shrink:0;border:1px solid var(--border-light);border-radius:8px;padding:1.25rem;background:var(--bg-secondary);max-height:80vh;overflow-y:auto}.detail-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.detail-header h3{margin:0 0 .25rem;font-size:1rem}.detail-customer{font-size:.85rem;color:var(--text-secondary)}.detail-section{margin-bottom:1.25rem}.detail-section h4{margin:0 0 .5rem;font-size:.9rem;color:var(--text-primary)}.status-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.btn-status{padding:.3rem .6rem;border:1px solid var(--border-light);border-radius:6px;font-size:.75rem;cursor:pointer;background:var(--bg-primary);transition:all .15s}.btn-status:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.btn-status.active{font-weight:700;box-shadow:0 0 0 2px #00000026}.btn-status.status-due{border-color:var(--warning);color:var(--warning)}.btn-status.status-due.active{background:var(--warning);color:#fff}.btn-status.status-discussion{border-color:var(--primary);color:var(--primary)}.btn-status.status-discussion.active{background:var(--primary);color:#fff}.btn-status.status-waiting{border-color:var(--accent);color:var(--accent)}.btn-status.status-waiting.active{background:var(--accent);color:#fff}.btn-status.status-accepted{border-color:var(--success);color:var(--success)}.btn-status.status-accepted.active{background:var(--success);color:#fff}.btn-status.status-rejected{border-color:var(--danger);color:var(--danger)}.btn-status.status-rejected.active{background:var(--danger);color:#fff}.btn-status.status-nointerest{border-color:var(--text-tertiary);color:var(--text-tertiary)}.btn-status.status-nointerest.active{background:var(--text-tertiary);color:#fff}.entry-form{display:flex;flex-direction:column;gap:.5rem}.entry-form-row{display:flex;gap:.5rem}.entry-form-row select{width:100px;padding:.4rem;border:1px solid var(--border-light);border-radius:4px;font-size:.8rem}.entry-form-row input{flex:1;padding:.4rem .6rem;border:1px solid var(--border-light);border-radius:4px;font-size:.8rem}.entry-form textarea{padding:.4rem .6rem;border:1px solid var(--border-light);border-radius:4px;font-size:.8rem;resize:vertical}.btn-add-entry{align-self:flex-end;padding:.4rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.btn-add-entry:hover:not(:disabled){background:var(--primary-hover)}.btn-add-entry:disabled{opacity:.5;cursor:not-allowed}.communication-timeline{display:flex;flex-direction:column;gap:.75rem}.no-entries{color:var(--text-tertiary);font-size:.85rem;font-style:italic}.timeline-entry{display:flex;gap:.75rem;padding:.5rem;border-left:3px solid var(--primary);background:var(--bg-primary);border-radius:0 4px 4px 0}.timeline-icon{font-size:1.1rem;flex-shrink:0}.timeline-content{flex:1;min-width:0}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.timeline-date{font-size:.75rem;color:var(--text-secondary)}.timeline-type{font-size:.7rem;background:var(--primary-light);padding:.1rem .4rem;border-radius:3px;color:var(--primary)}.timeline-summary{margin:0;font-size:.85rem;font-weight:500}.timeline-details{margin:.25rem 0 0;font-size:.8rem;color:var(--text-secondary)}.timeline-author{font-size:.75rem;color:var(--text-tertiary);font-style:italic}.followup-empty{text-align:center;padding:3rem 1rem;color:var(--text-tertiary)}.inline-error{margin-top:.5rem;padding:.4rem .6rem;background:var(--danger-light);border:1px solid var(--danger);border-radius:4px;color:var(--danger);font-size:.8rem}.followup-row:focus{outline:2px solid var(--primary);outline-offset:-2px}@media(max-width:1024px){.followup-content{flex-direction:column}.followup-detail-panel{width:100%;max-height:none}}@media(max-width:768px){.followup-summary-cards{flex-direction:column}.followup-table{font-size:.8rem}}.entscheidung-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.entscheidung-header h2{margin:0 0 .25rem;font-size:1.5rem;color:var(--text-primary)}.entscheidung-subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.entscheidung-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-primary);border-radius:10px;padding:1.25rem;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.stat-card .stat-value{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-card .stat-label{display:block;font-size:.85rem;color:var(--text-secondary)}.stat-card .stat-percent{display:block;font-size:.8rem;color:var(--text-tertiary);margin-top:.15rem}.stat-card--total .stat-value{color:var(--text-primary)}.stat-card--won{border-left:4px solid var(--success)}.stat-card--won .stat-value{color:var(--success)}.stat-card--lost{border-left:4px solid var(--danger)}.stat-card--lost .stat-value{color:var(--danger)}.stat-card--revenue{border-left:4px solid var(--primary)}.stat-card--revenue .stat-value{color:var(--primary);font-size:1.5rem}.entscheidung-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light);padding-bottom:0}.tab-btn{padding:.6rem 1.2rem;border:none;background:none;cursor:pointer;font-size:.9rem;color:var(--text-secondary);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;position:relative}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);font-weight:600;border-bottom-color:var(--primary)}.tab-badge{position:absolute;top:2px;right:-2px;background:var(--danger);color:#fff;font-size:.7rem;padding:.1rem .35rem;border-radius:10px;font-weight:600}.entscheidung-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.overview-card{background:var(--bg-primary);border-radius:10px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.overview-card h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.loss-reason-chart{display:flex;flex-direction:column;gap:.75rem}.chart-row{display:flex;align-items:center;gap:.75rem}.chart-label{min-width:160px;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.chart-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chart-bar-container{flex:1;height:20px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.chart-bar{height:100%;border-radius:4px;transition:width .5s ease}.chart-value{min-width:70px;text-align:right;font-size:.8rem;color:var(--text-secondary)}.tips-card{background:var(--success-light);border-color:var(--success)}.tips-list{list-style:none;padding:0;margin:0}.tips-list li{padding:.5rem 0;font-size:.9rem;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.tips-list li:last-child{border-bottom:none}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.section-header h3{margin:0;font-size:1.2rem}.section-icon{font-size:1.3rem}.section-desc{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem}.decision-table{width:100%;border-collapse:collapse;background:var(--bg-primary);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.decision-table th{text-align:left;padding:.75rem 1rem;background:var(--bg-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);border-bottom:2px solid var(--border-light)}.decision-table td{padding:.75rem 1rem;font-size:.9rem;border-bottom:1px solid var(--bg-tertiary)}.decision-table tr:hover td{background:var(--bg-hover)}.decision-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600}.decision-won{background:var(--success-light);color:var(--success)}.decision-lost{background:var(--danger-light);color:var(--danger)}.action-cell{display:flex;gap:.5rem}.btn-accept,.btn-reject{padding:.35rem .75rem;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:opacity .2s}.btn-accept{background:var(--success-light);color:var(--success)}.btn-accept:hover:not(:disabled){opacity:.8}.btn-reject{background:var(--danger-light);color:var(--danger)}.btn-reject:hover:not(:disabled){opacity:.8}.btn-accept:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.link-btn:hover{color:var(--primary-hover)}.status-followupdue{background:var(--warning-light);color:var(--warning)}.status-indiscussion{background:var(--info-light);color:var(--info)}.status-waitingforresponse,.status-nointerest{background:var(--bg-tertiary);color:var(--text-secondary)}.status-accepted{background:var(--success-light);color:var(--success)}.status-rejected{background:var(--danger-light);color:var(--danger)}.no-data{color:var(--text-tertiary);font-style:italic;text-align:center;padding:2rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.decision-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.modal-header h3{margin:0;font-size:1.2rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-tertiary);padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-info{background:var(--bg-secondary);padding:1rem;border-radius:8px;margin-bottom:1.25rem}.modal-info p{margin:.25rem 0;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:var(--text-primary)}.form-group input[type=number],.form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border-light);border-radius:6px;font-size:.9rem;box-sizing:border-box}.form-group textarea{resize:vertical}.loss-reason-options{display:flex;flex-direction:column;gap:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.4rem .6rem;border-radius:6px;transition:background .15s}.radio-option:hover{background:var(--bg-hover)}.radio-option input[type=radio]{accent-color:var(--primary)}.inline-error{background:var(--danger-light);color:var(--danger);padding:.5rem .75rem;border-radius:6px;font-size:.85rem;margin-top:.75rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light)}.btn-cancel{padding:.5rem 1rem;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-primary);cursor:pointer;font-size:.9rem}.btn-cancel:hover{background:var(--bg-hover)}.btn-confirm{padding:.5rem 1.25rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;color:#fff}.btn-confirm--accept{background:var(--success)}.btn-confirm--accept:hover:not(:disabled){opacity:.9}.btn-confirm--reject{background:var(--danger)}.btn-confirm--reject:hover:not(:disabled){opacity:.9}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.btn-refresh{padding:.5rem 1rem;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-primary);cursor:pointer;font-size:.85rem}.btn-refresh:hover:not(:disabled){background:var(--bg-hover)}.error-text{color:var(--danger);text-align:center;padding:2rem}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;--bg-primary: #ffffff;--bg-secondary: #F8FAFC;--bg-tertiary: #E2E8F0;--bg-hover: #F1F5F9;--text-primary: #0F172A;--text-secondary: #64748B;--text-tertiary: #94A3B8;--border-light: #E2E8F0;--border-medium: #CBD5E1;--border: #E2E8F0;--primary: #4F46E5;--primary-hover: #3730A3;--primary-light: #EEF2FF;--accent: #F97316;--accent-light: #FFF7ED;--success: #10B981;--success-light: #D1FAE5;--warning: #F59E0B;--warning-light: #FEF3C7;--danger: #EF4444;--danger-light: #FEE2E2;--info: #3B82F6;--info-light: #DBEAFE;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;color:var(--text-primary);background-color:var(--bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--bg-primary: #1f2937;--bg-secondary: #111827;--bg-tertiary: #374151;--bg-hover: #374151;--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-tertiary: #9ca3af;--border-light: #374151;--border-medium: #4b5563;--border: #374151;--primary: #6366f1;--primary-hover: #818cf8;--primary-light: #312e81;--accent: #F97316;--accent-light: #431407;--success: #10b981;--success-light: #064e3b;--warning: #f59e0b;--warning-light: #78350f;--danger: #ef4444;--danger-light: #7f1d1d;--info: #3b82f6;--info-light: #1e3a8a}}*{box-sizing:border-box}a{font-weight:500;color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-secondary)}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3;margin:0}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}.app-shell{display:flex;min-height:100vh;background-color:var(--bg-secondary)}.sidebar{width:240px;background-color:#1e2a4a;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;transition:width .25s ease;position:fixed;left:0;top:0;bottom:0;z-index:100;box-shadow:2px 0 8px #0003}.sidebar.collapsed{width:68px}.sidebar-brand-area{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);min-height:68px;overflow:hidden}.brand-logo-box{width:36px;height:36px;background:linear-gradient(135deg,#4f8ef7,#6366f1);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:800;color:#fff;flex-shrink:0}.brand-name{font-size:.9375rem;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:-.01em}.sidebar-nav{flex:1;padding:.75rem .625rem;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border-radius:var(--radius-md);color:#a8bbd4;text-decoration:none;transition:background .15s,color .15s;font-weight:500;font-size:.9rem;position:relative;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font-family:inherit;box-shadow:none}.sidebar-link:hover{background-color:#ffffff14;color:#f0f4fa;transform:none;box-shadow:none}.sidebar-link:hover:not(:disabled){transform:none;box-shadow:none}.sidebar-link.active{background-color:#ffffff24;color:#fff;font-weight:600}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:#60a5fa;border-radius:0 3px 3px 0}.link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .link-label{display:none}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.75rem .5rem}.sidebar.collapsed .brand-name{display:none}.sidebar-footer{padding:.75rem .625rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:2px}.help-btn{color:#8fa8c8!important}.help-btn:hover{color:#dbe5f0!important}.sidebar-collapse-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border-radius:var(--radius-md);color:#7a99b8;border:none;background:transparent;cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;width:100%;text-align:left;transition:background .15s,color .15s;box-shadow:none}.sidebar-collapse-btn:hover:not(:disabled){background-color:#ffffff14;color:#ffffffb3;transform:none;box-shadow:none}.sidebar.collapsed .sidebar-collapse-btn{justify-content:center;padding:.75rem .5rem}.sidebar.collapsed .sidebar-collapse-btn span,.sidebar.collapsed .sidebar-footer .help-btn span{display:none}.main-wrapper{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .25s ease}.sidebar.collapsed~.main-wrapper{margin-left:68px}.top-bar{background-color:var(--bg-primary);padding:.75rem 1.5rem;border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;min-height:64px}.top-bar-search{flex:1;max-width:480px;display:flex;align-items:center;gap:.625rem;background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.5rem .875rem;color:var(--text-secondary)}.top-bar-search input{border:none;background:transparent;outline:none;flex:1;font-size:.875rem;color:var(--text-secondary);padding:0;box-shadow:none}.top-bar-search input::placeholder{color:var(--text-secondary)}.top-bar-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.notification-btn{position:relative;width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;padding:0;min-width:unset;box-shadow:none}.notification-btn:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary);transform:none;box-shadow:none}.user-menu-area{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.625rem;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.375rem .75rem .375rem .5rem;cursor:pointer;color:var(--text-primary);min-width:unset;box-shadow:none}.user-menu-trigger:hover:not(:disabled){background-color:var(--bg-hover);transform:none;box-shadow:none}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4f8ef7,#6366f1);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:0}.user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3}.user-company{font-size:.75rem;color:var(--text-secondary);line-height:1.2}.user-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;z-index:200;overflow:hidden}.user-dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;box-shadow:none;border-radius:0}.user-dropdown-item:hover:not(:disabled){background-color:var(--bg-hover);color:var(--danger);transform:none;box-shadow:none}.language-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-secondary)}.language-toggle-button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.375rem .625rem;font-size:.875rem;font-weight:700;background-color:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;box-shadow:none}.language-toggle-button:hover{background-color:var(--bg-hover);color:var(--text-primary);transform:none;box-shadow:none}.language-toggle-button.active{background-color:var(--primary);color:#fff}.app-content{flex:1;padding:2rem;background-color:var(--bg-secondary)}@media(max-width:768px){.sidebar{width:260px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}.sidebar.collapsed~.main-wrapper{margin-left:0}.top-bar{padding:1rem 1.5rem}.page-title{font-size:1.5rem}.app-content{padding:1.5rem 1rem}}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;font-family:inherit;background-color:var(--primary);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-small{padding:.5rem 1rem;font-size:.875rem;font-weight:500}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-edit{background-color:var(--info);color:#fff}.btn-edit:hover:not(:disabled){background-color:#2563eb}.btn-delete{background-color:var(--danger);color:#fff}.btn-delete:hover:not(:disabled){background-color:#dc2626}.btn-warning{background-color:var(--warning);color:#fff}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background-color:#059669}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}input:disabled,select:disabled,textarea:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}input.input-error,select.input-error,textarea.input-error{border-color:var(--danger);border-width:2px}input.input-error:focus,select.input-error:focus,textarea.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-light)}.error-text{color:var(--danger);font-size:.75rem;margin-top:.25rem;display:block}.form-error{color:var(--danger);font-size:.875rem;margin:.75rem 0}.warning-box{padding:.75rem;background-color:var(--warning-light);border-left:4px solid var(--warning);margin-bottom:1rem;border-radius:var(--radius-sm)}.warning-box p{margin:.5rem 0}.warning-box ul{margin:.25rem 0;padding-left:1.25rem}.checkbox-label{flex-direction:row!important;align-items:center!important;gap:.75rem!important}.checkbox-label input[type=checkbox]{width:auto}.phone-input-group{display:flex;gap:.5rem;align-items:stretch}.country-code-select{flex:0 0 130px;min-width:130px;padding:.625rem .5rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem;cursor:pointer;transition:all .2s ease}.country-code-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.phone-number-input{flex:1;padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem;transition:all .2s ease}.autocomplete-container{position:relative;width:100%}.autocomplete-container input[type=text]{width:100%}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);max-height:300px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-lg);margin-top:4px}.autocomplete-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-light);color:var(--text-primary);transition:background-color .2s ease}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background-color:var(--bg-hover)}.autocomplete-item--highlighted{background-color:var(--primary-light);color:var(--primary)}.phone-number-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.phone-number-input.input-error,.country-code-select.input-error{border-color:var(--danger);border-width:2px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h2{font-size:1.875rem;font-weight:700;color:var(--text-primary)}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.header-actions input[type=text],.customer-filter{padding:.625rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-light);font-size:.9375rem;min-width:200px;background-color:var(--bg-primary);color:var(--text-primary)}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;border:1px solid var(--border-light)}.customers-table,.jobs-table,.materials-table,.entries-table,.staff-table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:1.5rem;background-color:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.customers-table thead,.jobs-table thead,.materials-table thead,.entries-table thead,.staff-table thead{background-color:var(--bg-secondary)}.customers-table th,.jobs-table th,.materials-table th,.entries-table th,.staff-table th{text-align:left;padding:1rem 1.25rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.customers-table td,.jobs-table td,.materials-table td,.entries-table td,.staff-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:.9375rem}.customers-table tbody tr,.jobs-table tbody tr,.materials-table tbody tr,.entries-table tbody tr,.staff-table tbody tr{transition:background-color .15s ease}.customers-table tbody tr:hover,.jobs-table tbody tr:hover,.materials-table tbody tr:hover,.entries-table tbody tr:hover,.staff-table tbody tr:hover{background-color:var(--bg-hover)}.customers-table tbody tr:last-child td,.jobs-table tbody tr:last-child td,.materials-table tbody tr:last-child td,.entries-table tbody tr:last-child td,.staff-table tbody tr:last-child td{border-bottom:none}.entries-table td.amount{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.status-badge{display:inline-flex;align-items:center;padding:.375rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:600;text-transform:capitalize}.status-planned{background-color:var(--info-light);color:var(--info)}.status-in-progress{background-color:var(--warning-light);color:var(--warning)}.status-completed{background-color:var(--success-light);color:var(--success)}.status-cancelled{background-color:var(--danger-light);color:var(--danger)}.status-default{background-color:var(--bg-tertiary);color:var(--text-tertiary)}.status-open{background-color:var(--info-light);color:var(--info)}.status-closed,.status-approved{background-color:var(--success-light);color:var(--success)}.status-rejected{background-color:var(--danger-light);color:var(--danger)}.status-pending{background-color:var(--warning-light);color:var(--warning)}.status-suspended{background-color:var(--primary-light);color:var(--primary)}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem;padding:1rem}.pagination button{min-width:100px}.pagination span{font-weight:600;color:var(--text-secondary);font-size:.9375rem}.modal-backdrop{position:fixed;inset:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--border-light);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal h3{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.form-row{display:flex;gap:1rem;margin-bottom:1.25rem}.form-row:last-of-type{margin-bottom:0}.form-row label{flex:1;display:flex;flex-direction:column;gap:.5rem;font-weight:600;font-size:.875rem;color:var(--text-secondary)}.form-row input[type=text],.form-row input[type=email],.form-row input[type=password],.form-row input[type=date],.form-row input[type=number],.form-row select,.form-row textarea{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem}.form-row textarea{resize:vertical;min-height:100px;line-height:1.5}.time-mode-toggle{display:inline-flex;background-color:var(--bg-tertiary);border-radius:var(--radius-md);padding:.25rem;gap:.25rem}.time-mode-toggle button{flex:1;padding:.625rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;font-size:.9375rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:120px}.time-mode-toggle button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.time-mode-toggle button.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.time-mode-toggle button svg{flex-shrink:0}.form-row.time-inputs{display:flex;align-items:flex-end;gap:1rem;background-color:var(--bg-hover);padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border-light)}.time-input-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.time-input-group label{font-weight:600;font-size:.875rem;color:var(--text-secondary)}.time-picker{display:flex;align-items:center;gap:.5rem}.time-picker select{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s ease;cursor:pointer;flex:1}.time-picker select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.time-picker select:hover{border-color:var(--border-medium)}.time-colon{font-size:1.25rem;font-weight:600;color:var(--text-primary);padding:0 .25rem}.time-input-group input[type=time]{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s ease}.time-input-group input[type=time]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.time-input-group select{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s ease;cursor:pointer}.time-input-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.time-input-group select:hover{border-color:var(--border-medium)}.time-separator{font-size:1.5rem;color:var(--text-tertiary);padding-bottom:.75rem;font-weight:300}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.modal-actions button[type=button]{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-actions button[type=button]:hover:not(:disabled){background-color:var(--border-medium)}.filters-section{background-color:var(--bg-primary);padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.filter-row{display:flex;gap:1rem;margin-bottom:1rem}.filter-row:last-child{margin-bottom:0}.filter-row label{flex:1;display:flex;flex-direction:column;gap:.5rem;font-weight:600;font-size:.875rem;color:var(--text-secondary)}.filter-row select,.filter-row input[type=date]{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem}.section{margin-bottom:2rem}.section h3{margin-top:0;margin-bottom:1.25rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.summary-section{background:linear-gradient(135deg,var(--primary-light) 0%,var(--info-light) 100%);padding:2rem;border-radius:var(--radius-lg);margin-top:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--primary)}.summary-section h3{margin-top:0;margin-bottom:1.5rem;color:var(--primary);font-size:1.5rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background-color:var(--bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.summary-label{font-weight:600;color:var(--text-secondary);font-size:.875rem}.summary-value{font-weight:700;font-size:1.25rem;color:var(--primary);font-variant-numeric:tabular-nums}.summary-total{grid-column:1 / -1;background-color:var(--primary);color:#fff;border:2px solid var(--primary-hover)}.summary-total .summary-label{color:#ffffffe6}.summary-total .summary-value{font-size:1.5rem;color:#fff}.tabs{display:flex;gap:.25rem;margin-bottom:2rem;border-bottom:2px solid var(--border-light);background-color:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:.5rem .5rem 0}.tab{padding:.875rem 1.75rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:.9375rem;font-weight:600;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease;border-radius:var(--radius-md) var(--radius-md) 0 0}.tab:hover{color:var(--text-primary);background-color:var(--bg-hover)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);background-color:var(--bg-hover)}.tab-content{margin-top:0}.report-form{background:var(--bg-primary);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:2rem;border:1px solid var(--border-light)}.report-form .form-row{display:flex;gap:1rem;margin-bottom:1.25rem}.report-form .form-row label{flex:1;display:flex;flex-direction:column;font-weight:600;color:var(--text-secondary);font-size:.875rem;gap:.5rem}.report-form .form-row input[type=text],.report-form .form-row input[type=date],.report-form .form-row select{margin-top:0;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.9375rem}.report-form button[type=submit]{padding:.875rem 2.5rem;font-weight:600;font-size:1rem}.report-result{background:var(--bg-primary);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.report-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-light)}.report-header h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.75rem;font-weight:700}.report-header p{margin:.5rem 0;color:var(--text-secondary);font-size:.9375rem}.report-table-section{margin-top:2.5rem}.report-table-section h4{margin:0 0 1.25rem;color:var(--text-primary);font-size:1.25rem;font-weight:700}.report-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9375rem;background-color:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.report-table thead{background-color:var(--bg-secondary)}.report-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-light);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.report-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.report-table td.amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.report-table tbody tr{transition:background-color .15s ease}.report-table tbody tr:hover{background-color:var(--bg-hover)}.report-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.app-content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.page-header h2{font-size:1.5rem}.header-actions{width:100%;flex-direction:column}.header-actions input[type=text],.customer-filter{width:100%;min-width:auto}.form-row,.filter-row{flex-direction:column}.customers-table,.jobs-table,.materials-table,.entries-table,.report-table{font-size:.875rem}.customers-table th,.jobs-table th,.materials-table th,.entries-table th,.report-table th,.customers-table td,.jobs-table td,.materials-table td,.entries-table td,.report-table td{padding:.75rem .5rem}.action-buttons{flex-direction:column;width:100%}.action-buttons .btn-small{width:100%}.modal{padding:1.5rem}.modal h3{font-size:1.25rem}.summary-grid{grid-template-columns:1fr}.summary-total{grid-column:1}.tabs{flex-direction:column;gap:0;padding:0}.tab{border-radius:0;border-bottom:1px solid var(--border-light)}.tab.active{border-left:4px solid var(--primary);border-bottom-color:var(--border-light)}.report-form,.report-result{padding:1.5rem}.pagination{gap:1rem}.pagination button{min-width:80px;padding:.5rem .75rem;font-size:.875rem}.sidebar-header:before{content:"☰";position:fixed;top:1rem;left:1rem;font-size:1.5rem;cursor:pointer;z-index:101;background-color:var(--bg-primary);padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--border-light)}}.loading{display:flex;justify-content:center;align-items:center;padding:3rem;color:var(--text-tertiary)}.error-message{padding:1rem 1.5rem;background-color:var(--danger-light);color:var(--danger);border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid var(--danger);font-weight:500}.success-message{padding:1rem 1.5rem;background-color:var(--success-light);color:var(--success);border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid var(--success);font-weight:500}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-tertiary)}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-secondary);font-size:.875rem}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.page-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:.25rem 0 0}.low-stock-row{background-color:var(--danger-light)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.container{width:100%}.form-card,.info-card{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.form-group{margin-bottom:1.5rem}.form-group:last-of-type{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.875rem;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{width:100%;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.9375rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-light)}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--border-light);gap:2rem}.info-row:last-child{border-bottom:none}.info-row strong{color:var(--text-secondary);font-weight:600;font-size:.875rem;min-width:140px;flex-shrink:0}.info-row span{color:var(--text-primary);font-size:.9375rem;text-align:right;word-break:break-word}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--border-medium)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-secondary);padding:1rem}.auth-card{background-color:var(--bg-primary);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;border:1px solid var(--border-light)}.auth-card h2{margin-top:0;margin-bottom:1.5rem;text-align:center;font-size:1.5rem}.auth-field{margin-bottom:1rem}.auth-field label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9375rem;color:var(--text-primary)}.auth-field input{width:100%;box-sizing:border-box}.auth-field input.input-error{border-color:var(--danger)}.auth-field-error{color:var(--danger);font-size:.875rem;margin-top:.25rem}.auth-submit-btn{width:100%;padding:.75rem;font-size:1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem}.auth-submit-btn:disabled{background-color:var(--text-tertiary)}.auth-error{padding:.75rem;margin-bottom:1rem;background-color:var(--danger-light);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);font-size:.875rem}.auth-footer{text-align:center;font-size:.875rem;color:var(--text-tertiary)}.auth-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.auth-success-toast{position:fixed;top:20px;right:20px;max-width:420px;background-color:var(--success-light);border:1px solid var(--success);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-lg);z-index:1000}.auth-success-toast-header{display:flex;justify-content:space-between;gap:.75rem}.auth-success-toast-title{font-weight:600;margin-bottom:.375rem;color:#065f46}.auth-success-toast-body{color:#065f46;font-size:.875rem;line-height:1.4}.auth-success-toast-link{color:#065f46;font-weight:600;margin-top:.625rem;display:inline-block}.auth-success-toast-close{background:none;border:none;cursor:pointer;color:#065f46;padding:0;font-size:1.125rem;line-height:1;box-shadow:none;min-width:unset;flex-shrink:0;align-self:flex-start}.auth-success-toast-close:hover{background:none;box-shadow:none;transform:none}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center;background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border-light)}.empty-state-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.7}.empty-state-message{color:var(--text-tertiary);font-size:.9375rem;margin:0 0 1rem}.empty-state-action{padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;font-size:.875rem;font-family:inherit;transition:background .2s}.empty-state-action:hover{background:var(--primary-hover)}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s;white-space:nowrap}.sortable-header:hover{color:var(--primary)}.vorgaenge-page .clickable-row{cursor:pointer}.vorgaenge-page .clickable-row:hover{background-color:var(--bg-secondary)}.vorgaenge-page .description-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-inquiry{background-color:var(--info-light);color:var(--info)}.status-offer{background-color:var(--accent-light);color:var(--accent)}.status-order{background-color:var(--success-light);color:var(--success)}.status-invoice{background-color:var(--warning-light);color:var(--warning)}.priority-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600}.priority-low{background-color:var(--success-light);color:var(--success)}.priority-normal{background-color:var(--info-light);color:var(--info)}.priority-high{background-color:var(--warning-light);color:var(--warning)}.priority-urgent{background-color:var(--danger-light);color:var(--danger)}.vorgang-detail .detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;padding:1rem 1.5rem;background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.vorgang-detail .btn-back{background:none;border:1px solid var(--border-light);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.vorgang-detail .detail-title-section{flex:1}.vorgang-detail .detail-title-section h2{margin:0;font-size:1.25rem}.vorgang-detail .detail-customer{color:var(--text-secondary);font-size:.875rem}.vorgang-detail .detail-actions{display:flex;gap:.5rem}.vorgang-detail .btn-advance-status{background-color:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600}.vorgang-detail .btn-advance-status:hover{background-color:var(--primary-hover)}.workflow-progress{display:flex;align-items:center;gap:.25rem;margin-bottom:1.5rem;overflow-x:auto;padding:1.25rem 1.5rem;background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.workflow-step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:80px;position:relative}.workflow-step:after{content:"";position:absolute;top:16px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px;background-color:var(--border-light)}.workflow-step:last-child:after{display:none}.workflow-step.completed:after{background-color:var(--success)}.workflow-step.active:after{background-color:var(--border-light)}.workflow-step .step-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background-color:var(--bg-tertiary);color:var(--text-tertiary);margin-bottom:.375rem;position:relative;z-index:1}.workflow-step.active .step-indicator{background-color:var(--primary);color:#fff}.workflow-step.completed .step-indicator{background-color:var(--success);color:#fff}.workflow-step .step-label{font-size:.6875rem;text-align:center;color:var(--text-secondary)}.workflow-step.active .step-label{color:var(--primary);font-weight:600}.detail-tabs{display:flex;margin-bottom:1.5rem;background-color:var(--bg-primary);border:1px solid var(--border-light);border-bottom-width:2px;border-radius:var(--radius-lg);padding:0 .5rem;box-shadow:var(--shadow-sm)}.tab-btn{padding:.75rem 1.5rem;border:none;background:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-btn:hover{color:var(--primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.info-card{padding:1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-primary);box-shadow:var(--shadow-sm)}.info-card h4{margin:0 0 .5rem;font-size:.75rem;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em}.info-card p{margin:.25rem 0;font-size:.875rem}.description-section{margin-top:1rem}.description-section h4{margin:0 0 .5rem;font-size:.875rem}.description-text{padding:1rem;background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light);white-space:pre-wrap}.data-tab .empty-message{color:var(--text-secondary);text-align:center;padding:2rem}.overview-grid{display:grid;grid-template-columns:1fr 380px;gap:1.5rem}.overview-main,.overview-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:900px){.overview-grid{grid-template-columns:1fr}}.completeness-bar{height:6px;background-color:var(--border-light);border-radius:3px;margin:.5rem 0 .25rem;overflow:hidden}.completeness-fill{height:100%;background-color:var(--success);border-radius:3px;transition:width .3s ease}.completeness-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem;display:block}.checklist{list-style:none;padding:0;margin:.75rem 0}.checklist li{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.8125rem;border-bottom:1px solid var(--border-light)}.checklist li:last-child{border-bottom:none}.checklist-icon{font-size:.875rem;flex-shrink:0}.checklist-label{flex:1}.checklist-status{font-size:.75rem;font-weight:600}.checklist-ok .checklist-status{color:var(--success)}.checklist-missing .checklist-status{color:var(--warning, #f59e0b)}.status-meta p{margin:.375rem 0;font-size:.8125rem}.details-edit-form{max-width:600px}.details-edit-form h4{margin:0 0 1rem;font-size:1rem}.files-list{display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.file-icon{font-size:1.25rem}.file-info{display:flex;flex-direction:column}.file-info a{font-size:.875rem;font-weight:500;color:var(--primary);text-decoration:none}.file-info a:hover{text-decoration:underline}.file-size{font-size:.75rem;color:var(--text-secondary)}.notes-edit textarea{width:100%;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.875rem;resize:vertical;font-family:inherit}.photos-tab .empty-message,.notes-tab .empty-message,.files-tab .empty-message{color:var(--text-secondary);text-align:center;padding:2rem}.upload-section{margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.upload-btn{cursor:pointer;display:inline-block;padding:.5rem 1rem}.upload-status{color:var(--text-secondary);font-size:.875rem}
