:root{--bg:#faf9f6;--card:#fff;--border:#e5e1d8;--text:#1a1a1a;--muted:#7a7568;--accent:#8b6914;--accent-light:#f5f0e3;--green:#2d6a4f;--green-light:#e8f5ee;--red:#9e2a2b;--red-light:#fdecea;--blue:#1d4e89;--blue-light:#e8f0fb;--orange:#b86e00;--orange-light:#fff4e5;--purple:#6b21a8;--purple-light:#f3e8ff;--radius:8px;--shadow:0 1px 3px rgba(0,0,0,.06)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:#1a1a1a;color:#fff;padding:24px 16px;display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;bottom:0;z-index:50;overflow-y:auto}.main{margin-left:220px;flex:1 1;padding:24px 30px;max-width:1300px}.sb-brand{font-size:1.05rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;color:var(--accent)}.sb-sub{font-size:.7rem;color:#555;margin-bottom:30px}.sb-nav{list-style:none}.sb-nav li{padding:9px 12px;border-radius:var(--radius);cursor:pointer;font-size:.8rem;color:#999;transition:.2s;margin-bottom:3px;display:flex;align-items:center;gap:8px}.sb-nav li:hover{background:#2a2a2a;color:#fff}.sb-nav li.active{background:var(--accent);color:#fff}.sb-nav li .icon{width:16px;text-align:center;font-size:.85rem}.sb-nav li .badge{margin-left:auto;background:hsla(0,0%,100%,.15);padding:2px 7px;border-radius:10px;font-size:.65rem}.sb-sep{height:1px;background:#333;margin:12px 0}@media(max-width:768px){.sidebar{width:100%;position:relative;padding:14px;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center}.sb-sub{display:none}.sb-nav{display:flex;gap:4px;width:100%;flex-wrap:wrap}.sb-nav li{padding:6px 10px;font-size:.75rem}.main{margin-left:0}.app{flex-direction:column}.sb-sep{display:none}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.kpi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:3px}.kpi-value{font-size:1.5rem;font-weight:700}.kpi-value.green{color:var(--green)}.kpi-value.accent{color:var(--accent)}.kpi-value.red{color:var(--red)}.kpi-value.blue{color:var(--blue)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title{font-size:1.3rem;font-weight:700}.btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.8rem;cursor:pointer;transition:.2s;font-family:inherit;white-space:nowrap}.btn:hover{border-color:var(--text)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#6f5510}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-light)}.btn-sm{padding:4px 9px;font-size:.72rem}.btn-success{background:var(--green);color:#fff;border-color:var(--green)}.btn-success:hover{background:#1b5e3a}.toolbar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.search-input{flex:1 1;min-width:180px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;background:var(--card);color:var(--text);font-family:inherit}.search-input:focus{outline:none;border-color:var(--accent)}.filter-select{padding:8px 12px;font-size:.8rem;color:var(--text);font-family:inherit;cursor:pointer}.filter-select,.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.table-wrap{overflow-x:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:.82rem}thead{background:#faf9f6}th{text-align:left;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;white-space:nowrap}td,th{padding:10px 14px;border-bottom:1px solid var(--border)}td{vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover{background:#faf9f6}.td-brand{font-weight:600}.td-model{color:var(--muted)}.badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-stock{background:var(--green-light);color:var(--green)}.badge-sold{background:var(--blue-light);color:var(--blue)}.badge-reserved{background:var(--orange-light);color:var(--orange)}.badge-consignment{background:var(--purple-light);color:var(--purple)}.badge-service{background:#fef3cd;color:#856404}.badge-draft{background:#f0f0f0;color:#555}.badge-sent{background:var(--blue-light);color:var(--blue)}.badge-accepted,.badge-paid{background:var(--green-light);color:var(--green)}.badge-cancelled,.badge-overdue,.badge-rejected{background:var(--red-light);color:var(--red)}.badge-invoiced{background:var(--purple-light);color:var(--purple)}.badge-partial{background:var(--orange-light);color:var(--orange)}.badge-expired{background:#f0f0f0;color:#999}.badge-buyer{background:var(--blue-light);color:var(--blue)}.badge-seller{background:var(--orange-light);color:var(--orange)}.badge-both{background:var(--green-light);color:var(--green)}.badge-upcoming{background:var(--blue-light);color:var(--blue)}.badge-ongoing{background:var(--green-light);color:var(--green)}.badge-completed{background:#f0f0f0;color:#555}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.money-buy{color:var(--red)}.money-sell{color:var(--green);font-weight:600}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.modal-overlay.open{display:flex}.modal{background:var(--card);border-radius:12px;width:100%;max-width:650px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1rem}.modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--muted);padding:0;line-height:1}.modal-body{padding:22px;max-height:70vh;overflow-y:auto}.modal-footer{padding:12px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-group{display:flex;flex-direction:column}.form-group.full{grid-column:1/-1}.form-group label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{padding:8px 11px;border:1px solid var(--border);border-radius:6px;font-size:.85rem;font-family:inherit;color:var(--text);background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{min-height:70px;resize:vertical}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty-icon{font-size:2rem;margin-bottom:8px;opacity:.4}.empty p{font-size:.85rem}.actions{display:flex;gap:4px;flex-wrap:wrap}.section{display:none}.section.active{display:block}.line-items{margin-top:10px}.line-item{display:grid;grid-template-columns:2fr 60px 100px 40px;grid-gap:8px;gap:8px;margin-bottom:6px;align-items:start}.line-item input{padding:7px 9px;border:1px solid var(--border);border-radius:5px;font-size:.82rem;font-family:inherit}.line-item input:focus{outline:none;border-color:var(--accent)}.line-item .btn-rm{padding:7px 10px;background:none;border:1px solid var(--border);border-radius:5px;cursor:pointer;color:var(--red);font-size:.8rem}.line-item .btn-rm:hover{background:var(--red-light)}.line-items-total{text-align:right;font-weight:700;margin-top:8px;font-size:.9rem}.wish-list{margin-top:8px}.wish-item{display:grid;grid-template-columns:1fr 1fr 100px 40px;grid-gap:6px;gap:6px;margin-bottom:5px;align-items:end}.wish-item input{padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-size:.8rem;font-family:inherit}.wish-item input:focus{outline:none;border-color:var(--accent)}.geo-bar{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:.82rem}.geo-bar-label{width:120px;text-align:right;color:var(--muted);font-weight:600}.geo-bar-fill{height:22px;background:var(--accent);border-radius:4px;min-width:2px;transition:width .3s}.geo-bar-count{color:var(--muted);font-size:.75rem;min-width:30px}.activity-item{padding:8px 0;border-bottom:1px solid var(--border);font-size:.8rem;display:flex;gap:12px}.activity-item:last-child{border-bottom:none}.activity-time{color:var(--muted);white-space:nowrap;font-size:.72rem;min-width:100px}.activity-desc{color:var(--text)}.match-card{background:var(--card);border:1px solid var(--accent);border-radius:var(--radius);padding:14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.match-info{font-size:.85rem}.match-info strong{color:var(--accent)}.payments-list{margin-top:10px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.payments-list .pay-row{display:grid;grid-template-columns:100px 80px 1fr 100px 40px;grid-gap:8px;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:.8rem;align-items:center}.payments-list .pay-row:last-child{border-bottom:none}.payments-list .pay-header{background:#faf9f6;font-weight:600;font-size:.7rem;text-transform:uppercase;color:var(--muted)}.pay-total{display:flex;justify-content:space-between;padding:8px 10px;font-weight:700;font-size:.85rem;background:var(--accent-light);border-radius:0 0 var(--radius) var(--radius)}.pay-total.complete{background:var(--green-light);color:var(--green)}.pay-total.remaining{color:var(--red)}.sort-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.7rem;padding:0 4px}.sort-btn.active,.sort-btn:hover{color:var(--accent)}.sort-btn.active{font-weight:700}.line-item textarea{padding:7px 9px;border:1px solid var(--border);border-radius:5px;font-size:.82rem;font-family:inherit;resize:vertical;min-height:34px;line-height:1.4}.line-item textarea:focus{outline:none;border-color:var(--accent)}.logo-preview{max-width:150px;max-height:80px;margin-top:8px;border-radius:6px;border:1px solid var(--border)}.logo-upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:20px;text-align:center;cursor:pointer;transition:.2s;margin-top:8px}.logo-upload-area:hover{border-color:var(--accent);background:var(--accent-light)}.badge-closed{background:#e8f5ee;color:#2d6a4f}.badge-client{background:var(--accent-light);color:var(--accent)}.client-input-wrap{position:relative}.client-input-wrap input{width:100%}.client-input-wrap .auto-tag{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:8px}.auto-tag.new-client{background:var(--green-light);color:var(--green)}.auto-tag.existing-client{background:var(--blue-light);color:var(--blue)}.workshop-info{padding:10px 14px;background:var(--accent-light);border-radius:var(--radius);margin-bottom:12px;font-size:.82rem}.workshop-info .wi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.workshop-info .wi-value{font-weight:700;color:var(--accent)}.workshop-info .wi-fast{color:var(--green)}.product-picker-list{max-height:250px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.product-picker-item{padding:8px 12px;cursor:pointer;font-size:.8rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.product-picker-item:last-child{border-bottom:none}.product-picker-item:hover{background:var(--accent-light)}.product-picker-item .pp-name{font-weight:600}.product-picker-item .pp-detail{color:var(--muted);font-size:.72rem}.sb-logout{margin-top:auto;padding:9px 12px;border-radius:var(--radius);cursor:pointer;font-size:.8rem;color:#999;transition:.2s;display:flex;align-items:center;gap:8px;background:none;border:none;width:100%;font-family:inherit}.sb-logout:hover{background:#2a2a2a;color:#fff}