.notification-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;pointer-events:none;font-family:inherit}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;pointer-events:all;animation:fadeIn .2s ease-out}.dialog-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #00000014;border-radius:8px;width:90%;max-width:400px;padding:1.5rem;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.dialog-header h3{margin:0;font-size:var(--text-h3);color:var(--color-text)}.dialog-body{margin:1rem 0 1.5rem}.dialog-body p{color:var(--color-text-muted);font-size:var(--text-body);line-height:1.5;margin:0}.dialog-footer{display:flex;justify-content:flex-end;gap:.75rem}.dialog-footer .btn{padding:.625rem 1.25rem;font-size:.9rem}.toast-container{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:10000}.toast{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 10px 15px -3px #0000001a;border-radius:8px;padding:.75rem 1.25rem;min-width:250px;display:flex;align-items:center;justify-content:space-between;pointer-events:all;animation:slideLeft .3s ease-out}.toast-success{color:var(--color-success);border-left:4px solid var(--color-success)}.toast-error{color:var(--color-error);border-left:4px solid var(--color-error)}.toast-warning{color:var(--color-warning);border-left:4px solid var(--color-warning)}.toast-info{color:var(--color-primary);border-left:4px solid var(--color-primary)}.toast button{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.5rem;line-height:1}@keyframes slideLeft{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:global(.dark-theme) .dialog-card{background:#1e293b;border-color:#334155}:global(.dark-theme) .dialog-header h3{color:#f1f5f9}:global(.dark-theme) .dialog-body p{color:#94a3b8}html{scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #4F46E5;--color-primary-hover: #4338CA;--color-primary-subtle: #E0E7FF;--color-secondary: #64748b;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-muted: #64748b;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--color-focus: #4F46E5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--text-h1: 1.75rem;--text-h2: 1.375rem;--text-h3: 1.125rem;--text-body: 1rem;--text-small: .875rem;--text-caption: .75rem;--line-tight: 1.25;--line-normal: 1.5;--line-relaxed: 1.45;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--primary: var(--color-primary);--primary-dark: #4338CA;--primary-light: #E0E7FF;--success: var(--color-success);--success-dark: #047857;--danger: var(--color-error);--danger-dark: #b91c1c;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: var(--color-border);--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: var(--color-text);--text-main: var(--color-text);--text-muted: var(--color-text-muted);--bg-dark: var(--color-bg);--bg-card: var(--color-surface);--glass-bg: var(--color-surface);--glass-border: var(--color-border);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1)}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-body);line-height:var(--line-normal);background:var(--color-bg);min-height:100vh;padding:var(--space-5) var(--space-4);color:var(--color-text)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-5)}@media(max-width:768px){body{padding:var(--space-4) var(--space-4)}.container{padding:0 var(--space-4)}}.app-header{background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);box-shadow:var(--shadow);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);min-height:56px;display:flex;align-items:center;animation:slideDown .5s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:center;gap:1rem}.header-icon{width:2.5rem;height:2.5rem;color:var(--primary)}h1{font-size:var(--text-h1);line-height:var(--line-tight);font-weight:700;color:var(--color-text)}h2{font-size:var(--text-h2);line-height:1.3;font-weight:600;color:var(--color-text)}h3{font-size:var(--text-h3);line-height:1.35;font-weight:600;color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow);padding:var(--space-5);margin-bottom:var(--space-5);animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-title{font-size:var(--text-h3);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.section-title{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:2rem 0 1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;align-items:start}.company-info-section{padding:1rem;background:linear-gradient(135deg,#0891b205,#22d3ee05);border-radius:.75rem}.centered-form{max-width:900px;margin:0 auto}#exportButtons{display:flex;align-items:center}.form-group{display:flex;flex-direction:column;justify-content:flex-start}.form-group.col-span-2{grid-column:span 2}.form-grid label{min-height:2.4rem;display:flex;align-items:center}label{font-size:var(--text-small);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);display:block}input,select,textarea{min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:6px;font-size:var(--text-body);font-family:inherit;transition:border-color .2s,box-shadow .2s;background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 2px var(--color-primary-subtle)}input:hover,select:hover,textarea:hover{border-color:var(--gray-400)}input[aria-invalid=true],input.error,select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)}textarea{min-height:80px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border:none;border-radius:6px;font-size:var(--text-body);font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .2s,border-color .2s,transform .15s}.btn:disabled{opacity:.5;pointer-events:none}.btn svg{width:1.25rem;height:1.25rem}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-subtle)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#047857}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.table-container{overflow-x:auto;border-radius:.5rem;border:1px solid var(--gray-200);margin:1rem 0}table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background:var(--gray-100)}th{padding:.5rem .75rem;text-align:left;font-weight:600;color:var(--gray-700);border-bottom:2px solid var(--gray-300)}th:nth-child(2),th:nth-child(3),th:nth-child(4),th:nth-child(7){text-align:center}th:nth-child(5),th:nth-child(6){text-align:right}td{padding:.5rem .75rem;border-bottom:1px solid var(--gray-200)}tbody tr{transition:background-color .2s}tbody tr:hover{background:var(--gray-50)}td:nth-child(2),td:nth-child(3),td:nth-child(4),td:nth-child(7){text-align:center}td:nth-child(5),td:nth-child(6){text-align:right}.summary-box{background:linear-gradient(135deg,#0891b210,#22d3ee10);border-radius:.75rem;padding:1.5rem;margin:1.5rem 0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.summary-value{font-size:1.25rem;font-weight:700;color:var(--primary)}.summary-value.highlight{color:var(--success)}.calculation-note{font-size:.75rem;color:var(--gray-600);font-style:italic;margin-top:.5rem}.pallet-card{background:var(--gray-50);border:2px solid var(--gray-200);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;transition:all .3s}.pallet-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.pallet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pallet-title{font-size:1.125rem;font-weight:700;color:var(--primary)}.pallet-summary{background:#fff;border:1px solid var(--gray-300);border-radius:.5rem;padding:1rem;margin-top:1rem}.pallet-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.pallet-summary-item{display:flex;flex-direction:column;gap:.25rem}.pallet-summary-label{font-size:.75rem;font-weight:600;color:var(--gray-600)}.pallet-summary-value{font-size:1rem;font-weight:700;color:var(--primary)}.grand-summary{margin-top:2rem;padding-top:2rem;border-top:3px solid var(--gray-300)}.grand-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.summary-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow);transition:all .3s}.summary-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.summary-card.highlight{background:linear-gradient(135deg,#10b98110,#05966905);border:2px solid var(--success)}.summary-card-label{font-size:.875rem;color:var(--gray-600);margin-bottom:.5rem}.summary-card-value{font-size:1.75rem;font-weight:700;color:var(--primary)}.summary-card.highlight .summary-card-value{color:var(--success)}@media print{body{background:#fff;padding:0}.app-header,.btn,.pallet-header button{display:none!important}.card{box-shadow:none;page-break-inside:avoid}.pallet-card{page-break-inside:avoid}}@media(max-width:768px){body{padding:1rem .5rem}.app-header{padding:.75rem 1rem}.header-content{flex-direction:column;gap:1rem;align-items:flex-start}.header-left img{height:36px!important}.header-left h1{font-size:1.25rem!important}h1{font-size:1.5rem}.card{padding:1.25rem 1rem}.form-grid{grid-template-columns:1fr}.form-group.col-span-2{grid-column:span 1}.summary-grid,.grand-summary-grid{grid-template-columns:1fr}.table-responsive,.pallet-table-container,.saved-pallets-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.5rem}table{min-width:600px;font-size:.75rem}th,td{padding:.5rem}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.api-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:2rem;font-size:.75rem;font-weight:600}.api-status.connected{background:#d1fae5;color:#065f46}.api-status.disconnected{background:#fef3c7;color:#92400e}.status-dot{width:8px;height:8px;border-radius:50%}.api-status.connected .status-dot{background:#10b981;box-shadow:0 0 8px #10b981}.api-status.disconnected .status-dot{background:#f59e0b}.company-selector-wrapper,.company-selector{position:relative}.input-with-dropdown{display:flex;gap:0}.input-with-dropdown input{border-radius:.5rem 0 0 .5rem;flex:1}.dropdown-toggle{background:var(--gray-200);border:2px solid var(--gray-300);border-left:none;border-radius:0 .5rem .5rem 0;padding:0 .75rem;cursor:pointer;color:var(--gray-600);transition:all .2s}.dropdown-toggle:hover{background:var(--gray-300)}.company-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid var(--gray-300);border-radius:.5rem;box-shadow:var(--shadow-lg);z-index:100;max-height:200px;overflow-y:auto;margin-top:4px}.company-option{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--gray-100);transition:background .2s}.company-option:hover{background:var(--gray-50)}.company-option:last-child{border-bottom:none}.company-option.disabled{color:var(--gray-400);cursor:default}.company-option strong{display:block;color:var(--gray-800)}.company-option span{font-size:.75rem;color:var(--gray-500)}.selected-company{margin-top:.5rem;padding:.75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:.5rem;position:relative}.selected-company pre{margin:0;font-family:inherit;font-size:.875rem;white-space:pre-wrap;color:var(--gray-700)}.selected-company .clear-btn{position:absolute;top:.5rem;right:.5rem;background:var(--gray-200);border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--gray-600);display:flex;align-items:center;justify-content:center}.selected-company .clear-btn:hover{background:var(--danger);color:#fff}.product-input-wrapper,.product-autocomplete{position:relative}.product-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid var(--gray-300);border-radius:.5rem;box-shadow:var(--shadow-lg);z-index:100;max-height:250px;overflow-y:auto;margin-top:4px}.suggestion-item{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--gray-100);display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;transition:background .2s}.suggestion-item:hover{background:var(--gray-50)}.suggestion-item:last-child{border-bottom:none}.suggestion-item.from-db{background:#f0fdf4}.suggestion-item.from-db:hover{background:#dcfce7}.suggestion-name{width:100%;color:var(--gray-800);font-weight:500;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-badge{background:var(--success);color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:.25rem;font-weight:600}.suggestion-detail{font-size:.75rem;color:var(--gray-500)}
