.inventory-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.inventory-table{width:100%;border-collapse:collapse;font-size:.875rem}.inventory-table th,.inventory-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.inventory-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.inventory-table th:hover{background:#e2e8f0}.inventory-table tbody tr{cursor:pointer;transition:background .15s ease}.inventory-table tbody tr:hover{background:var(--color-bg-secondary)}.inventory-table tbody tr.selected{background:#2563eb1a}.inventory-table tbody tr:last-child td{border-bottom:none}.col-checkbox{width:40px;text-align:center}.col-sku{width:140px}.col-title{min-width:200px}.col-condition{width:150px}.col-price,.col-cost{width:100px;text-align:right}.col-status,.col-location,.col-date{width:100px}.col-actions{width:80px}.sku-badge{font-family:var(--font-mono);font-size:.8rem;background:var(--color-bg-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.title-cell{display:flex;flex-direction:column;gap:.25rem}.item-title{font-weight:500}.item-brand{font-size:.75rem;color:var(--color-text-secondary)}.condition-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.condition-new{background:#dcfce7;color:#166534}.condition-new_open_box{background:#dbeafe;color:#1e40af}.condition-used{background:#fef9c3;color:#854d0e}.condition-for_parts{background:#fee2e2;color:#991b1b}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.status-unlisted{background:#f1f5f9;color:#475569}.status-listed{background:#dbeafe;color:#1e40af}.status-sold{background:#dcfce7;color:#166534}.status-returned{background:#fef9c3;color:#854d0e}.status-archived{background:#e2e8f0;color:#64748b}.action-buttons{display:flex;gap:.25rem}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.btn-icon:hover{background:var(--color-bg-secondary)}.btn-icon.btn-danger:hover{background:#fee2e2}.inventory-table-loading,.inventory-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.inventory-table-empty p{color:var(--color-text-secondary)}.empty-hint{font-size:.875rem;margin-top:.5rem}@media(max-width:768px){.inventory-table{font-size:.8rem}.inventory-table th,.inventory-table td{padding:.5rem}.col-condition,.col-cost,.col-location,.col-date{display:none}}.inventory-filters{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters-left{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-box{position:relative}.search-box input{width:280px;padding:.625rem 2.5rem .625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.search-box input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem}.clear-search:hover{color:var(--color-text)}.status-filter{display:flex;gap:.25rem;background:var(--color-bg-secondary);padding:.25rem;border-radius:var(--radius-md)}.filter-btn{padding:.5rem .75rem;border:none;background:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.filter-btn:hover{color:var(--color-text);background:var(--color-bg)}.filter-btn.active{background:var(--color-bg);color:var(--color-primary);box-shadow:var(--shadow-sm)}.filters-right{display:flex;align-items:center;gap:1rem}.item-count{font-size:.875rem;color:var(--color-text-secondary)}@media(max-width:768px){.search-box input{width:100%}.status-filter{overflow-x:auto;max-width:100%}}.condition-picker{display:flex;flex-direction:column;gap:1rem}.condition-picker label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem;display:block}.condition-options,.grade-options{display:flex;flex-wrap:wrap;gap:.5rem}.condition-btn,.grade-btn{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.875rem;cursor:pointer;transition:all .15s ease}.condition-btn:hover,.grade-btn:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.condition-btn.active,.grade-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.grade-btn[data-grade=LIKE_NEW].active{background:#16a34a;border-color:#16a34a}.grade-btn[data-grade=VERY_GOOD].active{background:#2563eb;border-color:#2563eb}.grade-btn[data-grade=GOOD].active{background:#ca8a04;border-color:#ca8a04}.grade-btn[data-grade=ACCEPTABLE].active{background:#dc2626;border-color:#dc2626}.item-form{max-width:800px;margin:0 auto}.form-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.form-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-bg);color:var(--color-text);transition:border-color .15s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-row.three-col{grid-template-columns:repeat(3,1fr)}@media(max-width:600px){.form-row,.form-row.three-col{grid-template-columns:1fr}}.input-with-prefix{display:flex;align-items:stretch}.input-prefix{display:flex;align-items:center;padding:0 .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md);color:var(--color-text-secondary);font-size:.875rem}.input-with-prefix input{border-radius:0 var(--radius-md) var(--radius-md) 0}.tag-input-container{display:flex;gap:.5rem}.tag-input-container input{flex:1}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.tag button{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:none;background:none;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;line-height:1}.tag button:hover{color:var(--color-error)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem}.btn-secondary{padding:.75rem 1.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-text-secondary)}.photo-upload-area{position:relative;margin-bottom:1rem}.photo-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.photo-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);cursor:pointer;transition:all .15s ease}.photo-upload-label:hover{border-color:var(--color-primary);background:#2563eb0d}.upload-icon{font-size:2rem;margin-bottom:.5rem}.photo-upload-label span:last-child{font-size:.875rem;color:var(--color-text-secondary)}.photo-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.photo-preview{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.photo-preview img{width:100%;height:100%;object-fit:cover}.remove-photo{position:absolute;top:.25rem;right:.25rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1}.remove-photo:hover{background:var(--color-error)}.primary-badge{position:absolute;bottom:.25rem;left:.25rem;padding:.125rem .375rem;background:var(--color-primary);color:#fff;font-size:.625rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.photo-help-text{font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.75rem}.set-primary-btn{position:absolute;bottom:.25rem;left:.25rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fbbf24;border:none;border-radius:50%;cursor:pointer;font-size:.875rem;line-height:1;opacity:0;transition:opacity .15s ease,background .15s ease}.photo-preview:hover .set-primary-btn{opacity:1}.set-primary-btn:hover{background:#000c;color:#f59e0b}.set-primary-btn:disabled{cursor:not-allowed;opacity:.5}.drag-handle{position:absolute;top:.25rem;left:.25rem;padding:.125rem .25rem;background:#00000080;color:#fff;font-size:.75rem;border-radius:var(--radius-sm);cursor:grab;opacity:0;transition:opacity .15s ease;letter-spacing:-2px}.photo-preview:hover .drag-handle{opacity:1}.photo-preview.dragging{opacity:.5;border:2px dashed var(--color-primary)}.photo-preview[draggable=true]{cursor:grab}.photo-preview[draggable=true]:active{cursor:grabbing}.photo-preview:hover .remove-photo{opacity:1}.photo-preview .remove-photo{opacity:0;transition:opacity .15s ease,background .15s ease}.remove-photo:disabled{cursor:not-allowed;opacity:.5!important}.form-hint{font-size:.8125rem;color:var(--color-text-secondary)}.extra-specifics-editor{display:flex;flex-direction:column;gap:.75rem}.specific-row{display:flex;align-items:center;gap:.5rem}.specific-key{flex:0 0 40%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-bg);color:var(--color-text)}.specific-key:focus{outline:none;border-color:var(--color-primary)}.specific-separator{color:var(--color-text-secondary);font-weight:600}.specific-value{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-bg);color:var(--color-text)}.specific-value:focus{outline:none;border-color:var(--color-primary)}.specific-delete{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem;border-radius:var(--radius-sm);transition:all .15s ease}.specific-delete:hover{background:var(--color-error);color:#fff}.add-specific-btn{align-self:flex-start;padding:.5rem 1rem;font-size:.875rem}@media(max-width:600px){.specific-row{flex-wrap:wrap}.specific-key{flex:1 1 100%}.specific-separator{display:none}.specific-value{flex:1}}.inventory-page{padding:1.5rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{font-size:1.5rem;font-weight:600}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fee2e2;color:#991b1b;border-radius:var(--radius-md);margin-bottom:1rem}.error-banner button{padding:.5rem 1rem;background:#fff;border:1px solid #991b1b;border-radius:var(--radius-sm);color:#991b1b;cursor:pointer}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.page-info{font-size:.875rem;color:var(--color-text-secondary)}.pagination .btn-secondary{padding:.5rem 1rem}.pagination .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.settings-page{padding:1.5rem;max-width:800px;margin:0 auto}.settings-page .page-header{margin-bottom:2rem}.settings-page .page-header h2{font-size:1.5rem;font-weight:600}.settings-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.settings-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.settings-page .form-group{margin-bottom:1rem}.settings-page .form-group:last-child{margin-bottom:0}.settings-page .form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-secondary)}.settings-page .form-group input,.settings-page .form-group select{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-bg)}.settings-page .form-group input:focus,.settings-page .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-hint{font-size:.8rem;color:var(--color-text-secondary);margin-top:.5rem}.checkbox-group label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.settings-page .form-actions{margin-top:2rem}.message{padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.message.success{background:#dcfce7;color:#166534}.message.error{background:#fee2e2;color:#991b1b}.sku-preview-box{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1.5rem}.sku-preview-box .preview-label{font-size:.875rem;color:var(--color-text-secondary)}.sku-preview-box .preview-value{font-size:1.25rem;font-weight:600;font-family:monospace;color:var(--color-primary)}.sku-parts-builder{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.sku-part-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:300px}.sku-part-item.active{border-color:var(--color-primary);background:#2563eb0d}.sku-part-item .part-label{font-weight:500}.part-controls{display:flex;gap:.25rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem}.btn-icon:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon.btn-remove:hover:not(:disabled){background:#fee2e2;border-color:#ef4444;color:#ef4444}.sku-parts-available{display:flex;gap:.5rem;flex-wrap:wrap}.btn-add-part{padding:.375rem .75rem;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer}.btn-add-part:hover{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0d}.settings-page .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:400px}@media(max-width:500px){.settings-page .form-row{grid-template-columns:1fr}}.section-description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.5}.drive-loading{display:flex;align-items:center;gap:.75rem;padding:1rem;color:var(--color-text-secondary)}.drive-error{padding:.75rem 1rem;background:#fee2e2;color:#991b1b;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.drive-status{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem}.status-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.status-icon svg{width:1.5rem;height:1.5rem}.status-icon.connected{background:#dcfce7;color:#16a34a}.status-icon.disconnected{background:#fef3c7;color:#d97706}.status-info{display:flex;flex-direction:column}.status-label{font-weight:600;font-size:.9375rem}.status-email,.status-hint{font-size:.8125rem;color:var(--color-text-secondary)}.btn-google{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-google:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary)}.btn-google:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:1.25rem;height:1.25rem}.btn-disconnect{margin-top:.5rem}.btn-secondary{padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--color-bg-secondary);color:var(--color-text)}.drive-folders{margin-top:1rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.drive-folders h4{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.025em}.folder-tree{display:flex;flex-direction:column;gap:.375rem}.folder-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.folder-item.indent{margin-left:1.25rem}.folder-icon{font-size:1rem}.folder-hint{font-size:.75rem;color:var(--color-text-secondary);margin-left:auto}.loading-spinner.small{width:1rem;height:1rem;border-width:2px}.warehouse-page{padding:1.5rem;max-width:1000px;margin:0 auto}.warehouse-page .page-header{margin-bottom:1.5rem}.warehouse-page .page-header h2{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.warehouse-page .page-subtitle{color:var(--color-text-secondary);font-size:.875rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.tab{padding:.75rem 1.25rem;border:none;background:none;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s ease}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h3{font-size:1rem;font-weight:600}.header-buttons{display:flex;gap:.5rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-secondary{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer}.btn-secondary:hover{background:var(--color-bg-secondary)}.inline-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.inline-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.inline-form .form-group{display:flex;flex-direction:column}.inline-form .form-group label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.375rem}.inline-form .form-group input,.inline-form .form-group select{padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-bg)}.inline-form .form-group input:focus,.inline-form .form-group select:focus{outline:none;border-color:var(--color-primary)}.inline-form .form-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:.25rem}.inline-form .checkbox-inline{display:flex;align-items:flex-end;padding-bottom:.5rem}.inline-form .checkbox-inline label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text);cursor:pointer}.inline-form .checkbox-inline input[type=checkbox]{width:auto;margin:0}.data-table{width:100%;border-collapse:collapse;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{background:var(--color-bg-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--color-bg-secondary)}.data-table .code-cell{font-family:monospace;font-weight:600}.data-table .name-cell{font-weight:500}.empty-state{text-align:center;padding:3rem 1.5rem;background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary)}.warehouse-page .message{padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.warehouse-page .message.success{background:#dcfce7;color:#166534}.warehouse-page .message.error{background:#fee2e2;color:#991b1b}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary)}.loading-spinner{width:2rem;height:2rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.bulk-form .form-description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem}.bulk-form .form-description code{background:var(--color-bg);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.8rem}.bulk-preview{margin:1rem 0;padding:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.bulk-preview .preview-label{font-size:.75rem;color:var(--color-text-secondary);display:block;margin-bottom:.5rem}.bulk-preview .preview-codes{display:flex;flex-wrap:wrap;gap:.375rem}.bulk-preview .preview-codes code{background:var(--color-bg-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-family:monospace}.bulk-preview .preview-codes span{color:var(--color-text-secondary);font-size:.75rem;padding:.25rem}@media(max-width:600px){.inline-form .form-row{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.header-buttons{width:100%}.header-buttons button{flex:1}}.bulk-import-page{padding:1.5rem;max-width:1200px;margin:0 auto}.bulk-import-page .page-header{margin-bottom:1.5rem}.bulk-import-page .page-header h2{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.page-subtitle{color:var(--color-text-secondary);font-size:.9375rem}.step-indicator{display:flex;justify-content:center;gap:0;margin-bottom:2rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--color-text-secondary)}.step:not(:last-child):after{content:"";width:3rem;height:2px;background:var(--color-border);margin-left:1rem}.step.active{color:var(--color-primary)}.step.completed{color:#16a34a}.step.completed:after{background:#16a34a}.step-number{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:600;background:var(--color-bg-secondary);border:2px solid currentColor}.step.active .step-number{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.step.completed .step-number{background:#16a34a;color:#fff;border-color:#16a34a}.step-number svg{width:1rem;height:1rem}.step-label{font-size:.875rem;font-weight:500}.step-content{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;min-height:400px}.csv-upload-step{display:flex;flex-direction:column;gap:1.5rem}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .15s ease}.upload-zone:hover{border-color:var(--color-primary);background:#2563eb05}.upload-zone.dragging{border-color:var(--color-primary);background:#2563eb0d}.upload-icon{width:3rem;height:3rem;margin:0 auto 1rem;color:var(--color-text-secondary)}.upload-zone h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.upload-zone p{color:var(--color-text-secondary);font-size:.875rem}.upload-zone input{display:none}.csv-preview{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.csv-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.csv-preview-header h4{font-size:.9375rem;font-weight:600}.csv-stats{display:flex;gap:1.5rem}.csv-stat{text-align:center}.csv-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.csv-stat-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase}.csv-stat.error .csv-stat-value{color:#dc2626}.csv-stat.warning .csv-stat-value{color:#d97706}.csv-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:1rem;margin-top:1rem}.csv-errors h5{color:#991b1b;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.csv-errors ul{list-style:none;padding:0;margin:0;font-size:.8125rem;color:#991b1b}.csv-errors li{padding:.25rem 0}.template-section{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.template-section p{flex:1;font-size:.875rem;color:var(--color-text-secondary)}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer}.btn-back:hover{background:var(--color-bg-secondary);color:var(--color-text)}.btn-secondary{padding:.5rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.matching-step{display:flex;flex-direction:column;gap:1.5rem}.drive-status-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.drive-status-card.connected{border-color:#86efac;background:#f0fdf4}.drive-status-card.disconnected{border-color:#fecaca;background:#fef2f2}.matching-progress{padding:2rem;text-align:center}.progress-bar-container{width:100%;height:8px;background:var(--color-bg-secondary);border-radius:4px;overflow:hidden;margin:1rem 0}.progress-bar{height:100%;background:var(--color-primary);transition:width .3s ease}.match-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.match-result-card{padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.match-result-card.success{border-color:#86efac}.match-result-card.partial{border-color:#fde68a}.match-result-card.missing{border-color:#fecaca}.verification-step{display:flex;flex-direction:column;gap:1rem}.verification-summary{display:flex;gap:1.5rem;padding:1rem;background:var(--color-bg-secondary);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center}.verification-layout{display:flex;gap:1rem}.verification-grid{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto;flex:1}.verification-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:start}.verification-item.has-issues{border-color:#fde68a;background:#fffbeb}.verification-item.has-errors{border-color:#fecaca;background:#fef2f2}.verification-item.drop-target{border-color:var(--color-primary);background:#2563eb0d}.item-photos{display:flex;gap:.5rem;flex-wrap:wrap;padding:.5rem;border-radius:var(--radius-sm);transition:background .15s ease}.item-photos.drop-highlight{background:#2563eb1a}.photo-drop-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:60px;border:2px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.75rem}.photo-wrapper{position:relative;cursor:grab}.photo-wrapper:active{cursor:grabbing}.photo-wrapper.dragging{opacity:.5}.photo-thumb{width:60px;height:60px;border-radius:var(--radius-sm);object-fit:cover;border:2px solid var(--color-border);transition:all .15s ease}.photo-thumb:hover{border-color:var(--color-primary);transform:scale(1.05)}.photo-thumb.primary{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb33}.item-photos>div{position:relative;cursor:grab}.item-photos>div:active{cursor:grabbing}.remove-btn{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#dc2626;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;padding:0;line-height:1;opacity:0;transition:opacity .15s ease}.photo-wrapper:hover .remove-btn{opacity:1}.remove-btn:hover{background:#b91c1c}.primary-badge{position:absolute;bottom:2px;left:2px;background:var(--color-primary);color:#fff;font-size:.5rem;padding:1px 4px;border-radius:2px;pointer-events:none}.photo-missing{width:60px;height:60px;border-radius:var(--radius-sm);background:#fee2e2;border:2px dashed #fecaca;display:flex;align-items:center;justify-content:center;color:#dc2626;font-size:.75rem}.item-info h4{font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.item-meta{font-size:.8125rem;color:var(--color-text-secondary)}.item-issues{font-size:.8125rem;color:#d97706;margin-top:.5rem}.item-actions{display:flex;flex-direction:column;gap:.5rem}.processing-step{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1.5rem;text-align:center}.processing-spinner{width:3rem;height:3rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.processing-status h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.processing-status p{color:var(--color-text-secondary)}.import-complete{padding:2rem;text-align:center}.import-complete .success-icon{width:4rem;height:4rem;margin:0 auto 1rem;color:#16a34a}.import-complete h3{font-size:1.25rem;font-weight:600;color:#16a34a;margin-bottom:.5rem}.import-results{display:flex;justify-content:center;gap:2rem;margin:1.5rem 0}.import-result-stat{text-align:center}.import-result-stat .value{font-size:2rem;font-weight:700;color:var(--color-primary)}.import-result-stat .label{font-size:.8125rem;color:var(--color-text-secondary)}.orphan-sidebar{width:200px;min-width:200px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;max-height:500px;overflow-y:auto;transition:all .15s ease}.orphan-sidebar.drop-target{border-color:var(--color-primary);background:#2563eb0d}.orphan-sidebar h4{font-size:.875rem;font-weight:600;margin-bottom:.25rem;color:#d97706}.orphan-hint{font-size:.6875rem;color:var(--color-text-secondary);margin-bottom:.75rem}.orphan-grid{display:flex;flex-direction:column;gap:.5rem}.orphan-item{display:flex;align-items:center;gap:.5rem;padding:.375rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:grab;transition:all .15s ease;position:relative}.orphan-item:hover{border-color:var(--color-primary)}.orphan-item.dragging{opacity:.5}.orphan-item .photo-thumb{width:40px;height:40px;flex-shrink:0}.orphan-filename{font-size:.6875rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.delete-btn{width:16px;height:16px;border-radius:50%;background:#dc2626;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:0;line-height:1;opacity:0;transition:opacity .15s ease;flex-shrink:0}.orphan-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#b91c1c}@media(max-width:768px){.step-indicator{flex-wrap:wrap;gap:.5rem}.step:not(:last-child):after{display:none}.verification-layout{flex-direction:column}.orphan-sidebar{width:100%;min-width:unset;max-height:200px}.verification-item{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-success: #16a34a;--color-warning: #ca8a04;--color-error: #dc2626;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace}html{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg)}body,#root{min-height:100vh}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:var(--color-bg);border-bottom:1px solid var(--color-border)}.app-header h1{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.main-nav{display:flex;gap:.5rem}.main-nav a{padding:.5rem 1rem;border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-secondary);font-weight:500;transition:all .15s ease}.main-nav a:hover{background:var(--color-bg-secondary);color:var(--color-text)}.main-nav a.active{background:var(--color-primary);color:#fff}.user-menu{display:flex;align-items:center;gap:1rem}.user-email{font-size:.875rem;color:var(--color-text-secondary)}.btn-logout{padding:.5rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);cursor:pointer;transition:all .15s ease}.btn-logout:hover{background:var(--color-bg);border-color:var(--color-text-secondary)}.app-main{flex:1;padding:0;background:var(--color-bg-secondary)}.welcome-message{max-width:600px;margin:0 auto;text-align:center;padding:3rem 2rem}.welcome-message h2{font-size:2rem;margin-bottom:1rem}.welcome-message p{color:var(--color-text-secondary);margin-bottom:.5rem}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--color-bg-secondary)}.auth-card{width:100%;max-width:400px;padding:2rem;background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.auth-card h1{font-size:2rem;font-weight:700;color:var(--color-primary);text-align:center;margin-bottom:.5rem}.auth-card h2{font-size:1.25rem;font-weight:500;text-align:center;margin-bottom:2rem;color:var(--color-text-secondary)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;transition:border-color .15s ease}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}button{cursor:pointer;border:none;background:none}.btn-primary{padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;font-weight:600;border-radius:var(--radius-md);transition:background-color .15s ease}.auth-card .btn-primary{width:100%}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-link{color:var(--color-primary);font-weight:500;text-decoration:underline}.btn-link:hover{color:var(--color-primary-dark)}.error-message{padding:.75rem 1rem;margin-bottom:1rem;background-color:#fef2f2;color:var(--color-error);border-radius:var(--radius-md);font-size:.875rem}.auth-toggle{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--color-text-secondary)}
