:root{--color-primary: #38425c;--color-primary-dark: #2a3245;--color-primary-light: #4a5670;--color-accent: #255b42;--color-accent-dark: #1c3529;--color-accent-light: #274b3a;--color-background: #f3f2ef;--color-surface: #ffffff;--color-text: #231f20;--color-text-secondary: #5c5c5c;--color-text-tertiary: #8a8a8a;--color-text-light: #8a8a8a;--color-border: #e0dfdc;--color-border-light: #eeedeb;--color-success: #255b42;--color-warning: #c4842d;--color-error: #b54248;--color-confidence-high: #255b42;--color-confidence-medium: #c4842d;--color-confidence-low: #b54248;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 100px;--shadow-sm: 0 1px 2px rgba(35, 31, 32, .05);--shadow-md: 0 4px 6px rgba(35, 31, 32, .07);--shadow-lg: 0 10px 25px rgba(35, 31, 32, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.3;color:var(--color-primary)}h1{font-size:2.5rem;letter-spacing:-.02em}h2{font-size:1.75rem}h3{font-size:1.25rem}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-dark)}.app,.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-xl) var(--spacing-lg);max-width:1800px;margin:0 auto;width:100%}.app-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-xl);position:fixed;bottom:0;left:0;right:0;z-index:100}.footer-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.footer-content .footer-left,.footer-content .footer-right{display:flex;align-items:center;gap:var(--spacing-sm)}.header-tooltip-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help}.header-tooltip-wrapper:hover{z-index:999999}.header-tooltip-wrapper:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 10px;background-color:var(--color-primary-dark);color:#fff;font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.4;white-space:nowrap;border-radius:var(--radius-sm);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:999999;pointer-events:none;box-shadow:0 2px 8px #00000026}.header-tooltip-wrapper:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-primary-dark);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:999999}.header-tooltip-wrapper:hover:after,.header-tooltip-wrapper:hover:before{opacity:1;visibility:visible}.header-tooltip-wrapper.tooltip-bottom:after{bottom:auto;top:calc(100% + 8px)}.header-tooltip-wrapper.tooltip-bottom:before{bottom:auto;top:calc(100% + 2px);border-top-color:transparent;border-bottom-color:var(--color-primary-dark)}.header-tooltip-trigger{display:inline-flex;align-items:center;cursor:help}.header-tooltip-fixed{padding:6px 10px;background-color:var(--color-primary-dark);color:#fff;font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.4;white-space:nowrap;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000040;pointer-events:none;z-index:999999}.header-tooltip-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-primary-dark);border-bottom:none}.info-tooltip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;color:var(--color-text-tertiary);cursor:help;position:relative}.info-tooltip:hover{color:var(--color-primary)}.info-tooltip svg{width:14px;height:14px}.sandbox-banner{background-color:var(--color-warning);color:#fff;padding:var(--spacing-xs) var(--spacing-md);text-align:center;font-size:.875rem;font-weight:500;position:sticky;top:0;z-index:101}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-xl);position:sticky;top:0;z-index:100}.sandbox-banner+.header{top:28px}.header-content{max-width:1800px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl);position:relative}.logo-link{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none}.logo{height:50px;width:auto}.logo-text{display:flex;flex-direction:column}.logo-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-primary)}.logo-subtitle{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.step-indicator{display:flex;align-items:center;gap:var(--spacing-sm);position:absolute;left:50%;transform:translate(-50%)}.step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);opacity:.4;transition:opacity var(--transition-normal)}.step.active{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;background-color:var(--color-border);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all var(--transition-normal)}.step.active .step-number{background-color:var(--color-primary);color:#fff}.step.completed .step-number{background-color:var(--color-success);color:#fff}.step-label{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap}.step.active .step-label{color:var(--color-primary);font-weight:500}.step-connector{width:40px;height:2px;background-color:var(--color-border);margin-bottom:var(--spacing-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-body);font-size:.9375rem;font-weight:500;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn svg{flex-shrink:0;vertical-align:middle}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-text{background-color:transparent;color:var(--color-accent);padding:var(--spacing-xs) var(--spacing-sm)}.btn-text:hover:not(:disabled){color:var(--color-accent-dark);text-decoration:underline}.btn-large{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-icon:hover{background-color:var(--color-background);color:var(--color-primary)}.btn-icon.btn-delete:hover{background-color:#fef2f2;color:var(--color-error)}.btn-icon.btn-save{color:var(--color-success)}.btn-icon.btn-save:hover{background-color:#f0fdf4}.upload-page{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.page-header{text-align:center;max-width:600px;margin:0 auto}.page-header h1{margin-bottom:var(--spacing-sm)}.page-description{color:var(--color-text-secondary);font-size:1.0625rem;margin-bottom:var(--spacing-sm)}.loading-prices-indicator{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary-50);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-primary-700)}.supported-files{display:inline-flex;align-items:center;gap:var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem;color:var(--color-text-secondary)}.supported-files-label{font-weight:600;color:var(--color-primary)}.upload-section{display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:800px;margin:0 auto;width:100%}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--color-surface);cursor:pointer;transition:all var(--transition-normal);text-align:center}.upload-zone:hover,.upload-zone.dragging{border-color:var(--color-accent);background-color:#f8faf9}.upload-zone.disabled{opacity:.6;cursor:not-allowed}.file-input{display:none}.upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.upload-icon{color:var(--color-accent)}.upload-primary{font-size:1.125rem;font-weight:500;color:var(--color-text)}.upload-secondary{color:var(--color-text-secondary)}.upload-link{color:var(--color-accent);text-decoration:underline;cursor:pointer}.upload-hint{font-size:.8125rem;color:var(--color-text-light)}.error-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--spacing-lg);max-width:800px;margin-left:auto;margin-right:auto}.error-banner svg{flex-shrink:0}.error-banner span{flex:1}.error-dismiss{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-error);opacity:.7;transition:opacity var(--transition-fast)}.error-dismiss:hover{opacity:1}.files-section{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.files-header h2{font-size:1.125rem}.file-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.file-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.file-item.uploading{background-color:#eff6ff}.file-item.processing{background-color:#fffbeb}.file-item.complete{background-color:#f0fdf4}.file-item.error{background-color:#fef2f2}.file-icon{color:var(--color-primary);flex-shrink:0}.file-info{flex:1;display:flex;flex-direction:column}.file-name{font-weight:500;color:var(--color-text)}.file-size{font-size:.8125rem;color:var(--color-text-secondary)}.file-status{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.8125rem;font-weight:500}.file-status.uploading{color:#3b82f6}.file-status.processing{color:var(--color-warning)}.file-status.complete{color:var(--color-success)}.file-status.error{color:var(--color-error)}.file-remove{color:var(--color-text-light);background:none;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.file-remove:hover{color:var(--color-error);background-color:#fef2f2}.progress-indicator{padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.progress-message{font-weight:500;color:var(--color-primary)}.progress-percentage{font-weight:600;color:var(--color-accent)}.progress-bar{height:8px;background-color:var(--color-background);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background-color:var(--color-accent);border-radius:var(--radius-full);transition:width var(--transition-normal)}.action-buttons{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);max-width:1000px;margin:0 auto}.info-card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;box-shadow:var(--shadow-sm)}.info-icon{width:48px;height:48px;margin:0 auto var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.info-card h3{margin-bottom:var(--spacing-sm);color:var(--color-primary)}.info-card p{font-size:.9375rem;color:var(--color-text-secondary)}.review-page{display:flex;flex-direction:column;gap:0;padding-bottom:60px}.page-header-simple{margin-bottom:var(--spacing-sm)}.page-header-simple h1{font-size:1.75rem;margin-bottom:var(--spacing-xs)}.page-header-simple .page-description{font-size:.9375rem}.page-header-title-row{display:flex;align-items:center;gap:var(--spacing-md)}.page-header-title-row h1{margin-bottom:0}.save-status{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.8125rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.save-status-saving{color:var(--color-text-secondary)}.save-status-saved{color:var(--color-success);background-color:#22c55e1a}.save-status-error{color:var(--color-error);background-color:#ef44441a}.review-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;text-align:left;max-width:none;flex-wrap:wrap;gap:var(--spacing-lg)}.header-content{flex:1;min-width:300px}.header-stats{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat.stat-warning .stat-value{color:var(--color-warning)}.empty-state{text-align:center;padding:var(--spacing-3xl);background-color:var(--color-surface);border-radius:var(--radius-md)}.empty-state h2{margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.invoices-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.invoice-card{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.invoice-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);cursor:pointer;transition:background-color var(--transition-fast)}.invoice-header:hover{background-color:var(--color-border-light)}.invoice-toggle{flex-shrink:0}.toggle-icon{transition:transform var(--transition-normal)}.toggle-icon.rotated{transform:rotate(180deg)}.invoice-title{flex:1}.invoice-title h3{margin-bottom:var(--spacing-xs)}.invoice-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.wholesaler-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-accent);color:#fff;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.invoice-number,.invoice-date{font-size:.875rem;color:var(--color-text-secondary)}.invoice-stats{display:flex;align-items:center;gap:0}.stat-item{text-align:center;padding:0 var(--spacing-lg);border-right:1px solid var(--color-border-light);width:120px;flex-shrink:0}.stat-item:nth-child(2){width:140px}.stat-item:last-of-type{border-right:none;width:180px}.stat-item .stat-value{font-size:1.125rem;font-weight:600;display:block}.stat-item .stat-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;display:block;margin-top:var(--spacing-xs)}.stat-item.stat-warning .stat-value{color:var(--color-warning)}.stat-item.stat-ok .stat-value{color:var(--color-success)}.invoice-body{padding:0 0 var(--spacing-lg);border-top:1px solid var(--color-border-light)}.invoice-body-scrollable{max-height:500px;overflow-y:auto;overflow-x:auto}.invoice-body-scrollable.has-scroll{border-bottom:1px solid var(--color-border-light)}.invoice-body-scrollable thead{position:sticky;top:0;z-index:20}.invoice-body-scrollable thead:has(.header-tooltip-wrapper:hover),.invoice-body-scrollable thead:has(.header-tooltip-trigger:hover){z-index:999999}.invoice-body-scrollable thead th{background:var(--color-surface);box-shadow:0 1px 0 var(--color-border-light);position:sticky;top:0;z-index:20}.invoice-body-scrollable .resizable-table-wrapper{width:100%;max-width:100%;box-sizing:border-box}.invoice-body-scrollable::-webkit-scrollbar{width:8px}.invoice-body-scrollable::-webkit-scrollbar-track{background:var(--color-background)}.invoice-body-scrollable::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.invoice-body-scrollable::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.items-count-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-background);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.items-count-badge svg{width:14px;height:14px}.items-table{width:100%;border-collapse:collapse;font-size:.9375rem;table-layout:fixed}.resizable-table-wrapper{width:100%;max-width:100%;overflow:visible}.resizable-table-wrapper .items-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse}.resizable-table-wrapper.resizing{cursor:col-resize}.resizable-table-wrapper.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.items-table.resizable th{position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}.items-table.resizable th,.items-table.resizable td{min-width:0;box-sizing:border-box}.resizable-table-wrapper .items-table.resizable{width:100%;max-width:100%}.items-table.resizable .number-cell,.items-table.resizable .name-cell,.items-table.resizable .sku-cell,.items-table.resizable .category-cell,.items-table.resizable .square-cell{min-width:0!important;max-width:none!important;overflow:hidden}.items-table.resizable .actions-cell,.items-table.resizable th.actions-cell{overflow:visible;padding:var(--spacing-xs) 4px!important}.items-table.resizable .select-cell,.items-table.resizable th.select-cell{width:32px!important;min-width:32px!important;max-width:32px!important;padding:var(--spacing-xs) var(--spacing-sm)!important}.items-table.resizable .row-number-cell,.items-table.resizable th.row-number-cell{width:36px!important;min-width:36px!important;max-width:36px!important;padding:var(--spacing-xs) var(--spacing-sm)!important}.items-table.resizable .update-qty-cell,.items-table.resizable th.update-qty-cell{width:40px!important;min-width:40px!important;max-width:40px!important}.items-table.resizable th:has(.header-tooltip-wrapper:hover),.items-table.resizable th:has(.header-tooltip-trigger:hover){z-index:99999;overflow:visible}.resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;background:transparent;z-index:25;transform:translate(50%)}.resize-handle:after{content:"";position:absolute;top:25%;left:50%;transform:translate(-50%);width:2px;height:50%;background:transparent;border-radius:1px;transition:background-color .15s ease}.resize-handle:hover:after{background:var(--color-primary-light)}.resize-handle:active:after,.resizable-table-wrapper.resizing .resize-handle:after{background:var(--color-primary)}.items-table.resizable td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}.items-table.resizable td,.items-table.resizable th{min-width:0!important;max-width:none!important}.items-table.resizable .select-cell,.items-table.resizable th.select-cell{min-width:32px!important;max-width:32px!important;width:32px!important}.items-table.resizable .row-number-cell,.items-table.resizable th.row-number-cell{min-width:36px!important;max-width:36px!important;width:36px!important}.items-table.resizable .update-qty-cell,.items-table.resizable th.update-qty-cell{min-width:40px!important;max-width:40px!important;width:40px!important}.items-table.resizable .actions-cell,.items-table.resizable th.actions-cell{min-width:50px!important;max-width:none!important}.items-table.resizable td.name-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none}.items-table.resizable td.name-cell .item-name-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table.resizable td.name-cell .item-name-link,.items-table.resizable td.name-cell .item-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.items-table th,.items-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border-light)}.items-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background-color:var(--color-surface);white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.items-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease;background-color:var(--color-surface)}.items-table th.sortable-header:hover{background-color:#ebebeb}.items-table th.sortable-header .sortable-header-content{display:flex;align-items:center;gap:4px;width:100%;overflow:hidden}.items-table th.sortable-header .header-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table th.sortable-header.number-cell .sortable-header-content{justify-content:flex-end}.items-table th.sortable-header .sort-indicator{font-size:.6rem;opacity:.3;transition:opacity .15s ease;flex-shrink:0;line-height:1}.items-table th.sortable-header:hover .sort-indicator{opacity:.6}.items-table th.sortable-header.sorted-asc .sort-indicator,.items-table th.sortable-header.sorted-desc .sort-indicator{opacity:1;color:var(--color-primary)}.items-table td{vertical-align:middle}.items-table .number-cell,.items-table th.number-header{text-align:right;font-variant-numeric:tabular-nums;width:85px;min-width:75px}.items-table .name-cell{width:220px;min-width:150px;max-width:300px;overflow:hidden}.items-table .sku-cell{font-family:monospace;font-size:.875rem;color:var(--color-text-secondary);vertical-align:middle;width:100px;min-width:90px;max-width:130px}.items-table .sku-cell .original-value{font-family:var(--font-body);font-size:.65rem;color:var(--color-text-light);font-style:italic;margin-top:2px;display:block}.items-table .actions-cell,.items-table th.actions-cell{width:90px;min-width:90px;text-align:center;white-space:nowrap;padding:var(--spacing-xs) 4px}.items-table td.actions-cell{vertical-align:middle}.items-table td.actions-cell .actions-row{display:inline-flex;align-items:center;justify-content:center;gap:2px}.items-table td.actions-cell .actions-row .btn-icon{margin:0}.actions-overflow{display:inline-flex;align-items:center}.actions-overflow .btn-overflow{padding:4px;border-radius:4px;color:var(--color-text-secondary)}.actions-overflow .btn-overflow:hover{background-color:var(--color-border-light);color:var(--color-text)}.actions-overflow-menu{position:fixed;z-index:99999;min-width:150px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px}.overflow-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;font-size:.875rem;color:var(--color-text);cursor:pointer;border-radius:4px;text-align:left}.overflow-menu-item:hover:not(:disabled){background-color:var(--color-background)}.overflow-menu-item:disabled{opacity:.5;cursor:not-allowed}.overflow-menu-item svg{flex-shrink:0}.overflow-menu-item.btn-delete{color:var(--color-error)}.overflow-menu-item.btn-delete:hover:not(:disabled){background-color:#dc35451a}.items-table .row-number-cell{width:24px;min-width:24px;text-align:center;color:var(--color-text-secondary);font-size:.875rem}.items-table tbody tr:nth-child(2n){background-color:var(--color-background)}.items-table tbody tr:nth-child(odd){background-color:var(--color-surface)}.items-table tbody tr:hover{background-color:#e8e7e4}.new-item{background-color:#f0fdf4!important}.edit-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9375rem;transition:border-color var(--transition-fast)}.edit-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #255b421a}.edit-input-small{max-width:120px}.edit-input-number{max-width:80px;text-align:right}.edit-input-number::-webkit-outer-spin-button,.edit-input-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-input-number{-moz-appearance:textfield}.edit-input-price{max-width:100px;text-align:right}.edit-input-price::-webkit-outer-spin-button,.edit-input-price::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-input-price{-moz-appearance:textfield}.price-input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.price-symbol{color:var(--color-text-secondary)}.empty-value{color:var(--color-text-light);font-style:italic}.add-item-btn{margin-top:var(--spacing-md);margin-left:var(--spacing-lg)}.action-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-surface);border-top:1px solid var(--color-border);position:fixed;bottom:0;left:0;right:0;z-index:100;gap:var(--spacing-md)}.action-bar-left{display:flex;align-items:center;gap:var(--spacing-sm)}.btn-undo{display:inline-flex;align-items:center;gap:6px}.btn-undo svg{transition:transform .2s ease}.btn-undo:hover svg{transform:rotate(-45deg)}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.page-header-row h1{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--color-primary);letter-spacing:-.02em;margin:0 0 var(--spacing-xs) 0}.page-header-left{flex:1}.page-header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.confidence-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.confidence-bar{width:60px;height:6px;background-color:var(--color-background);border-radius:var(--radius-full);overflow:hidden}.confidence-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal)}.confidence-high .confidence-fill{background-color:var(--color-confidence-high)}.confidence-medium .confidence-fill{background-color:var(--color-confidence-medium)}.confidence-low .confidence-fill{background-color:var(--color-confidence-low)}.confidence-text{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs)}.confidence-high .confidence-text{color:var(--color-confidence-high)}.confidence-medium .confidence-text{color:var(--color-confidence-medium)}.confidence-low .confidence-text{color:var(--color-confidence-low)}.confidence-label{font-weight:400;font-size:.75rem}.confidence-small .confidence-bar{width:40px;height:4px}.confidence-small .confidence-text{font-size:.75rem}.confidence-large .confidence-bar{width:80px;height:8px}.confidence-large .confidence-text{font-size:1rem}.final-review-page{display:flex;flex-direction:column;gap:var(--spacing-xl);padding-bottom:80px}.final-review-page .page-header{text-align:center;max-width:600px;margin:0 auto}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.summary-card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);box-shadow:var(--shadow-sm)}.summary-icon{width:56px;height:56px;background-color:var(--color-background);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-accent);flex-shrink:0}.summary-content{display:flex;flex-direction:column}.summary-value{font-size:1.75rem;font-weight:700;color:var(--color-primary);line-height:1.2}.summary-label{font-size:.875rem;color:var(--color-text-secondary)}.review-section{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.review-section h2{margin-bottom:var(--spacing-lg)}.invoice-summary-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.invoice-summary{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.invoice-summary-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background)}.invoice-summary-header h3{margin-bottom:var(--spacing-xs)}.invoice-info{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.new-items-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;background-color:#fef3c7;color:#b45309;border-radius:var(--radius-sm)}.summary-breakdown{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.final-review-table-wrapper{margin-bottom:var(--spacing-md)}.final-review-table-wrapper .items-table{font-size:.875rem}.final-review-table-wrapper .items-table th,.final-review-table-wrapper .items-table td{padding:var(--spacing-sm) var(--spacing-md)}.final-review-table-wrapper .items-table .category-cell{min-width:80px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.final-review-table-wrapper .items-table td.category-cell:hover{overflow:visible;white-space:normal;word-break:break-word;position:relative;z-index:1;background-color:var(--color-surface);box-shadow:var(--shadow-md)}.new-item-row{background-color:#fffbeb}.new-item-row:hover{background-color:#fef3c7}.item-name-with-status{display:flex;align-items:center;gap:var(--spacing-sm)}.new-badge{display:inline-flex;align-items:center;padding:1px 6px;font-size:.625rem;font-weight:700;background-color:#fef3c7;color:#b45309;border-radius:3px;text-transform:uppercase}.status-cell{text-align:center}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.status-badge.new{background-color:#fef3c7;color:#b45309}.status-badge.update{background-color:#dcfce7;color:var(--color-success)}.status-badge.variation{background-color:#e0e7ff;color:#4338ca}.status-badge.mapped-variation{background-color:#e0e7ff;color:#6366f1}.update-qty-cell{text-align:center;width:40px;min-width:36px;max-width:45px;padding:var(--spacing-xs)!important}.update-qty-cell .checkbox-inline{display:flex;align-items:center;justify-content:center;cursor:pointer}.update-qty-cell .checkbox-inline input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--color-text-light);opacity:.6;transition:opacity var(--transition-fast)}.update-qty-cell .checkbox-inline input[type=checkbox]:hover{opacity:1}.update-qty-cell .checkbox-inline input[type=checkbox]:checked{accent-color:var(--color-primary);opacity:1}.checkbox-inline{display:flex;align-items:center;justify-content:center;cursor:pointer}.checkbox-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.qty-update-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);background-color:#dbeafe;color:#1d4ed8}.new-variations-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);background-color:#e0e7ff;color:#4338ca;margin-left:var(--spacing-xs)}.select-cell{width:32px;min-width:32px;max-width:32px;text-align:center;padding:0 var(--spacing-xs)!important}.select-cell .checkbox-inline input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--color-primary)}.items-table tbody tr.selected-row{background-color:#eff6ff!important}.items-table tbody tr.selected-row:nth-child(2n){background-color:#dbeafe!important}.bulk-action-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-lg);background-color:#eff6ff;border-bottom:1px solid #bfdbfe}.bulk-selection-count{font-size:.85rem;font-weight:500;color:var(--color-primary)}.bulk-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.bulk-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.bulk-items-list{display:flex;flex-wrap:wrap;gap:4px;max-height:80px;overflow-y:auto}.bulk-item-tag{display:inline-flex;align-items:center;padding:2px 8px;background-color:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:.8rem;color:var(--color-text-secondary)}.bulk-item-detail{color:var(--color-text-light);margin-left:2px}.new-variation-row{border-left:3px solid #7c3aed;background-color:#f5f3ff!important}.new-variation-row:nth-child(2n){background-color:#ede9fe!important}.variation-name-tag{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.square-status-badge.variation{background-color:#e0e7ff;color:#4338ca}.add-variation-btn{margin-left:auto;font-size:.75rem;padding:4px 8px;display:flex;align-items:center;gap:4px;color:#4338ca}.add-variation-btn:hover{background-color:#e0e7ff}.price-arrow{margin-left:2px;font-weight:700}.warning-section{background-color:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius-md);padding:var(--spacing-xl)}.warning-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-warning)}.warning-header h3{color:var(--color-warning)}.warning-text{color:var(--color-text);margin-bottom:var(--spacing-lg)}.low-confidence-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.low-confidence-list li{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:#fff;border-radius:var(--radius-sm)}.low-confidence-list .item-name{flex:1;font-weight:500}.low-confidence-list .item-source{font-size:.875rem;color:var(--color-text-secondary)}.confirmation-section{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-md);cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent);flex-shrink:0}.checkbox-text{color:var(--color-text);line-height:1.5}.spinner,.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:spin .8s linear infinite}.spinner-tiny{display:inline-block;width:12px;height:12px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-warning);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.submission-progress{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.submission-progress h3{margin-bottom:var(--spacing-lg);color:var(--color-primary)}.progress-summary{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.progress-stat{display:inline-flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--color-text)}.progress-stat.success{background-color:#dcfce7;color:var(--color-success)}.progress-stat.failed{background-color:#fee2e2;color:var(--color-error)}.progress-stat.processing{background-color:#fef3c7;color:var(--color-warning)}.progress-stat.partial{background-color:#fef3c7;color:#b45309}.invoice-progress-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.invoice-progress-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.invoice-progress-header{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.invoice-progress-item.processing{background-color:#fffbeb}.invoice-progress-item.success{background-color:#f0fdf4}.invoice-progress-item.failed{background-color:#fef2f2}.invoice-progress-item.partial{background-color:#fffbeb}.invoice-progress-item.current{box-shadow:0 0 0 2px var(--color-warning)}.status-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon.pending{color:var(--color-text-light)}.status-icon.processing{color:var(--color-warning)}.status-icon.success{color:var(--color-success)}.status-icon.failed{color:var(--color-error)}.status-icon.partial,.status-icon.status-partial{color:#b45309}.invoice-progress-item .invoice-name{flex:1;font-weight:500;color:var(--color-text)}.invoice-progress-item .invoice-items{font-size:.875rem;color:var(--color-text-secondary)}.invoice-result-details{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#00000008;border-radius:var(--radius-sm);font-size:.813rem}.invoice-result-details .result-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.invoice-result-details .result-label{color:var(--color-text-secondary);min-width:60px}.invoice-result-details .result-status{font-weight:500}.invoice-result-details .result-status.success{color:var(--color-success)}.invoice-result-details .result-status.partial{color:#b45309}.invoice-result-details .result-status.failed{color:var(--color-error)}.invoice-result-details .result-status.skipped{color:var(--color-text-secondary)}.invoice-error-details{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:#b5424814;border:1px solid rgba(181,66,72,.2);border-radius:var(--radius-sm);font-size:.875rem}.invoice-error-details .error-message{color:var(--color-error);margin-bottom:var(--spacing-sm)}.invoice-error-details .error-items{margin-top:var(--spacing-sm)}.invoice-error-details .error-items ul{margin:var(--spacing-xs) 0 0 var(--spacing-lg);padding:0;list-style:disc}.invoice-error-details .error-items li{margin-bottom:var(--spacing-xs);color:var(--color-text)}.invoice-error-details .error-type{font-family:monospace;font-size:.75rem;background-color:#b542481a;color:var(--color-error);padding:1px 4px;border-radius:2px;margin-right:var(--spacing-xs)}.invoice-error-details .error-item{font-weight:500;margin-right:var(--spacing-xs)}.invoice-error-details .error-text{color:var(--color-text-secondary)}.invoice-error-details .error-raw{margin-top:var(--spacing-md);font-size:.75rem}.invoice-error-details .error-raw summary{cursor:pointer;color:var(--color-text-secondary);font-weight:500}.invoice-error-details .error-raw summary:hover{color:var(--color-text)}.invoice-error-details .error-raw pre{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto;font-size:.7rem;max-height:200px;overflow-y:auto;color:var(--color-text)}.submission-result{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.submission-result.success{background-color:#f0fdf4;border:1px solid var(--color-success)}.submission-result.warning{background-color:#fffbeb;border:1px solid var(--color-warning)}.submission-result svg{flex-shrink:0;margin-top:2px}.submission-result.success svg{color:var(--color-success)}.submission-result.warning svg{color:var(--color-warning)}.result-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.result-title{font-weight:600;margin:0}.submission-result.success .result-title{color:var(--color-success)}.submission-result.warning .result-title{color:var(--color-warning)}.result-text{color:var(--color-text);margin:0;line-height:1.5}.warning-content{flex:1}.warning-title{font-weight:600;color:var(--color-warning);margin-bottom:var(--spacing-xs)}.submission-result.success .warning-title{color:var(--color-success)}.warning-text{color:var(--color-text);margin-bottom:var(--spacing-md)}.warning-content .btn{margin-top:var(--spacing-sm)}.submission-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.submission-badge.success{background-color:#dcfce7;color:var(--color-success)}.submission-badge.failed{background-color:#fee2e2;color:var(--color-error)}.submission-badge.processing{background-color:#fef3c7;color:var(--color-warning)}.submission-badge.pending{background-color:var(--color-background);color:var(--color-text-secondary)}.status-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;min-width:80px;text-align:right}.status-label.pending{color:var(--color-text-light)}.status-label.processing{color:var(--color-warning)}.status-label.success{color:var(--color-success)}.status-label.partial{color:#b45309}.status-label.failed{color:var(--color-error)}.invoice-summary.success{border-color:var(--color-success)}.invoice-summary.failed{border-color:var(--color-error)}.invoice-summary.processing{border-color:var(--color-warning)}.success-page{display:flex;align-items:center;justify-content:center;min-height:60vh}.success-content{text-align:center;max-width:500px}.success-icon{width:100px;height:100px;margin:0 auto var(--spacing-xl);background-color:#f0fdf4;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-success)}.success-content h1{margin-bottom:var(--spacing-md);color:var(--color-success)}.success-message{color:var(--color-text-secondary);font-size:1.0625rem;margin-bottom:var(--spacing-2xl)}.success-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap}.success-tip{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text-secondary)}.success-tip svg{flex-shrink:0;color:var(--color-primary)}@media (max-width: 768px){h1{font-size:2rem}.header-content{flex-direction:column;gap:var(--spacing-md)}.step-indicator{position:static;transform:none;width:100%;justify-content:center}.step-label{display:none}.step-connector{width:24px;margin-bottom:0}.review-page .page-header{flex-direction:column;text-align:center}.header-stats{justify-content:center}.invoice-header{flex-wrap:wrap}.invoice-stats{width:100%;justify-content:flex-start;margin-top:var(--spacing-sm)}.items-table{font-size:.8125rem}.items-table th,.items-table td{padding:var(--spacing-sm)}.action-bar{flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.action-bar .btn{width:100%}.review-page{padding-bottom:100px}.summary-cards{grid-template-columns:1fr 1fr}.summary-card{flex-direction:column;text-align:center;gap:var(--spacing-md)}}@media (max-width: 480px){.main-content{padding:var(--spacing-md)}.upload-zone{padding:var(--spacing-xl) var(--spacing-md)}.summary-cards{grid-template-columns:1fr}.success-actions{flex-direction:column}.success-actions .btn{width:100%}.user-menu{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.user-name{display:none}.login-container{padding:var(--spacing-xl);margin:var(--spacing-md)}.login-logo{width:80px;height:80px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);padding:var(--spacing-lg)}.login-container{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-3xl);box-shadow:var(--shadow-lg);text-align:center;max-width:400px;width:100%}.login-logo{width:100px;height:100px;margin-bottom:var(--spacing-lg)}.login-title{font-family:var(--font-display);font-size:2rem;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.login-subtitle{font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-lg)}.login-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.login-button-wrapper{display:flex;justify-content:center}.login-error{background-color:#b542481a;border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);font-size:.875rem}.google-login-button{display:flex;align-items:center;gap:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.google-login-button:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-text-secondary);box-shadow:var(--shadow-sm)}.google-login-button:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}.user-menu{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border)}.user-name{font-size:.875rem;color:var(--color-text);font-weight:500}.logout-button{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.logout-button:hover{background-color:var(--color-background);border-color:var(--color-text-secondary);color:var(--color-text)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md);color:var(--color-text-secondary)}.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}.selector-component{position:relative;min-width:200px}.selector-trigger{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);min-height:38px}.selector-trigger:hover{border-color:var(--color-text-secondary)}.selector-trigger.open{border-color:var(--color-accent);box-shadow:0 0 0 3px #255b421a}.selector-trigger .selected-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;color:var(--color-text)}.selector-trigger .chevron{transition:transform var(--transition-fast);color:var(--color-text-secondary);flex-shrink:0}.selector-trigger.open .chevron{transform:rotate(180deg)}.selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:9999;max-height:300px;display:flex;flex-direction:column}.selector-filter{padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:1px solid var(--color-border-light);font-size:.9375rem;font-family:var(--font-body)}.selector-filter:focus{outline:none}.selector-options{overflow-y:auto;max-height:250px}.selector-option{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast);font-size:.9375rem}.selector-option:hover{background-color:var(--color-background)}.selector-option.selected{background-color:#255b421a;color:var(--color-accent);font-weight:500}.selector-option.category-option{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) var(--spacing-md)}.selector-option.category-option .category-name{font-weight:500;font-size:.9375rem}.selector-option.category-option .category-hierarchy{font-size:.75rem;color:var(--color-text-light);font-weight:400}.selector-option.category-option.selected .category-name{color:var(--color-accent)}.selector-option.category-option.selected .category-hierarchy{color:var(--color-accent);opacity:.7}.selector-loading,.selector-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.selector-component.with-refresh{display:flex;align-items:center;gap:var(--spacing-xs)}.selector-component.with-refresh .selector-trigger{flex:1}.selector-component .btn-refresh{flex-shrink:0;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.selector-component .btn-refresh:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background-color:#255b420d}.selector-component .btn-refresh:disabled{opacity:.6;cursor:not-allowed}.selector-component .btn-refresh .spinner-small{width:14px;height:14px}.invoice-settings{display:flex;gap:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);background-color:#fafaf8;border-bottom:1px solid var(--color-border-light);border-top:1px solid var(--color-border-light);flex-wrap:wrap;align-items:center}.setting-group{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.setting-group:has(.header-tooltip-wrapper:hover){z-index:99999}.setting-group label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.setting-group label .header-tooltip-wrapper{display:inline-flex;align-items:center;justify-content:center;margin-left:2px;position:relative;z-index:10}.setting-group label .header-tooltip-wrapper:hover{z-index:99999}.setting-group label .info-icon{width:auto;height:auto;font-size:13px;line-height:1;margin:0;background:none;border-radius:0;color:var(--color-text-tertiary);cursor:help;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.setting-group label .info-icon:hover{color:var(--color-primary)}.shipping-input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.shipping-input{width:100px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9375rem;text-align:right}.shipping-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #255b421a}.shipping-hint{font-size:.8125rem;color:var(--color-text-light);margin-left:var(--spacing-xs)}.search-cell{width:70px;text-align:center}.btn-icon.btn-search{color:var(--color-text-secondary)}.btn-icon.btn-search:hover:not(:disabled){background-color:#eff6ff;color:#3b82f6}.btn-icon.btn-search:disabled{opacity:.3;cursor:not-allowed}.match-indicator{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.75rem;font-weight:700;margin-left:var(--spacing-xs);vertical-align:middle}.match-indicator.found{background-color:#dcfce7;color:var(--color-success)}.match-indicator.not_found{background-color:#fef3c7;color:var(--color-warning)}.match-indicator.error{background-color:#fee2e2;color:var(--color-error)}.barcode-cell{font-family:monospace;font-size:.8125rem;color:var(--color-text-secondary);width:110px;min-width:90px;max-width:130px}.barcode-cell.barcode-invalid{color:var(--color-error, #b54248);background-color:#b5424814;border-left:3px solid var(--color-error, #b54248)}.proceed-wrapper{display:flex;align-items:center;gap:var(--spacing-md)}.validation-warning{color:var(--color-warning);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs)}.validation-warning:before{content:"⚠"}.square-cell{width:110px;min-width:100px;text-align:center;padding-right:var(--spacing-md)!important}.square-status-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;white-space:nowrap}.square-status-badge.mapped{background-color:#dcfce7;color:var(--color-success)}.square-status-badge.mapped-variation{background-color:#e0e7ff;color:#4338ca}.square-status-badge.new{background-color:#fef3c7;color:var(--color-warning)}.square-status-badge .status-icon{font-weight:700}.btn-icon.btn-quick-lookup{color:var(--color-warning)}.btn-icon.btn-quick-lookup:hover:not(:disabled){background-color:#fef3c7;color:var(--color-warning)}.btn-icon.btn-quick-lookup:disabled{opacity:.3;cursor:not-allowed}.btn-icon.btn-quick-lookup.loading{background-color:#fef3c7;opacity:1}.mapped-item{background-color:#f0fdf4!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:700px;width:100%;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{color:var(--color-text-secondary)}.modal-close:hover{color:var(--color-text)}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:space-between;padding:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.modal-content.modal-sm{max-width:480px}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-weight:600;margin-bottom:var(--spacing-xs);font-size:.9375rem;color:var(--color-text)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #255b421a}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-error{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626);border-radius:var(--radius-sm);font-size:.875rem;margin-top:var(--spacing-sm)}.column-visibility-modal{max-width:450px}.column-visibility-modal .modal-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:.9375rem}.column-visibility-modal .modal-footer{justify-content:flex-end}.column-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.column-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.column-toggle:hover:not(.disabled){background-color:var(--color-background)}.column-toggle.disabled{opacity:.5;cursor:not-allowed}.column-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);cursor:inherit}.column-toggle .column-label{font-weight:500;min-width:100px}.column-toggle .column-tooltip{color:var(--color-text-secondary);font-size:.8125rem;flex:1}.column-width-reset{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.column-width-reset .reset-description{color:var(--color-text-secondary);font-size:.8125rem;margin-bottom:var(--spacing-sm)}.column-width-reset .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.column-visibility-btn{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary)}.column-visibility-btn:hover{color:var(--color-accent)}.column-visibility-btn svg{opacity:.7}.column-visibility-btn:hover svg{opacity:1}.square-item-detail-modal{max-width:800px}.square-item-detail-modal .loading-state,.square-item-detail-modal .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.square-item-detail-modal .error-state svg{color:var(--color-warning)}.item-detail-content{display:flex;gap:var(--spacing-lg)}.item-image-section{flex-shrink:0;width:200px}.item-images{display:flex;flex-direction:column;gap:var(--spacing-sm)}.item-image{width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-background);border:1px solid var(--color-border-light)}.item-image img{width:100%;height:100%;object-fit:cover}.item-image .image-placeholder,.no-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--color-text-muted);font-size:.8125rem}.no-image-placeholder{aspect-ratio:1;background-color:var(--color-background);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.item-info-section{flex:1;min-width:0}.detail-group{margin-bottom:var(--spacing-md)}.detail-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.detail-group .detail-value{font-size:.9375rem;color:var(--color-text)}.detail-group .detail-value.description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.detail-group .detail-value.monospace{font-family:var(--font-mono);font-size:.8125rem;background-color:var(--color-background);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.variations-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.variations-section h3{font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text)}.variations-table{overflow-x:auto}.variations-table table{width:100%;border-collapse:collapse;font-size:.8125rem}.variations-table th,.variations-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border-light)}.variations-table th{font-weight:600;color:var(--color-text-secondary);background-color:var(--color-background)}.variations-table td.monospace{font-family:var(--font-mono);font-size:.75rem}.variations-table .badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;text-transform:uppercase}.variations-table .badge-success{background-color:#10b9811a;color:var(--color-success)}.variations-table .badge-muted{background-color:var(--color-background);color:var(--color-text-muted)}.metadata-section{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.metadata-item{display:flex;flex-direction:column;gap:2px}.metadata-item label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.metadata-item span{font-size:.8125rem;color:var(--color-text-secondary)}.item-name-link{background:none;border:none;padding:0;font:inherit;color:var(--color-accent);cursor:pointer;text-align:left;text-decoration:none;transition:color var(--transition-fast);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.item-name-link:hover{color:var(--color-accent-dark);text-decoration:underline}.item-name-link:focus{outline:none;text-decoration:underline}.square-search-modal .search-section{margin-bottom:var(--spacing-lg)}.current-item-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:.9375rem}.current-item-info .sku-info,.current-item-info .barcode-info{font-family:monospace;font-size:.8125rem;color:var(--color-text-secondary);background-color:var(--color-surface);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.search-input-wrapper{display:flex;gap:var(--spacing-sm)}.search-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem}.search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #255b421a}.search-btn{padding:var(--spacing-sm) var(--spacing-lg);white-space:nowrap}.search-results-section{min-height:200px}.search-loading,.search-hint,.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);gap:var(--spacing-sm)}.search-loading{flex-direction:row}.search-hint svg,.no-results svg{color:var(--color-text-light);margin-bottom:var(--spacing-sm)}.search-hint .hint,.no-results .hint{font-size:.875rem;color:var(--color-text-light)}.results-header{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-weight:500}.results-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.result-item{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.result-item-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm) var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border-bottom:1px solid var(--color-border-light)}.result-item-header .item-name{font-weight:600;color:var(--color-primary);margin-right:auto}.result-item-header .item-category{font-size:.75rem;color:var(--color-text-secondary)}.variations-list{display:flex;flex-direction:column}.variation-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.variation-option:last-child{border-bottom:none}.variation-option:hover{background-color:var(--color-background)}.variation-option.matches{background-color:#f0fdf4}.variation-info{flex:1;display:flex;flex-direction:column;gap:2px}.variation-name{font-weight:500;font-size:.9375rem}.variation-sku,.variation-gtin{font-family:monospace;font-size:.75rem;color:var(--color-text-secondary)}.variation-price{text-align:right;min-width:80px}.variation-price .price{font-weight:600;color:var(--color-primary)}.variation-price .no-price{font-size:.8125rem;color:var(--color-text-light);font-style:italic}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem}.select-btn{min-width:60px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border-light);position:relative;z-index:5}.table-toolbar-left,.table-toolbar-right{display:flex;align-items:center;gap:var(--spacing-md)}.auto-discover-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.auto-discover-btn svg{flex-shrink:0}.mapping-summary{font-size:.875rem;color:var(--color-text-secondary)}.invoice-cost-cell{position:relative}.shipping-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-xs);padding:1px 4px;font-size:.625rem;font-weight:600;background-color:#dbeafe;color:#1d4ed8;border-radius:3px;vertical-align:middle}.square-price-cell{color:var(--color-text-secondary)}.new-price-cell .price-with-indicator{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs)}.price-change-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 4px;font-size:.625rem;font-weight:700;border-radius:3px;text-transform:uppercase}.price-change-indicator.success{background-color:#dcfce7;color:var(--color-success)}.price-change-indicator.warning{background-color:#fef3c7;color:var(--color-warning)}.price-change-indicator.error{background-color:#fee2e2;color:var(--color-error)}.price-change-indicator.muted{background-color:var(--color-background);color:var(--color-text-light)}.price-with-change{display:inline-flex;align-items:center;gap:4px}.price-change-icon{display:inline-flex;align-items:center;justify-content:center}.price-change-icon.increase{color:var(--color-success)}.price-change-icon.decrease{color:var(--color-error)}.price-with-change.increase{color:var(--color-success);font-weight:600}.price-with-change.decrease{color:var(--color-error);font-weight:600}.item-name-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow:hidden;max-width:100%;width:100%}.item-name-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;width:100%}.original-value{display:block;font-size:.65rem;color:var(--color-text-light);font-style:italic;line-height:1.2;max-width:100%;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-item-name{display:block;font-size:.7rem;color:var(--color-accent);line-height:1.2;max-width:100%;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-item-name .parent-label{color:var(--color-text-light);font-weight:500}.new-item-indicator{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-size:.625rem;font-weight:700;background-color:#fef3c7;color:var(--color-warning);border-radius:3px;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.unmapped-item{background-color:#fffbeb!important}.unmapped-item:nth-child(2n){background-color:#fef9e7!important}.items-table tbody tr.unmapped-item{border-left:3px solid var(--color-warning)}.items-table tbody tr.mapped-item{border-left:3px solid var(--color-success)}.items-table tbody tr.new-variation-row{border-left:3px solid #7c3aed;background-color:#f5f3ff!important}.items-table tbody tr.new-variation-row:nth-child(2n){background-color:#ede9fe!important}.category-cell{width:120px;min-width:100px;max-width:150px}.category-display{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--color-text-secondary)}.override-indicator{color:var(--color-warning);font-weight:700;font-size:.875rem}.category-selector.compact{min-width:100px}.category-selector.compact .selector-trigger{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem;min-height:28px}.category-selector.compact .selector-dropdown{min-width:200px}.category-selector.compact .selector-search,.category-selector.compact .selector-option{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem}.category-selector.compact .selector-option.category-option .category-name{font-size:.8125rem}.category-selector.compact .selector-option.category-option .category-hierarchy{font-size:.6875rem}.invoice-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#231f2080;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.invoice-preview-pane{width:50%;max-width:800px;min-width:400px;height:100%;background:var(--color-surface);box-shadow:-4px 0 20px #231f2026;display:flex;flex-direction:column;animation:slideIn var(--transition-normal)}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.preview-header h3{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-header .btn-close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.preview-header .btn-close:hover{background:var(--color-background);color:var(--color-text)}.preview-content{flex:1;overflow:auto;background:var(--color-background)}.preview-pdf{width:100%;height:100%;border:none}.preview-image-container{padding:var(--spacing-md);display:flex;align-items:flex-start;justify-content:center;min-height:100%}.preview-image{max-width:100%;height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.preview-csv-container{padding:var(--spacing-md);height:100%;overflow:auto}.preview-csv{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.5;background:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius-sm);overflow-x:auto;white-space:pre;color:var(--color-text)}.preview-unsupported,.preview-error,.preview-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.preview-unsupported svg,.preview-error svg,.preview-unavailable svg{margin-bottom:var(--spacing-md);opacity:.5}.preview-unsupported p,.preview-error p,.preview-unavailable p{font-size:.9375rem;margin:0}.preview-hint{font-size:.8125rem;color:var(--color-text-light);margin-top:var(--spacing-sm)}.view-invoice-btn{display:flex;align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-md)}.view-invoice-btn svg{flex-shrink:0}@media (max-width: 768px){.invoice-preview-pane{width:100%;min-width:unset;max-width:unset}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.empty-state svg{color:var(--color-border);margin-bottom:var(--spacing-lg)}.empty-state h2{margin-bottom:var(--spacing-sm);color:var(--color-primary);font-family:var(--font-display);font-size:1.5rem;font-weight:600}.empty-state p{margin-bottom:var(--spacing-lg);max-width:400px}.empty-state-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.submissions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.submission-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--spacing-lg);transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.submission-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.submission-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.submission-card-date{display:flex;align-items:center;gap:var(--spacing-md)}.submission-card-date .date-primary{font-weight:600;color:var(--color-text);font-size:.9375rem}.submission-card-invoices{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.invoice-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:#f0f4ff;border:1px solid #dbe4ff;border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-text)}.invoice-chip svg{color:var(--color-primary);flex-shrink:0}.submission-card-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.submission-card-stats .stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.submission-card-stats .stat-value{font-size:1.25rem;font-weight:600;color:var(--color-text);line-height:1.2}.submission-card-stats .stat-item.success .stat-value{color:var(--color-success)}.submission-card-stats .stat-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.submission-card-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.session-name-text{font-weight:600;color:var(--color-text);font-size:.9375rem}.load-more{display:flex;justify-content:center;padding:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.history-link{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.history-link:hover{color:var(--color-primary);background-color:var(--color-border-light)}.about-button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.about-button:hover{color:var(--color-primary);background-color:var(--color-border-light)}.about-modal{max-width:320px;text-align:center}.about-content{padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.about-logo{width:80px;height:80px}.about-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.about-version{font-size:.875rem;color:var(--color-text-secondary);margin:0}.confirm-modal{max-width:400px;text-align:center}.confirm-modal-header{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.confirm-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.confirm-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-icon.danger{background-color:var(--color-danger-light, #fee2e2);color:var(--color-danger)}.confirm-icon.warning{background-color:var(--color-warning-light, #fef3c7);color:var(--color-warning)}.confirm-icon.primary{background-color:var(--color-primary-light, #dbeafe);color:var(--color-primary)}.confirm-modal-body{padding:0 var(--spacing-xl) var(--spacing-lg)}.confirm-modal-body p{margin:0;color:var(--color-text-secondary);line-height:1.5}.confirm-modal-footer{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl);display:flex;gap:var(--spacing-sm);justify-content:center}.confirm-modal-footer .btn{min-width:100px}.submission-detail-modal{max-width:1400px;width:95vw;max-height:90vh}.submission-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-light);background-color:var(--color-background)}.submission-detail-modal .modal-header>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.submission-detail-modal .modal-header h2{margin:0;font-size:1.25rem;line-height:1.3}.submission-detail-modal .submission-date{font-size:.875rem;color:var(--color-text-secondary)}.submission-detail-modal .modal-body{padding:var(--spacing-xl);overflow-y:auto;max-height:calc(90vh - 150px)}.detail-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.detail-stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.detail-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#f0f4ff;border-radius:var(--radius-md);color:var(--color-primary);flex-shrink:0}.detail-stat-card.success .detail-stat-icon{background-color:#dcfce7;color:var(--color-success)}.detail-stat-content{display:flex;flex-direction:column;min-width:0}.detail-stat-value{font-size:1.5rem;font-weight:600;color:var(--color-text);line-height:1.2}.detail-stat-card.success .detail-stat-value{color:var(--color-success)}.detail-stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.detail-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.summary-card.mini{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);text-align:center}.summary-card.mini .summary-value{display:block;font-size:1.5rem;font-weight:600;color:var(--color-primary);line-height:1.2;margin-bottom:var(--spacing-xs)}.summary-card.mini .summary-label{display:block;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.summary-card.mini.success .summary-value{color:var(--color-success)}.submission-detail-modal .modal-footer{padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-background);justify-content:flex-end}.detail-invoices{margin-top:var(--spacing-md)}.detail-invoices h3{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-lg);color:var(--color-text);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.detail-invoice-card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.detail-invoice-card:last-child{margin-bottom:0}.invoice-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.invoice-card-header .invoice-info{flex:1;min-width:0}.invoice-card-header h4{margin:0 0 var(--spacing-xs) 0;font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-card-header .invoice-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.invoice-items-summary{display:flex;gap:var(--spacing-md);font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.category-tag{padding:2px 6px;background-color:var(--color-border-light);border-radius:var(--radius-sm);font-size:.75rem}.invoice-items-table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.invoice-items-table{width:100%;font-size:.8125rem;border-collapse:collapse;background-color:var(--color-surface)}.invoice-items-table th,.invoice-items-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border-light)}.invoice-items-table th{background-color:#f8fafc;font-weight:600;color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.invoice-items-table tbody tr:hover{background-color:#f8fafc}.invoice-items-table tbody tr:last-child td{border-bottom:none}.invoice-items-table .number-cell{text-align:right}.invoice-items-table .sku-cell{font-family:monospace;font-size:.75rem;color:var(--color-text-secondary)}.items-truncated{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:.8125rem;font-style:italic;background-color:#f8fafc;border-top:1px solid var(--color-border-light)}.btn-invoice-view{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-invoice-view:hover{background-color:var(--color-primary);color:#fff}.btn-invoice-view:disabled{opacity:.6;cursor:not-allowed}.detail-errors{margin-top:var(--spacing-xl)}.detail-errors h3{color:var(--color-error);margin-bottom:var(--spacing-md)}.errors-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.error-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#fef2f2;border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem}.invoice-preview-overlay{z-index:1001}.invoice-preview-modal{max-width:900px;width:90vw;height:85vh;display:flex;flex-direction:column}.invoice-preview-body{flex:1;padding:0;overflow:hidden}.invoice-preview-frame{width:100%;height:100%;border:none}.invoice-preview-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.status-badge.success{background-color:#dcfce7;color:var(--color-success)}.status-badge.warning{background-color:#fef3c7;color:#b45309}.status-badge.neutral{background-color:var(--color-border-light);color:var(--color-text-secondary)}.status-badge.info{background-color:#e0e7ff;color:#4338ca}.sessions-page,.submission-history-page{display:flex;flex-direction:column;gap:0;padding-bottom:60px}.empty-state-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-3xl);text-align:center;max-width:500px;margin:var(--spacing-2xl) auto}.empty-state-card .empty-state-icon{color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.empty-state-card h2{font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.empty-state-card p{color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;line-height:1.5}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.session-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column}.session-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #00000014}.session-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.session-card-body{flex:1;margin-bottom:var(--spacing-md)}.session-stats{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-md)}.session-stats .stat{display:flex;flex-direction:column}.session-stats .stat-value{font-size:1.5rem;font-weight:600;color:var(--color-text);line-height:1.2}.session-stats .stat-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.session-id-small{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-tertiary);background:var(--color-border-light);padding:.125rem .375rem;border-radius:var(--radius-sm)}.session-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.session-date{font-size:.8125rem;color:var(--color-text-tertiary)}.resume-link{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-primary)}.btn-ghost{background:transparent;border:none;color:var(--color-text-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-ghost:hover{background:var(--color-border-light);color:var(--color-error)}.session-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.session-list-header{display:grid;grid-template-columns:290px minmax(150px,1fr) 140px 160px 160px 100px 140px;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:#f8fafc;border-bottom:1px solid var(--color-border);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.session-list-header .col-actions{text-align:right}.session-list-body{max-height:600px;overflow-y:auto}.session-list-row{display:grid;grid-template-columns:290px minmax(150px,1fr) 140px 160px 160px 100px 140px;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);align-items:center;transition:background-color var(--transition-fast);font-size:.875rem}.session-list-row:last-child{border-bottom:none}.session-list-row.clickable{cursor:pointer}.session-list-row.clickable:hover{background-color:#f8fafc}.session-list-row .col-status{display:flex;align-items:center}.session-list-row .col-id{overflow:hidden}.session-list-row .col-created-by,.session-list-row .col-created-on,.session-list-row .col-updated-on{color:var(--color-text-secondary);font-size:.8125rem}.session-list-row .col-created-by{overflow-wrap:break-word;word-break:break-all;min-width:0}.session-list-row .col-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm)}.session-list.no-actions .session-list-header,.session-list.no-actions .session-list-row{grid-template-columns:290px minmax(150px,1fr) 140px 160px 160px 100px}.session-id-code{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-tertiary);background:var(--color-border-light);padding:.125rem .375rem;border-radius:var(--radius-sm);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-files{overflow:hidden}.files-list{display:flex;flex-direction:column;gap:2px}.file-name-btn{font-size:.8125rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;padding:2px 4px;margin:-2px -4px;border-radius:var(--radius-sm);cursor:default;text-align:left;max-width:100%;width:fit-content}.file-name-btn.clickable{cursor:pointer;color:var(--color-accent)}.file-name-btn.clickable:hover{background-color:#255b421a;color:var(--color-accent-dark)}.file-name-btn:disabled{cursor:default;color:var(--color-text-secondary)}.files-more{font-size:.75rem;color:var(--color-text-tertiary)}.no-files{color:var(--color-text-tertiary)}.status-badge.status-started{background-color:#e5e7eb;color:#374151}.status-badge.status-in-progress{background-color:#dbeafe;color:#1d4ed8}.status-badge.status-success{background-color:#d1fae5;color:#047857}.status-badge.status-warning{background-color:#fef3c7;color:#b45309}.status-badge.status-error{background-color:#fee2e2;color:#dc2626}.status-badge.status-canceled{background-color:#f3f4f6;color:#6b7280}.empty-state-minimal{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-family:var(--font-display);font-size:1.125rem}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.8125rem}.btn-back{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);padding:0;margin-bottom:var(--spacing-sm)}.btn-back:hover{color:var(--color-primary)}.submission-history-page .page-header .header-content{display:flex;flex-direction:column;align-items:flex-start}.footer-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.home-page{padding:var(--spacing-xl);max-width:900px;margin:0 auto}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.home-header h1{font-family:var(--font-body);font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0}.session-id-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.session-id{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text);background:var(--color-border-light);padding:.125rem .375rem;border-radius:var(--radius-sm)}.empty-hint{color:var(--color-text-tertiary);font-size:.875rem}.hero-section{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.hero-content{max-width:600px;margin:0 auto}.hero-title{font-family:var(--font-body);font-size:2.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.btn-hero{font-size:1.125rem;padding:1rem 2rem;display:inline-flex;align-items:center;gap:var(--spacing-sm)}.hero-actions-secondary{margin-top:var(--spacing-lg)}.hero-actions-secondary .btn-text{color:var(--color-text-secondary);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.hero-actions-secondary .btn-text:hover{color:var(--color-primary)}.sessions-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.section-header h2{font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.section-header .btn-text{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary)}.section-header .btn-text:hover{color:var(--color-primary)}.section-description{color:var(--color-text-secondary);font-size:.875rem}.recent-section{margin-top:var(--spacing-xl);background:transparent;border:none;padding:0}.session-row-compact{padding:var(--spacing-sm) var(--spacing-md)}.meta-success{color:var(--color-success)}.sessions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.session-row:hover{border-color:var(--color-primary);background:var(--color-surface)}.session-info{flex:1;min-width:0}.session-name-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.session-name{font-weight:600;color:var(--color-text);word-break:break-word}.status-badge{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.status-badge.status-started{background-color:#e0e7ff;color:#4338ca}.status-badge.status-in-progress{background-color:#fef3c7;color:#b45309}.status-badge.status-submitted{background-color:#dcfce7;color:var(--color-success)}.status-badge.status-partial{background-color:#fef3c7;color:#b45309}.status-badge.status-failed{background-color:#fef2f2;color:var(--color-error)}.status-badge.status-canceled,.status-badge.neutral{background-color:#f3f4f6;color:#6b7280}.session-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:.8125rem}.meta-item svg{color:var(--color-text-light)}.meta-date{color:var(--color-text-light)}.session-actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-shrink:0;margin-left:var(--spacing-md);min-width:120px;justify-content:flex-end}.empty-sessions-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:.9375rem}.btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.btn-icon.btn-danger-subtle{background:transparent;border:1px solid transparent;color:var(--color-text-light)}.btn-icon.btn-danger-subtle:hover{background:#fef2f2;border-color:#fecaca;color:var(--color-error)}.btn-icon.btn-warning-subtle{background:transparent;border:1px solid transparent;color:var(--color-text-light)}.btn-icon.btn-warning-subtle:hover{background:#fef3c7;border-color:#fde68a;color:#b45309}.btn-icon.btn-primary-subtle{background:transparent;border:1px solid transparent;color:var(--color-text-light)}.btn-icon.btn-primary-subtle:hover{background:#e0f2fe;border-color:#bae6fd;color:var(--color-primary)}.btn-small{font-size:.8125rem;padding:.375rem .75rem}.spinner-small{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.how-it-works-section{padding:var(--spacing-xl) 0}.how-it-works-section h2{font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--color-text);text-align:center;margin-bottom:var(--spacing-xl)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.step-card{text-align:center;padding:var(--spacing-lg);position:relative}.step-card .step-number{position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center}.step-icon{width:80px;height:80px;margin:var(--spacing-md) auto var(--spacing-md);background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.step-card h3{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.step-card p{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.loading-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.loading-state .spinner{margin:0 auto var(--spacing-md)}.info-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);color:#1e40af;margin-bottom:var(--spacing-lg)}.info-banner svg{flex-shrink:0;color:#3b82f6}@media (max-width: 768px){.home-page{padding:var(--spacing-md)}.hero-section{padding:var(--spacing-xl) var(--spacing-md)}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:1rem}.steps-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.step-card{padding:var(--spacing-md)}.session-row{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.session-actions{margin-left:0;justify-content:flex-end}.session-meta{gap:var(--spacing-sm) var(--spacing-md)}}
