@charset "UTF-8";:root{--bg-primary: #0f172a;--bg-main: #0f172a;--bg-surface: #1e293b;--bg-card: #1e293b;--bg-dark: #0f172a;--bg-hover: #334155;--bg-subtle: #1e293b;--border-muted: #475569;--border-hover: #64748b;--border-strong: #94a3b8;--border-table: #475569;--text-main: #f8fafc;--text-muted: #94a3b8;--text-strong: #ffffff;--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: #818cf8;--primary-rgb: 99, 102, 241;--secondary: #9333ea;--danger: #ef4444;--danger-hover: #dc2626;--danger-rgb: 239, 68, 68;--success: #22c55e}[data-theme=light]{--bg-primary: #ffffff;--bg-main: #ffffff;--bg-surface: #f8fafc;--bg-card: #ffffff;--bg-dark: #f1f5f9;--bg-hover: #f1f5f9;--bg-subtle: #f8fafc;--border-muted: #e2e8f0;--border-hover: #94a3b8;--border-strong: #64748b;--border-table: #d1d5db;--text-main: #1e293b;--text-muted: #475569;--text-strong: #0f172a;--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: #818cf8;--primary-rgb: 99, 102, 241;--secondary: #9333ea;--danger: #dc2626;--danger-hover: #b91c1c;--danger-rgb: 220, 38, 38;--success: #16a34a}body{background-color:var(--bg-primary);color:var(--text-main);transition:background-color .3s ease,color .3s ease;margin:0;padding:0;font-family:Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.home-container{width:100%;min-height:100vh;padding:0;margin:0;background-color:var(--bg-primary);color:var(--text-main);overflow-x:hidden;text-align:center;display:flex;flex-direction:column}.home-container a{text-decoration:none}.home-hero{padding:8rem 2rem;background:linear-gradient(135deg,#1e293b,#0f172a);position:relative;overflow:hidden;flex-shrink:0}.home-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%,rgba(37,99,235,.1) 0%,transparent 70%);pointer-events:none}.hero-content{max-width:800px;margin:auto;position:relative;animation:fadeInUp .8s ease-out}.home-logo{width:120px;height:120px;margin-bottom:2rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));transition:transform .3s ease}.home-logo:hover{transform:scale(1.05)}.hero-content h1{font-size:3.5rem;line-height:1.2;color:var(--text-strong);margin-bottom:1rem;background:linear-gradient(to right,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:fadeInUp .8s ease-out .2s both}.home-subtitle{font-size:1.35rem;color:var(--text-muted);margin-bottom:2rem;animation:fadeInUp .8s ease-out .4s both;line-height:1.6}.home-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;animation:fadeInUp .8s ease-out .6s both}.primary-button,.secondary-button{font-size:1.1rem;padding:.85rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.primary-button{background-color:var(--primary);color:#fff;border:none;box-shadow:0 4px 6px #2563eb33}.primary-button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 12px #2563eb4d}.secondary-button{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.secondary-button:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 6px #2563eb33}.features{padding:6rem 2rem;background:linear-gradient(to bottom,var(--bg-primary),var(--bg-surface));position:relative;flex:1}.features:after{content:"";position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,var(--bg-surface));pointer-events:none}.features-wrapper{max-width:1200px;margin:auto}.section-heading{font-size:2.25rem;color:var(--text-strong);margin-bottom:3.5rem;position:relative;display:inline-block}.section-heading:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--primary);border-radius:2px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;padding:1rem}.feature-box{background-color:var(--bg-surface);border:1px solid var(--border-muted);padding:2.5rem;border-radius:16px;transition:all .3s ease;position:relative;overflow:hidden}.feature-box:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,var(--primary),var(--primary-hover));opacity:0;transition:opacity .3s ease}.feature-box:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.feature-box:hover:before{opacity:1}.feature-box h3{margin-top:0;margin-bottom:1rem;font-size:1.4rem;color:var(--text-strong);display:flex;align-items:center;gap:.75rem}.feature-icon{font-size:1.6rem;color:var(--primary);transition:transform .3s ease}.feature-box:hover .feature-icon{transform:scale(1.1)}.feature-box p{font-size:1rem;color:var(--text-muted);line-height:1.6}.home-footer{margin-top:auto;padding:3rem 1rem;text-align:center;font-size:.95rem;color:var(--text-muted);border-top:1px solid var(--border-muted);background-color:var(--bg-surface);position:relative;z-index:1;flex-shrink:0}@media (max-width: 768px){.hero-content h1{font-size:2.5rem}.home-subtitle{font-size:1.2rem}.feature-grid{grid-template-columns:1fr}.home-cta{flex-direction:column;align-items:center}.primary-button,.secondary-button{width:100%;max-width:300px}}.loading-spinner{display:flex;justify-content:center;align-items:center}.spinner-logo{animation:spin 1.5s linear infinite}.login-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-main) 100%);position:relative;overflow:hidden;margin:0 auto;max-width:100vw;margin-top:2rem}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(236,72,153,.05) 0%,transparent 50%);pointer-events:none}.login-container{width:100%;max-width:380px;min-height:auto;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 10px 15px -3px #0000001a,0 0 0 1px #ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}.login-header{padding:1.5rem 2rem 1rem;text-align:center;border-bottom:1px solid var(--border-muted)}.logo-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 4px 20px #6366f14d}.logo-icon svg{width:32px;height:32px}.login-header h1{font-size:1.5rem;font-weight:700;color:var(--text-strong);margin:0;letter-spacing:-.025em}.login-subtitle{color:var(--text-muted);font-size:1rem;margin:0;font-weight:400}.login-form{padding:1rem 2rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.form-section{display:flex;flex-direction:column;gap:.75rem}.input-label{display:flex;flex-direction:column;gap:.5rem}.label-text{font-size:.875rem;font-weight:600;color:var(--text-strong);letter-spacing:.025em}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);z-index:1;transition:color .2s ease}.input-icon svg{width:18px;height:18px}.enhanced-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:2px solid var(--border-muted);border-radius:8px;background:var(--bg-main);color:var(--text-strong);font-size:.95rem;transition:all .2s ease;font-weight:500;min-height:44px}.enhanced-input::placeholder{color:var(--text-muted);font-weight:400}.enhanced-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;background:var(--bg-surface)}.enhanced-input:focus+.input-icon{color:var(--primary)}.enhanced-input:hover:not(:focus){border-color:var(--border-hover);background:var(--bg-surface)}.input-wrapper:has(.enhanced-input[type=password]){position:relative}.toggle-password-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toggle-password-btn:hover{color:var(--primary);background:#6366f11a}.toggle-password-btn:focus{outline:none;box-shadow:0 0 0 2px #6366f133}.form-options{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0}.remember-me{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.875rem;color:var(--text-muted);-webkit-user-select:none;user-select:none;transition:color .2s ease;font-weight:500}.checkbox-label:hover{color:var(--text-strong)}.checkbox-label input[type=checkbox]{width:auto;margin:0;padding:0;opacity:0;position:absolute;z-index:-1}.checkmark{width:20px;height:20px;border:2px solid var(--border-muted);border-radius:6px;background:var(--bg-main);position:relative;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--primary);border-color:var(--primary)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.checkbox-label input[type=checkbox]:focus+.checkmark{box-shadow:0 0 0 3px #6366f11a}.checkbox-text{font-weight:500}.login-btn{width:100%;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;height:44px;box-sizing:border-box}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f140}.login-btn:hover:not(:disabled):before{left:100%}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-text{font-weight:600;letter-spacing:.025em}.error-message{color:#dc2626;font-size:.7rem;font-weight:400;margin:.25rem 2rem 0;text-align:center;opacity:.9}.login-footer{padding:0 2rem 1.5rem;text-align:center;border-top:1px solid var(--border-muted)}.demo-link{color:var(--text-muted);font-size:.875rem;margin:0;font-weight:400}.demo-link-btn{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s ease;position:relative}.demo-link-btn:hover{color:var(--primary-hover)}.demo-link-btn:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:width .2s ease}.demo-link-btn:hover:after{width:100%}@media (max-width: 640px){.login-container{margin:1rem;border-radius:20px}.login-header{padding:2rem 2rem 1.5rem}.login-form{padding:1.5rem 2rem 2rem}.login-footer{padding:0 2rem 2rem}.login-header h1{font-size:1.75rem}.logo-icon{width:56px;height:56px}.logo-icon svg{width:28px;height:28px}}@media (max-width: 480px){.login-container{margin:.5rem;border-radius:16px}.login-header{padding:1.5rem 1.5rem 1rem}.login-form{padding:1rem 1.5rem 1.5rem}.login-footer{padding:0 1.5rem 1.5rem}.login-header h1{font-size:1.5rem}.enhanced-input{font-size:16px}}.signup-container{width:100%;max-width:460px;margin:6rem auto;padding:3.5rem 2.5rem;background:linear-gradient(135deg,var(--bg-surface),#0f172a);border:1px solid var(--border-muted);border-radius:20px;box-shadow:0 12px 48px #00000073;color:var(--text-main);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.signup-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--primary),var(--primary-hover));opacity:0;transition:opacity .3s ease}.signup-container:hover{box-shadow:0 16px 64px #00000080;transform:translateY(-2px)}.signup-container:hover:before{opacity:1}.signup-container h1{text-align:center;margin-bottom:2.5rem;font-size:2.5rem;font-weight:700;color:var(--text-strong);letter-spacing:-.6px;background:linear-gradient(to right,var(--text-strong),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:fadeInUp .6s ease-out}.signup-container form{display:flex;flex-direction:column;gap:1.75rem;animation:fadeInUp .6s ease-out .2s both}.signup-container label{font-size:.92rem;font-weight:500;color:var(--text-muted);margin-bottom:.25rem;display:block;transition:color .2s ease}.signup-container input{width:100%;padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--border-muted);background-color:var(--bg-card);color:var(--text-main);font-size:1rem;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box}.signup-container input::placeholder{color:var(--text-muted);font-size:.95rem;opacity:.7}.signup-container input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f140;background-color:var(--bg-surface)}.signup-container input:hover:not(:focus){border-color:var(--border-hover);background-color:var(--bg-surface)}.signup-container button[type=submit]{width:100%;padding:1.1rem 1.25rem;font-weight:600;font-size:1.05rem;border-radius:12px;border:none;background:linear-gradient(to right,var(--primary),var(--primary-hover));color:#fff;cursor:pointer;transition:all .3s ease;letter-spacing:.3px;position:relative;overflow:hidden}.signup-container button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.signup-container button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.signup-container button[type=submit]:hover:before{left:100%}.signup-container button[type=submit]:active{transform:translateY(0)}.signup-container button[disabled]{opacity:.6;cursor:not-allowed;transform:none;background:var(--primary)}.error-message{color:var(--danger);text-align:center;font-size:.9rem;margin-top:-.5rem;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;transform:translateZ(0)}.login-link{text-align:center;margin-top:2.5rem;font-size:.95rem;color:var(--text-muted);animation:fadeInUp .6s ease-out .4s both}.login-link a{color:var(--primary);text-decoration:none;font-weight:500;transition:all .2s ease;position:relative}.login-link a:after{content:"";position:absolute;width:100%;height:1px;bottom:-2px;left:0;background-color:var(--primary);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.login-link a:hover{color:var(--primary-hover)}.login-link a:hover:after{transform:scaleX(1);transform-origin:left}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@media (max-width: 480px){.signup-container{margin:2rem 1rem;padding:2rem 1.25rem;max-width:calc(100vw - 2rem);box-sizing:border-box}.signup-container h1{font-size:1.75rem;margin-bottom:2rem}.signup-container form{gap:1.5rem}.signup-container input{padding:.875rem 1rem;font-size:16px}.signup-container button[type=submit]{padding:.875rem 1rem;font-size:1rem}.login-link{margin-top:2rem;font-size:.9rem}}@media (max-width: 360px){.signup-container{margin:1rem .75rem;padding:1.5rem 1rem}.signup-container h1{font-size:1.5rem;margin-bottom:1.5rem}.signup-container form{gap:1.25rem}}.quote-container{min-height:100vh;background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-main) 100%);padding:2rem 1rem}.quote-header{max-width:1200px;margin:0 auto 3rem;text-align:center;position:relative}.back-button{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-strong);font-size:1.2rem;cursor:pointer;transition:all .2s ease}.quote-header h1{font-size:2.5rem;font-weight:700;color:var(--text-strong);margin:0 0 1rem;background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.quote-subtitle{font-size:1.125rem;color:var(--text-muted);max-width:600px;margin:0 auto}.quote-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.quote-info{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d}.quote-info h2{font-size:1.5rem;font-weight:600;color:var(--text-strong);margin:0 0 1.5rem}.benefits-list{list-style:none;padding:0;margin:0}.benefits-list li{color:var(--text-strong);font-size:1rem;position:relative;padding:.75rem 0 .75rem 1.5rem}.benefits-list li:before{content:"✓";position:absolute;left:0;top:.75rem;color:var(--primary);font-weight:700;font-size:1.1rem}.quote-form-container{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d}.quote-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-strong);font-size:.875rem}.input-icon{color:var(--primary);font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-main);color:var(--text-strong);font-size:.875rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-actions{margin-top:1rem}.submit-button{width:100%;padding:1rem 2rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.submit-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.submit-button:hover:not(:disabled):before{left:100%}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message{background:#059669;color:#fff;padding:1.5rem;border-radius:8px;text-align:center;margin-top:1rem;border:2px solid #10b981;box-shadow:0 4px 12px #10b98133;font-weight:500}.success-message p{margin:.5rem 0;font-size:1rem;line-height:1.5}.success-message p:first-child{font-weight:600;font-size:1.1rem}.error-message{background:#ef4444;color:#fff;padding:1rem;border-radius:6px;text-align:center;margin-top:1rem}@media (max-width: 768px){.quote-container{padding:1rem}.quote-header{margin-bottom:2rem}.quote-header h1{font-size:2rem}.quote-content{grid-template-columns:1fr;gap:2rem}.quote-info,.quote-form-container{padding:1.5rem}.back-button{position:relative;margin-bottom:1rem}}@media (max-width: 480px){.quote-header h1{font-size:1.75rem}.quote-subtitle{font-size:1rem}.quote-info,.quote-form-container{padding:1rem}.benefits-list li{font-size:.875rem}}.dashboard-container{color:var(--text-main);min-height:100vh;padding:1rem}.dashboard-header{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000d}.header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1rem}.welcome-section{flex:1}.welcome-section h1{font-size:1.5rem;font-weight:700;color:var(--text-strong);margin:0 0 .25rem}.welcome-message{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.4}.header-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}.timeframe-selector{display:flex;align-items:center;gap:.5rem}.timeframe-selector select{padding:.5rem .75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.875rem;cursor:pointer;transition:all .2s ease}.timeframe-selector select:hover{border-color:var(--primary)}.timeframe-selector select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.refresh-controls{display:flex;align-items:center;gap:1rem}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.auto-refresh-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);cursor:pointer}.auto-refresh-toggle input[type=checkbox]{margin:0}.header-status{display:flex;justify-content:flex-end}.last-updated{font-size:.875rem;color:var(--text-muted);font-style:italic}.header-quick-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.header-quick-action{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg-dark);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-main);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.header-quick-action:hover{background:var(--bg-surface);border-color:var(--primary);color:var(--text-strong);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.header-quick-action svg{font-size:.875rem;color:var(--primary);transition:color .2s ease}.header-quick-action:hover svg{color:var(--primary)}.alerts-section{margin-bottom:1.5rem}.alerts-section h2{font-size:1.25rem;font-weight:600;color:var(--text-strong);margin:0 0 .75rem}.alerts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.alert-card{background:var(--bg-surface);border:1px solid var(--border-muted);border-left:4px solid;border-radius:6px;padding:.75rem;display:flex;align-items:flex-start;gap:.75rem;transition:all .2s ease}.alert-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.alert-icon{font-size:1.25rem;margin-top:.25rem}.alert-content{flex:1}.alert-content h3{font-size:.875rem;font-weight:600;color:var(--text-strong);margin:0 0 .25rem}.alert-content p{color:var(--text-muted);font-size:.75rem;margin:0 0 .25rem;line-height:1.3}.alert-time{font-size:.75rem;color:var(--text-muted)}.alert-action{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease;white-space:nowrap}.alert-action:hover{background:#4f46e5}.kpi-section{margin-bottom:2rem}.kpi-section h2{font-size:1.5rem;font-weight:700;color:var(--text-strong);margin:0 0 1.5rem;letter-spacing:-.025em}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.kpi-card{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),#6366f1);border-radius:16px 16px 0 0}.kpi-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #0000001f;border-color:var(--primary)}.kpi-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.kpi-icon{font-size:1.75rem;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#6366f11a,#6366f10d);display:flex;align-items:center;justify-content:center;color:var(--primary);transition:all .3s ease}.kpi-card:hover .kpi-icon{transform:scale(1.05);background:linear-gradient(135deg,#6366f126,#6366f11a)}.kpi-trend{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;padding:.375rem .75rem;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.trend-up{color:#10b981;background:#10b9811a;border-color:#10b98133}.trend-down{color:#ef4444;background:#ef44441a;border-color:#ef444433}.trend-neutral{color:var(--text-muted);background:#9ca3af1a;border-color:#9ca3af33}.kpi-content{flex:1;display:flex;flex-direction:column;justify-content:space-between}.kpi-content h3{font-size:1rem;font-weight:600;color:var(--text-strong);margin:0 0 .75rem;line-height:1.3;letter-spacing:-.01em}.kpi-value{font-size:2rem;font-weight:800;color:var(--text-strong);margin:0 0 .5rem;line-height:1.1;letter-spacing:-.02em}.kpi-description{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.4;opacity:.8}.stats-section{margin-bottom:2rem}.stats-section h2{font-size:1.5rem;font-weight:700;color:var(--text-strong);margin:0 0 1.5rem;letter-spacing:-.025em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.stat-card{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:140px;display:flex;align-items:center;gap:1rem}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:16px 16px 0 0}.stat-card.stat-primary:before{background:linear-gradient(90deg,var(--primary),#6366f1)}.stat-card.stat-warning:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.stat-card.stat-info:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.stat-card.stat-success:before{background:linear-gradient(90deg,#10b981,#059669)}.stat-card.stat-danger:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000001f}.stat-card.clickable{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card.clickable:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00000026;border-color:var(--primary)}.stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0;transition:all .3s ease}.stat-card:hover .stat-icon{transform:scale(1.05)}.stat-primary .stat-icon{background:linear-gradient(135deg,var(--primary),#6366f1);box-shadow:0 4px 12px #6366f14d}.stat-warning .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.stat-info .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.stat-success .stat-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.stat-danger .stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.stat-content{flex:1;display:flex;flex-direction:column;justify-content:center}.stat-content h3{font-size:.875rem;font-weight:600;color:var(--text-strong);margin:0 0 .5rem;line-height:1.3;letter-spacing:-.01em}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text-strong);margin:0 0 .375rem;line-height:1.1;letter-spacing:-.02em}.stat-change{font-size:.75rem;font-weight:600;margin:0;padding:.25rem .5rem;border-radius:12px;display:inline-block;width:fit-content}.stat-change.positive{color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.stat-change.negative{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.stat-change.neutral{color:var(--text-muted);background:#9ca3af1a;border:1px solid rgba(156,163,175,.2)}.stat-value.clickable{cursor:pointer;transition:color .2s ease}.stat-value.clickable:hover{color:var(--primary)}.quick-actions-section{margin-bottom:1.5rem}.quick-actions-section h2{font-size:1.25rem;font-weight:600;color:var(--text-strong);margin:0 0 .75rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.quick-action-card{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit}.quick-action-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:var(--primary)}.quick-action-card svg{font-size:2rem;color:var(--primary)}.quick-action-card span{font-size:.875rem;font-weight:500;text-align:center;line-height:1.2}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.recent-requests-section{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h2{font-size:1.25rem;font-weight:600;color:var(--text-strong);margin:0}.view-all-button{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border-muted);border-radius:6px;padding:.5rem 1rem;color:var(--text-main);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-all-button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.view-all-button svg{font-size:.75rem;transition:transform .2s ease}.view-all-button:hover svg{transform:translate(2px)}.recent-requests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.recent-request-card{background:var(--bg-dark);border:1px solid var(--border-muted);border-radius:12px;padding:1.25rem;transition:all .2s ease;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.recent-request-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--primary);background:var(--bg-surface)}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.request-header h3{font-size:1rem;font-weight:600;color:var(--text-strong);margin:0;flex:1;margin-right:1rem;line-height:1.3}.request-details{margin-bottom:1rem;flex:1}.request-details p{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.875rem;margin:.25rem 0;line-height:1.4}.request-details svg{font-size:.875rem;color:var(--primary);flex-shrink:0}.request-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-muted);margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-muted)}.urgency-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.urgency-badge.urgent{background:#fef2f2;color:#dc2626}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-new{background:#dbeafe;color:#1d4ed8}.status-assigned{background:#fef3c7;color:#d97706}.status-gathering-quotes{background:#f3e8ff;color:#7c3aed}.status-quotes-received{background:#ecfdf5;color:#059669}.status-vendor-selected{background:#f0f9ff;color:#0284c7}.status-po-requested{background:#fef7cd;color:#a16207}.status-po-created{background:#fce7f3;color:#be185d}.status-ordered{background:#e0e7ff;color:#3730a3}.status-shipped{background:#f0fdf4;color:#166534}.status-delivered{background:#ecfdf5;color:#047857}.status-cancelled{background:#fef2f2;color:#dc2626}.status-pending{background:#fef3c7;color:#d97706}.status-in-transit{background:#dbeafe;color:#1d4ed8}.status-default{background:#f3f4f6;color:#374151}.trends-section{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;padding:1.5rem}.export-button{display:flex;align-items:center;gap:.5rem;background:var(--primary);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease}.export-button:hover{background:#4f46e5}.trend-chart{margin-top:1rem}.chart-placeholder{background:var(--bg-dark);border:2px dashed var(--border-muted);border-radius:8px;padding:3rem;text-align:center;color:var(--text-muted)}.chart-icon{font-size:3rem;margin-bottom:1rem;color:var(--primary)}.chart-note{font-size:.875rem;margin-top:.5rem;opacity:.7}.trend-data{padding:1rem}.trend-summary{display:flex;justify-content:space-around;margin-bottom:2rem;padding:1rem;background:var(--bg-surface);border-radius:8px;border:1px solid var(--border-muted)}.trend-metric{text-align:center}.metric-label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.metric-value{display:block;font-size:1.5rem;font-weight:600;color:var(--text-strong)}.trend-chart-data{margin-top:1rem}.line-chart{position:relative;margin-bottom:1rem}.chart-svg{width:100%;height:200px;overflow:visible}.data-point-circle{transition:all .2s ease;cursor:pointer}.data-point-circle:hover{r:6;opacity:.8}.date-label,.y-axis-label{font-family:inherit}.chart-tooltip{background:var(--bg-surface);color:var(--text-strong);padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border-muted);font-size:.75rem;white-space:nowrap;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.line-chart{padding-left:40px}.chart-legend{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.requests{background:var(--primary)}.legend-color.completed{background:#10b981}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}@media (max-width: 1200px){.activity-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem}}@media (max-width: 1024px){.dashboard-container{padding:.75rem}.header-main{flex-direction:column;gap:1rem;align-items:stretch}.header-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.refresh-controls{flex-direction:row;gap:1rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}}@media (max-width: 768px){.dashboard-container{padding:.5rem}.dashboard-header{padding:1rem;margin-bottom:1rem}.header-main{gap:.75rem}.welcome-section h1{font-size:1.25rem;margin-bottom:.25rem}.welcome-message{font-size:.875rem;margin-bottom:0}.header-actions{flex-direction:column;gap:.75rem;align-items:stretch}.header-quick-actions{gap:.375rem;margin-top:.75rem}.header-quick-action{padding:.375rem .5rem;font-size:.75rem}.refresh-controls{flex-direction:row;justify-content:space-between;width:100%}.refresh-button{padding:.5rem .75rem;font-size:.875rem}.auto-refresh-toggle{font-size:.875rem}.timeframe-selector select{padding:.5rem;font-size:.875rem;width:100%}.header-status{justify-content:center}.last-updated{font-size:.75rem;text-align:center}.stats-grid,.kpi-grid{grid-template-columns:1fr;gap:.5rem}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.alerts-grid{grid-template-columns:1fr;gap:.5rem}.alert-card{padding:.75rem}.kpi-card{padding:1rem;min-height:140px}.stat-card{padding:1rem;min-height:120px}.stat-icon{width:32px;height:32px;font-size:.875rem}.stat-value{font-size:1.25rem}.request-header{flex-direction:column;align-items:flex-start;gap:.25rem;position:relative;width:100%}.request-header h3{margin-right:0;font-size:.875rem;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;width:100%}.request-meta{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;margin-top:.5rem;width:100%;max-width:100%}.urgency-badge{position:static;margin-top:.25rem;max-width:100%;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.status-badge{position:static;margin-top:.25rem;font-size:.625rem;padding:.125rem .375rem;max-width:100%;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;text-transform:none;letter-spacing:normal}.section-header h2{font-size:1.125rem}.trend-controls{flex-direction:column;gap:.5rem;align-items:stretch}.chart-timeframe-selector select{padding:.5rem;font-size:.875rem}.trend-summary{flex-direction:column;gap:1rem;padding:.75rem}.trend-metric{flex:1;min-width:0}.metric-label{font-size:.75rem;margin-bottom:.25rem}.metric-value{font-size:1.25rem}.chart-legend{flex-direction:column;gap:.5rem;margin-top:1rem}.legend-item{font-size:.75rem}.trend-chart{margin-top:.75rem}.chart-svg{height:150px;min-height:150px}.line-chart{padding-left:25px;padding-right:5px}.trends-section{padding:.75rem}.trends-section{display:none}.chart-placeholder{padding:1.5rem .75rem}.chart-icon{font-size:1.5rem}.trend-summary{padding:.5rem;gap:.75rem}.metric-label{font-size:.625rem}.metric-value{font-size:1rem}.chart-legend{margin-top:.75rem;gap:.25rem}.legend-item{font-size:.625rem}.request-header h3{font-size:.75rem;max-width:100%;width:100%;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.request-meta{margin-top:.375rem;gap:.125rem;width:100%;max-width:100%}.urgency-badge{font-size:.5rem;padding:.125rem .25rem;max-width:100%;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.status-badge{font-size:.5rem;padding:.125rem .25rem;max-width:100%;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;text-transform:none;letter-spacing:normal}.recent-request-card{padding:.75rem;overflow:hidden;word-wrap:break-word;box-sizing:border-box;width:100%}.request-details{margin-top:.5rem;overflow:hidden;box-sizing:border-box;width:100%}.request-details p{font-size:.75rem;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;width:100%}.section-header{padding:.75rem 0}}.trend-controls{display:flex;align-items:center;gap:1rem}.chart-timeframe-selector select{padding:.5rem .75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.875rem;cursor:pointer;transition:all .2s ease}.chart-timeframe-selector select:hover{border-color:var(--primary)}.chart-timeframe-selector select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.requester,.request-details p.requester{display:flex;align-items:center;gap:.5rem}.avatar{border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border:2px solid var(--border-muted);transition:all .2s ease}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.avatar-sm{width:24px;height:24px;font-size:.75rem}.avatar-md{width:32px;height:32px;font-size:.875rem}.avatar-lg{width:40px;height:40px;font-size:1rem}.avatar-xl{width:48px;height:48px;font-size:1.125rem}[data-theme=dark] .avatar{border-color:var(--border-muted)}.avatar:not(:has(img)){background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff}.avatar svg{width:60%;height:60%;color:inherit}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.sourcing-page{width:100%;animation:fadeIn .3s ease}.worksheet-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-surface)}.header-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-title{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600}.new-request-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.new-request-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.search-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.search-container{flex:1;min-width:300px;position:relative}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-surface);color:var(--text-strong);font-size:.95rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.search-input:hover{border-color:var(--border-strong)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem}.filter-group{display:flex;gap:.5rem;align-items:center;padding:0rem 1rem;background:var(--bg-surface);border-radius:8px;transition:all .2s ease}.filter-group:hover{border-color:var(--border-strong)}.filter-group label{color:var(--text-muted);font-size:.9rem;white-space:nowrap}.filter-select{padding:.5rem;border:none;background:none;color:var(--text-strong);font-size:.9rem;cursor:pointer;min-width:120px}.filter-select:focus{outline:none}.filter-select option{background:var(--bg-surface);color:var(--text-strong)}.date-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;transition:all .2s ease}.date-filter:hover{border-color:var(--border-strong)}.date-filter input{padding:.5rem;border:none;background:none;color:var(--text-strong);font-size:.9rem;cursor:pointer}.date-filter input:focus{outline:none}.date-filter input::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}.clear-filters{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .2s ease}.clear-filters:hover{border-color:var(--border-strong);color:var(--text-strong)}@media (max-width: 768px){.worksheet-header{padding:1rem}.header-top{flex-direction:column;align-items:stretch}.new-request-button{width:100%;justify-content:center}.search-filters{flex-direction:column;align-items:stretch}.search-container{min-width:100%}.filter-group,.date-filter,.clear-filters{width:100%;justify-content:space-between}.filter-select{flex:1}}.sourcing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-muted);background:linear-gradient(to right,rgba(255,255,255,.08),transparent);border-radius:10px;box-shadow:0 2px 8px #0000000a;min-height:60px;overflow:hidden;box-sizing:border-box}.sourcing-header h1{font-size:1rem;font-weight:700;color:var(--text-strong);background:linear-gradient(to right,var(--text-strong),var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;padding:0;line-height:1.2;letter-spacing:-.5px}@media (max-width: 768px){.sourcing-header h1{font-size:1.1rem}}.actions{display:flex;gap:.75rem}.primary-button,.secondary-button{padding:.75rem 1.25rem;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;box-shadow:0 2px 8px #6366f140}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f159}.primary-button:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to right,#fff0,#ffffff1a,#fff0);transform:rotate(45deg);transition:all .3s ease;opacity:0}.primary-button:hover:after{opacity:1;transform:rotate(45deg) translate(50%,50%)}.secondary-button{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-muted)}.secondary-button:hover{background:var(--bg-dark);border-color:var(--border-hover)}.sourcing-worksheet{width:100%;max-width:100%;box-sizing:border-box;padding:1rem;min-height:100vh;display:flex;flex-direction:column;position:relative}.sourcing-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;font-size:.875rem;table-layout:fixed}html,body,.sourcing-worksheet,.table-container,.sourcing-table{outline:none!important}.sourcing-table th,.sourcing-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:12px;border-bottom:1px solid var(--border-table);vertical-align:top}.sourcing-table th{background:#ffffff08;color:var(--text-strong);font-weight:500;text-align:left;padding:12px;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;border-bottom:2px solid var(--border-table);white-space:nowrap;position:sticky;top:0;z-index:1;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.sourcing-table td{padding:12px;border-bottom:1px solid var(--border-table);transition:background-color .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sourcing-table tr{transition:all .2s ease;min-height:48px}.sourcing-table tr:hover td{background:#ffffff08;transform:scale(1.001)}.status-badge{display:inline-flex;align-items:center;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;white-space:nowrap;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.status-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.status-assigned{background:#9333ea33!important;color:#fff!important;border:1px solid rgba(147,51,234,.4)!important}.status-cancelled{background:#6b728026!important;color:#6b7280!important;border:1px solid rgba(107,114,128,.3)!important}.status-default{background:#9ca3af26!important;color:#9ca3af!important;border:1px solid rgba(156,163,175,.3)!important}.status-in-transit{background:#f0ad4e26!important;color:#f0ad4e!important;border:1px solid rgba(240,173,78,.3)!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal{background:linear-gradient(135deg,var(--bg-surface),var(--bg-dark));border:1px solid var(--border-muted);border-radius:16px;padding:2rem;width:100%;max-width:600px;box-shadow:0 8px 32px #00000059;color:var(--text-main);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-header h2{font-size:1.5rem;color:var(--text-strong);font-weight:600;margin:0}.close-button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:var(--bg-dark);color:var(--text-main)}.close-button:disabled{opacity:.5;cursor:not-allowed}.form-error{background:#ef44441a;color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}.form-group{gap:.35rem}.form-group label{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.25rem}.form-group label:after{display:none}.form-group label[for*=part_name]:after,.form-group label[for*=quantity]:after{display:inline}.form-input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-dark);color:var(--text-main);font-size:.95rem;transition:all .3s ease}[data-theme=light] .form-input{background:#fff;color:var(--text-strong)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;transform:translateY(-1px)}.form-input:hover{border-color:var(--border-hover);background:#ffffff08}[data-theme=light] .form-input:hover{background:#fff;border-color:var(--border-hover)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}select.form-input option{background:var(--bg-dark);color:var(--text-main)}.modal input[type=date]::-webkit-calendar-picker-indicator,.modal input[type=number]::-webkit-inner-spin-button,.modal input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.modal input:disabled,.modal select:disabled{opacity:.7;cursor:not-allowed}.modal input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.modal input[type=number]::-webkit-outer-spin-button,.modal input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.modal-actions button{padding:.5rem 1rem;font-size:.9rem}.modal-actions button:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-size:.95rem}@media (max-width: 1200px){.filter-bar{display:grid;grid-template-columns:1fr auto auto auto;gap:.75rem;padding:1rem;align-items:center}.filter-group:first-child{grid-column:1 / -1;width:100%}.filter-group:not(:first-child){min-width:140px}.filter-input{min-width:200px;width:100%}.filter-dropdown{min-width:140px}.filter-dropdown-button{white-space:nowrap;padding:.625rem .75rem;font-size:.85rem}.filter-dropdown-content{min-width:180px}.clear-filters{min-width:auto;padding:.625rem .75rem;font-size:.85rem}.active-filter{font-size:.8rem;padding:.4rem .6rem}}@media (max-width: 768px){.sourcing-worksheet{padding:.75rem}.table-container{margin:.25rem;border-radius:8px;flex:none;height:auto;max-height:none;overflow:visible}.sourcing-table{font-size:.75rem;width:100%;min-width:100%;table-layout:auto}.sourcing-header{padding:.75rem 1rem;margin-bottom:.75rem;min-height:56px;box-sizing:border-box}.sourcing-header h1{font-size:1rem;flex:1;margin-right:.125rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.header-actions{gap:.0625rem;flex-shrink:0;display:flex;align-items:center;min-width:fit-content}.header-actions .export-button{padding:.5rem}.filter-bar{display:none}.sourcing-table th,.sourcing-table td{padding:.4rem .3rem}.sourcing-table td.part-name{max-width:80px;min-width:60px;width:80px;font-size:.7rem}.sourcing-table td.description{max-width:200px;min-width:150px;width:200px}.sourcing-table td.qty,.sourcing-table td.uom,.sourcing-table td.po,.sourcing-table td.shipment{max-width:50px;min-width:40px;width:50px;font-size:.65rem}.status-badge{padding:.25rem .5rem;font-size:.7rem}.action-buttons{flex-direction:column;gap:.2rem}.action-buttons button{padding:.25rem}.new-request-fab{width:56px;height:56px;bottom:5rem;right:1.5rem}.new-request-fab svg{width:20px;height:20px}.new-request-fab:after,.new-request-fab:before{display:none}.modal-content{margin:.5rem;padding:1rem}.form-grid{grid-template-columns:1fr;gap:1rem}.form-group{margin-bottom:.5rem}.form-group label{font-size:.8rem}.form-input{padding:.5rem;font-size:.85rem}.modal-footer{padding:.75rem}.modal-footer button{padding:.5rem 1rem;font-size:.85rem}}@media (max-width: 480px){.sourcing-worksheet,.sourcing-header{padding:.5rem}.sourcing-header h1{font-size:1rem;margin-right:.25rem}.filter-bar{display:none}.filter-input{padding:.4rem;font-size:.8rem}.filter-dropdown-button{padding:.4rem .6rem;font-size:.8rem}.active-filter{padding:.2rem .4rem;font-size:.7rem}.table-container{margin:.125rem;flex:none;height:auto;max-height:none;overflow:visible}.sourcing-table{width:100%;min-width:100%;table-layout:auto}.sourcing-table th{padding:.3rem .2rem;font-size:.65rem}.sourcing-table td{padding:.25rem .2rem;font-size:.65rem}.sourcing-table td.part-name{max-width:60px;min-width:50px;width:60px;font-size:.65rem}.sourcing-table td.description{max-width:150px;min-width:100px;width:150px}.sourcing-table td.qty,.sourcing-table td.uom,.sourcing-table td.po,.sourcing-table td.shipment{max-width:40px;min-width:35px;width:40px;font-size:.6rem}.status-badge{padding:.2rem .4rem;font-size:.65rem}.new-request-fab{width:48px;height:48px;bottom:4rem;right:1rem}.new-request-fab svg{width:18px;height:18px}}.action-buttons{display:flex;gap:8px;opacity:.7;transition:opacity .2s ease}.action-buttons:hover{opacity:1}.action-button{background:none;border:none;color:var(--text-strong);cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-button:hover{background:#ffffff1a;transform:translateY(-1px)}.action-button.delete:hover{color:#f44;background:#ff44441a}.icon-button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-button:hover{color:var(--text-strong);background:var(--bg-dark)}.icon-button svg{width:1rem;height:1rem}.icon-button.edit:hover{color:var(--primary)}.icon-button.delete:hover{color:#ff4d4f}.delete-confirm-modal .modal-content{padding:1.5rem 0;text-align:center}.delete-confirm-modal .modal-content p{color:var(--text-strong);font-size:1rem;line-height:1.5;margin:0}.delete-confirm-modal .modal-actions{justify-content:center;gap:1rem}.delete-confirm-modal .primary-button.delete{background-color:#ef4444}.delete-confirm-modal .primary-button.delete:hover{background-color:#dc2626}.delete-confirm,.confirm-buttons,.confirm-button,.cancel-button{display:none}.sourcing-table td:last-child{position:relative}.sourcing-table td .action-buttons{justify-content:flex-start}@media (max-width: 768px){.action-buttons{flex-direction:column;gap:.25rem}.delete-confirm{right:0;width:200px}}.urgency-badge{display:inline-flex;align-items:center;padding:2px 4px;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap}.urgency-badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003}.urgency-low{background-color:#22c55e;color:#fff}.urgency-normal{background-color:#3b82f6;color:#fff}.urgency-high{background-color:#f59e0b;color:#fff}.urgency-critical{background-color:#ef4444;color:#fff}.notes-icon{cursor:pointer;color:var(--text-secondary);transition:color .2s;font-size:1.25rem}.notes-icon:hover{color:var(--primary-color)}.notes-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.notes-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-surface);border-radius:12px;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);width:500px;max-width:90vw;display:flex;flex-direction:column;z-index:1001}.notes-popup-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.notes-popup-header h3{font-size:1.1rem;font-weight:600;color:var(--text-strong);margin:0}.notes-popup-content{padding:20px}.notes-editor{width:100%;min-height:150px;padding:16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-strong);font-size:.95rem;line-height:1.5;resize:vertical;transition:all .2s ease}.notes-editor:focus{outline:none;border-color:var(--primary);background:#ffffff14;box-shadow:0 0 0 2px #6366f133}.notes-popup-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:12px}.notes-popup button{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.notes-popup button.save{background:var(--primary);color:#fff;border:none}.notes-popup button.save:hover{background:var(--primary-hover);transform:translateY(-1px)}.notes-popup button.cancel{background:var(--bg-dark);color:var(--text-main);border:1px solid var(--border-muted)}.notes-popup button.cancel:hover{background:var(--bg-surface);border-color:var(--border-hover)}.sourcing-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease;position:relative;padding-right:24px}.sourcing-table th.sortable:hover{background:#ffffff0d}.part-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;margin-top:8px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 4px 20px #00000026}.part-option{padding:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-muted);transition:background-color .2s ease}.part-option:last-child{border-bottom:none}.part-option:hover,.part-option.highlighted{background:var(--bg-dark)}.part-info{flex:1}.part-name{min-width:200px;max-width:300px;white-space:nowrap;text-overflow:ellipsis}.part-name-link{color:#007bff;text-decoration:none;font-weight:500;cursor:pointer;display:block;padding:.5rem 0;transition:color .2s}.part-name-link:hover{color:#0056b3;text-decoration:underline}.part-number{font-size:.85rem;color:var(--text-muted)}.part-select-hint{font-size:.8rem;color:var(--text-muted);padding-left:1rem;white-space:nowrap}.tab-button.active:hover{background:var(--primary-hover)}.sourcing-table td.description{font-size:.85em;line-height:1.4;color:var(--text-muted);max-width:300px;min-width:200px;width:300px;white-space:normal;word-wrap:break-word}.sourcing-table td.qty,.sourcing-table td.uom,.sourcing-table td.po,.sourcing-table td.shipment{font-size:.75em;line-height:1.2;color:var(--text-muted);max-width:60px;min-width:50px;width:60px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sourcing-table td.date{font-size:.85em;line-height:1.2;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sourcing-table td.part-name{font-weight:600;letter-spacing:-.01em;max-width:120px;min-width:80px;width:120px;white-space:normal;word-wrap:break-word;line-height:1.3}.form-container{background:var(--bg-dark);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid rgba(255,255,255,.1)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-strong);letter-spacing:.02em}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-strong);font-size:.95rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);background:#ffffff14;box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.primary-button,.secondary-button{padding:10px 20px;border-radius:8px;font-weight:500;font-size:.95rem;transition:all .2s ease;letter-spacing:.01em}.primary-button{background:var(--primary);color:#fff;border:none}.primary-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.secondary-button{background:#ffffff1a;color:var(--text-strong);border:1px solid rgba(255,255,255,.1)}.secondary-button:hover{background:#ffffff26;transform:translateY(-1px)}.search-container{display:flex;gap:16px;margin-bottom:24px;align-items:center}.search-container input{flex:1;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-strong);font-size:.95rem;transition:all .2s ease}.search-container input:focus{outline:none;border-color:var(--primary);background:#ffffff14;box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.search-container input::placeholder{color:var(--text-muted)}.form-tabs{display:flex;gap:2px;background:#ffffff0d;padding:4px;border-radius:8px;margin-bottom:20px}.tab-button{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-muted);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;border-radius:6px}.tab-button:hover{color:var(--text-strong);background:#ffffff0d}.tab-button.active{background:var(--primary);color:#fff}.dropdown-container{position:relative}.dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-dark);border:1px solid rgba(255,255,255,.1);border-radius:8px;margin-top:4px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dropdown-item{padding:10px 16px;cursor:pointer;transition:all .2s ease;font-size:.95rem;color:var(--text-strong)}.dropdown-item:hover{background:#ffffff0d}.dropdown-item.selected{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.dropdown-group-label{padding:8px 16px;font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff05}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#6b7280}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notes-popup,.dropdown{animation:fadeIn .2s ease}.filter-dropdown-item.selected{background:var(--bg-hover);color:var(--primary)}.filter-dropdown-item input[type=checkbox]{width:16px;height:16px;border-radius:4px;border:1px solid var(--border-muted);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;position:relative;transition:all .2s ease}.filter-dropdown-item input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.filter-dropdown-item input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px}.filter-dropdown-actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-muted);background:var(--bg-main);border-radius:8px 8px 0 0}.select-all-button,.unselect-all-button{flex:1;padding:.5rem .75rem;border:1px solid var(--border-muted);border-radius:4px;background:var(--bg-surface);color:var(--text-main);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.select-all-button:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}.unselect-all-button:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong);transform:translateY(-1px)}.select-all-button:active,.unselect-all-button:active{transform:translateY(0)}.active-filters{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;align-items:center}.active-filter{display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;font-size:.75rem;font-weight:400;color:var(--text-strong);transition:all .2s ease}.active-filter:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.filter-label{color:var(--text-main);font-weight:400}.remove-filter{display:flex;align-items:center;justify-content:center;width:14px;height:14px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s ease;border-radius:50%;font-size:.6rem;font-weight:700;line-height:1}.remove-filter:hover{background:var(--bg-hover);color:var(--text-strong)}.mobile-date-picker-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.mobile-date-picker-content{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.mobile-date-picker-header{padding:1rem;border-bottom:1px solid var(--border-muted);display:flex;justify-content:space-between;align-items:center}.mobile-date-picker-header h3{margin:0;color:var(--text-strong);font-size:1.125rem;font-weight:600}.mobile-date-picker-body{padding:1rem}.mobile-date-picker-footer{padding:1rem;border-top:1px solid var(--border-muted);display:flex;justify-content:flex-end;gap:.5rem}.mobile-date-picker-footer button{padding:.5rem 1rem;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease}.mobile-date-picker-footer button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.mobile-date-picker-footer button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.mobile-date-picker-footer button.secondary{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-muted)}.mobile-date-picker-footer button.secondary:hover{background:var(--bg-dark);border-color:var(--border-hover)}@media (max-width: 768px){.date-picker-dropdown{display:none}.custom-datepicker,.custom-datepicker .react-datepicker__month-container{width:100%}.custom-datepicker .react-datepicker__day{width:2rem;height:2rem;line-height:2rem;margin:.1rem}.custom-datepicker .react-datepicker__day-name{width:2rem;margin:.1rem}}@media (max-width: 480px){.custom-datepicker .react-datepicker__day{width:1.75rem;height:1.75rem;line-height:1.75rem;font-size:.75rem}.custom-datepicker .react-datepicker__day-name{width:1.75rem;font-size:.75rem}.custom-datepicker .react-datepicker__current-month{font-size:.875rem}}.custom-datepicker{background:var(--bg-surface);border:none;border-radius:8px;font-family:inherit;color:var(--text-main);box-shadow:0 4px 12px #00000026}.custom-datepicker .react-datepicker__header{background:var(--bg-surface);border-bottom:1px solid var(--border-muted);padding:.75rem;border-radius:8px 8px 0 0}.custom-datepicker .react-datepicker__current-month{color:var(--text-strong);font-weight:600;font-size:.875rem;margin-bottom:.5rem}.custom-datepicker .react-datepicker__day-name{color:var(--text-muted);font-size:.75rem;width:2rem;margin:.1rem}.custom-datepicker .react-datepicker__day{color:var(--text-main);font-size:.75rem;width:2rem;height:2rem;line-height:2rem;margin:.1rem;border-radius:4px;transition:all .2s ease}.custom-datepicker .react-datepicker__day:hover,.custom-datepicker .react-datepicker__day--selected,.custom-datepicker .react-datepicker__day--in-range,.custom-datepicker .react-datepicker__day--keyboard-selected{background:var(--primary);color:#fff}.custom-datepicker .react-datepicker__day--in-selecting-range{background:var(--primary);opacity:.5}.custom-datepicker .react-datepicker__navigation{top:.75rem}.custom-datepicker .react-datepicker__navigation-icon:before{border-color:var(--text-muted);width:8px;height:8px}.custom-datepicker .react-datepicker__month-select,.custom-datepicker .react-datepicker__year-select{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-muted);border-radius:4px;padding:.25rem;font-size:.75rem;margin:0 .25rem}.date-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:transparent;border:none;border-radius:8px;z-index:1000;width:320px;padding:0;box-shadow:none}.date-picker-dropdown.visible{display:block;animation:fadeIn .2s ease}.date-picker-dropdown .custom-datepicker{width:100%}.date-picker-dropdown .react-datepicker{width:100%;font-size:.875rem}.date-picker-dropdown .react-datepicker__month-container{width:100%}.date-picker-dropdown .react-datepicker__month{width:100%;margin:0}.date-picker-dropdown .react-datepicker__week{display:flex;justify-content:space-between;width:100%}.date-picker-dropdown .react-datepicker__day-name,.date-picker-dropdown .react-datepicker__day{flex:1;width:auto;min-width:2rem;height:2rem;line-height:2rem;margin:.1rem;text-align:center}.mobile-filter-button{display:none;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-strong);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;min-height:44px;min-width:44px}.mobile-filter-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.mobile-filter-button svg{width:1.1em;height:1.1em;flex-shrink:0}.filter-count{position:absolute;top:-8px;right:-8px;background:var(--primary);color:#fff;font-size:.75rem;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.mobile-filters{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;width:100vw;height:100vh;box-sizing:border-box;overflow:hidden}.mobile-filters-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-surface);border-bottom:1px solid var(--border-muted);box-shadow:0 2px 8px #0000001a;flex-shrink:0;width:100%;box-sizing:border-box}.mobile-filters-header h3{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600}.close-filters{background:var(--bg-hover);border:none;color:var(--text-strong);cursor:pointer;padding:.75rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0}.close-filters:hover{background:var(--border-strong);transform:scale(1.05)}.mobile-filters-content{flex:1;background:var(--bg-surface);padding:1rem;overflow-y:auto;overflow-x:hidden;transform:translateY(20px);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1rem;width:100%;box-sizing:border-box}@media (max-width: 768px){.mobile-filter-button{display:flex!important;align-items:center;justify-content:center;width:32px;height:32px;padding:.375rem;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border-muted);color:var(--text-strong);cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-left:.125rem}.filter-bar{display:none}.mobile-filters{z-index:1100}.mobile-filters .filter-dropdown-content{position:fixed;top:auto;left:0;right:0;bottom:0;max-height:60vh;border-radius:16px 16px 0 0;padding:1rem;background:var(--bg-surface);border-top:1px solid var(--border-muted);box-shadow:0 -8px 24px #00000026;z-index:1200;width:100vw;box-sizing:border-box;overflow-x:hidden}.mobile-filters .filter-dropdown-item{padding:1rem;display:flex;align-items:center;gap:.75rem;border-radius:8px;transition:all .2s ease;margin-bottom:.5rem}.mobile-filters .filter-dropdown-item:hover{background:var(--bg-hover)}.mobile-filters .filter-dropdown-item.selected{background:rgba(var(--primary-rgb),.1)}.mobile-filters .filter-dropdown-item label{font-size:1rem;flex:1;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.5rem 0}.mobile-filters .filter-dropdown-count{font-size:.875rem;background:var(--bg-hover);padding:.25rem .5rem;border-radius:12px;min-width:28px;text-align:center;font-weight:500}.mobile-filters .filter-input{width:100%;padding:1rem;border:2px solid var(--border-muted);border-radius:12px;background:var(--bg-surface);color:var(--text-main);font-size:1rem;transition:all .2s ease;min-height:56px;box-sizing:border-box;max-width:100%}.mobile-filters .filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--bg-main)}.mobile-filters .filter-input::placeholder{color:var(--text-muted);font-size:1rem}.mobile-filters .filter-dropdown-button{width:100%;padding:1rem;border:2px solid var(--border-muted);border-radius:12px;background:var(--bg-surface);color:var(--text-main);font-size:1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease;min-height:56px;box-sizing:border-box;max-width:100%}.mobile-filters .filter-dropdown-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.mobile-filters .filter-dropdown-button.active{border-color:var(--primary);background:rgba(var(--primary-rgb),.1);color:var(--primary);font-weight:500}.mobile-filters .clear-filters{width:100%;padding:1rem;background:var(--bg-surface);border:2px solid var(--border-muted);border-radius:12px;color:var(--text-main);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;min-height:56px;box-sizing:border-box;max-width:100%}.mobile-filters .clear-filters:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.mobile-filters .clear-filters:active{transform:translateY(0)}.mobile-filters .date-filter-button{width:100%;padding:1rem;border:2px solid var(--border-muted);border-radius:12px;background:var(--bg-surface);color:var(--text-main);font-size:1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease;min-height:56px;box-sizing:border-box;max-width:100%}.mobile-filters .date-filter-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.mobile-filters .date-filter-button.active{border-color:var(--primary);background:rgba(var(--primary-rgb),.1);color:var(--primary);font-weight:500}.mobile-filters .filter-dropdown-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-muted)}.mobile-filters .select-all-button,.mobile-filters .unselect-all-button{flex:1;padding:.875rem;border-radius:10px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:2px solid var(--border-muted);background:var(--bg-surface);color:var(--text-main);min-height:48px}.mobile-filters .select-all-button:hover,.mobile-filters .unselect-all-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.mobile-filters .select-all-button{background:var(--primary);border-color:var(--primary);color:#fff}.mobile-filters .select-all-button:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}.mobile-filters .date-picker-dropdown{position:fixed;top:auto;left:0;right:0;bottom:0;max-height:60vh;border-radius:12px 12px 0 0;padding:1rem;background:var(--bg-surface);border-top:1px solid var(--border-muted);box-shadow:0 -4px 12px #0000001a;z-index:1200}.mobile-filters .date-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-muted)}.mobile-filters .date-picker-header h4{margin:0;color:var(--text-strong);font-size:1rem}.mobile-filters .date-picker-actions{display:flex;gap:.5rem;margin-top:1rem}.mobile-filters .date-picker-actions button{flex:1;padding:.75rem;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-muted)}.mobile-filters .date-picker-actions button:hover{background:var(--bg-hover);border-color:var(--border-hover)}.mobile-filters .date-picker-actions button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.mobile-filters .date-picker-actions button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}}.export-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-main);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden}.export-button:hover{background:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px)}.export-button:active{transform:translateY(0)}.export-button svg{width:16px;height:16px}.new-request-fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026,0 0 rgba(var(--primary-rgb),.2);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;overflow:hidden}.new-request-fab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#ffffff1a,#fff3,#ffffff1a);opacity:0;transition:opacity .3s ease}.new-request-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #0003,0 0 0 4px rgba(var(--primary-rgb),.2)}.new-request-fab:hover:before{opacity:1}.new-request-fab:active{transform:translateY(0) scale(.95);box-shadow:0 2px 8px #00000026,0 0 0 2px rgba(var(--primary-rgb),.2)}.new-request-fab svg{width:24px;height:24px;transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.new-request-fab:hover svg{transform:rotate(90deg) scale(1.1)}.new-request-fab{animation:pulse 2s ease-in-out}.new-request-fab:after{content:"New Request";position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--bg-surface);color:var(--text-main);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;pointer-events:none}.new-request-fab:before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--bg-surface);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.new-request-fab:hover:after,.new-request-fab:hover:before{opacity:1;visibility:visible}.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.created-tooltip-cell{position:relative}.custom-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-dark);color:var(--text-main);padding:.5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:all .2s ease}.table-container{overflow-x:auto}@media (max-width: 768px){.sourcing-table{font-size:.8rem}.sourcing-header h1{font-size:1.25rem}.header-actions{gap:.5rem}.header-actions .export-button{padding:.375rem .75rem}.filter-bar{padding:.75rem}.table-container{border-radius:8px}.sourcing-table{min-width:800px}.sourcing-table th,.sourcing-table td{padding:.5rem .375rem}.sourcing-table td.part-name{max-width:120px;font-size:.75rem}.sourcing-table td.description{max-width:150px;font-size:.75rem}.sourcing-table td.qty,.sourcing-table td.uom,.sourcing-table td.po,.sourcing-table td.shipment{font-size:.7rem}.status-badge{font-size:.7rem;padding:.125rem .375rem}.action-buttons{gap:.25rem}.action-buttons button{padding:.25rem}.new-request-fab{bottom:1rem;right:1rem}.modal-content{margin:.5rem;max-height:calc(100vh - 1rem)}.form-grid{grid-template-columns:1fr;gap:.75rem}.form-group{margin-bottom:.75rem}.form-group label{font-size:.875rem}.form-input{padding:.5rem}.modal-footer{padding:.75rem}.modal-footer button{padding:.5rem 1rem}}@media (max-width: 480px){.sourcing-worksheet{padding:.25rem}.sourcing-header{padding:.5rem}.sourcing-header h1{font-size:1.125rem}.filter-bar{padding:.5rem}.filter-input,.filter-dropdown-button{font-size:.8rem}.active-filter{font-size:.7rem}.table-container{border-radius:6px}.sourcing-table th,.sourcing-table td{font-size:.7rem}.sourcing-table td.part-name{max-width:100px;font-size:.7rem}.sourcing-table td.description{max-width:120px;font-size:.7rem}.sourcing-table td.qty,.sourcing-table td.uom,.sourcing-table td.po,.sourcing-table td.shipment{font-size:.65rem}.status-badge{font-size:.65rem;padding:.125rem .25rem}.new-request-fab{bottom:.75rem;right:.75rem}.new-request-fab svg{width:20px;height:20px}}.sourcing-table thead{position:sticky;top:0;z-index:10;background:var(--bg-surface)}.sourcing-table thead th{position:sticky;top:0;background:var(--bg-surface)!important;z-index:10;box-shadow:0 2px 4px #00000008;border-bottom:1px solid var(--border-muted);padding:1rem .75rem;font-weight:600;color:var(--text-strong);text-align:left;white-space:nowrap}[data-theme=light] .sourcing-table thead th{background:var(--bg-surface)!important}@media (max-width: 1024px){.filter-bar{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;padding:.75rem;align-items:center}.filter-group:first-child{grid-column:1 / -1;width:100%}.filter-group:not(:first-child){min-width:120px}.filter-input{min-width:180px;width:100%}.filter-dropdown{min-width:120px}.filter-dropdown-button{white-space:nowrap;padding:.5rem .625rem;font-size:.8rem}.filter-dropdown-content{min-width:160px}.clear-filters{min-width:auto;padding:.5rem .625rem;font-size:.8rem}.active-filter{font-size:.75rem;padding:.35rem .5rem}}.shipment-selector{position:relative;width:100%;font-family:inherit}.shipment-input-container{position:relative;display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;transition:all .2s ease}.shipment-input-container:hover{border-color:var(--border-hover)}.shipment-input-container:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.shipment-input{flex:1;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-strong);font-size:.95rem;outline:none;cursor:pointer}.shipment-input::placeholder{color:var(--text-muted)}.shipment-input:disabled{cursor:not-allowed;opacity:.6}.shipment-input-actions{display:flex;align-items:center;gap:.25rem;padding-right:.5rem}.clear-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-hover);border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.clear-button:hover{background:var(--border-strong);color:var(--text-strong)}.clear-button:disabled{cursor:not-allowed;opacity:.6}.dropdown-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.dropdown-button:hover{color:var(--text-strong)}.dropdown-button:disabled{cursor:not-allowed;opacity:.6}.chevron{font-size:.75rem;transition:transform .2s ease}.chevron.open{transform:rotate(180deg)}.shipment-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;margin-top:4px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 4px 20px #00000026;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dropdown-loading{padding:1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.dropdown-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.9rem;font-style:italic}.dropdown-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--border-muted)}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover,.dropdown-option.highlighted{background:var(--bg-hover)}.dropdown-option.custom-option{display:flex;align-items:center;gap:.5rem;color:var(--primary);font-weight:500;border-bottom:2px solid var(--primary)}.custom-icon{font-size:.875rem}.shipment-option-content{display:flex;flex-direction:column;gap:.25rem}.shipment-name{font-weight:500;color:var(--text-strong);font-size:.95rem}.shipment-details{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.shipment-details span{display:inline-flex;align-items:center;padding:.125rem .375rem;background:var(--bg-hover);border-radius:4px;font-size:.75rem}.shipment-details .carrier{color:var(--primary);font-weight:500}.shipment-details .tracking{color:var(--text-muted);font-family:Courier New,monospace}.shipment-details .eta{color:var(--success);font-weight:500}@media (max-width: 768px){.shipment-input{font-size:.9rem;padding:.625rem .875rem}.shipment-dropdown{max-height:250px}.dropdown-option{padding:.625rem .875rem}.shipment-name{font-size:.9rem}.shipment-details{font-size:.75rem}}.shipment-dropdown::-webkit-scrollbar{width:6px}.shipment-dropdown::-webkit-scrollbar-track{background:var(--bg-surface);border-radius:3px}.shipment-dropdown::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:3px}.shipment-dropdown::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.shipment-input:focus-visible{outline:none}.dropdown-option:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.shipment-dropdown{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.request-detail{padding:1.5rem;max-width:1400px;margin:0 auto;min-height:calc(100vh - 64px);display:flex;flex-direction:column;gap:1.5rem}.page-header{margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-muted)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-strong);font-size:1.6rem;cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.back-button svg{width:1.6em;height:1.6em}.detail-content{display:flex;flex-direction:column;gap:1.5rem;flex:1}.status-badges{display:flex;justify-content:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;padding:.75rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px}.status-badge,.urgency-badge,.requested-by-badge,.request-owner-badge{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border-muted);min-width:100px;text-align:center;transition:all .15s ease;font-size:.875rem}.status-badge{background:var(--primary);color:#fff;border-color:var(--primary)}.urgency-badge,.requested-by-badge,.request-owner-badge{background:var(--bg-surface);color:var(--text-strong)}.badge-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;opacity:.7;white-space:nowrap}.badge-label:after{content:": ";margin-right:.25rem}.badge-value{font-size:.875rem;font-weight:500;white-space:nowrap}.badge-select-container{display:flex;align-items:center}.enhanced-dropdown-select{background:transparent;border:none;color:inherit;font-size:.875rem;font-weight:500;text-align:center;cursor:pointer;padding:.125rem .25rem;border-radius:4px;transition:background-color .15s ease;min-width:80px}.enhanced-dropdown-select:hover{background:#0000000d}.enhanced-dropdown-select:focus{outline:none;background:#0000001a}.enhanced-dropdown-select:disabled{opacity:.6;cursor:not-allowed}.enhanced-dropdown-select option{background:var(--bg-surface);color:var(--text-strong);padding:.5rem}.shipment-link{color:var(--primary);text-decoration:none;font-weight:500}.shipment-link:hover{text-decoration:underline}.status-new{background:#3b82f6;color:#fff}.status-assigned{background:#8b5cf6;color:#fff}.status-gathering-quotes{background:#f59e0b;color:#fff}.status-quotes-received{background:#10b981;color:#fff}.status-vendor-selected{background:#06b6d4;color:#fff}.status-po-requested{background:#f97316;color:#fff}.status-po-created{background:#84cc16;color:#fff}.status-ordered{background:#6366f1;color:#fff}.status-shipped{background:#8b5cf6;color:#fff}.status-delivered{background:#10b981;color:#fff}.status-cancelled{background:#ef4444;color:#fff}.status-default{background:var(--bg-surface);color:var(--text-strong)}.urgency-low{border-left:3px solid #10b981}.urgency-normal{border-left:3px solid #3b82f6}.urgency-high{border-left:3px solid #f59e0b}.urgency-critical{border-left:3px solid #ef4444}.status-badge:hover,.urgency-badge:hover,.requested-by-badge:hover,.request-owner-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.main-content-row,.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail-section{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.detail-section h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;color:var(--text-strong);border-bottom:2px solid var(--border-muted);padding-bottom:.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-strong);border-bottom:none;padding-bottom:0}.comments-info{display:flex;align-items:center}.comments-info small{font-size:.75rem;color:var(--text-muted)}.upload-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:.875rem;cursor:pointer;transition:all .15s ease}.upload-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.upload-button.icon-only{width:28px;height:28px;font-size:.875rem}.upload-button.icon-only svg{width:1em;height:1em}.attachments-list{display:flex;flex-direction:column;gap:.75rem}.attachment-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:6px;transition:all .15s ease}.attachment-item:hover{border-color:var(--border-strong);background:var(--bg-hover)}.attachment-info{display:flex;align-items:center;gap:.75rem;flex:1}.attachment-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);font-size:1rem}.attachment-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.attachment-name{font-size:.875rem;font-weight:500;color:var(--text-strong)}.attachment-meta{font-size:.75rem;color:var(--text-muted)}.attachment-description{font-size:.75rem;color:var(--text-muted);font-style:italic}.attachment-actions{display:flex;gap:.5rem;align-items:center}.download-button,.preview-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:4px;color:var(--text-strong);font-size:.875rem;cursor:pointer;transition:all .15s ease}.download-button:hover,.preview-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.delete-button.small{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:4px;color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:all .15s ease}.delete-button.small:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.comments-container{display:flex;flex-direction:column;gap:1rem}.comments-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.comment-item{display:flex;gap:.75rem;padding:.75rem;background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:6px;transition:all .15s ease;position:relative}.comment-item:hover{border-color:var(--border-strong);background:var(--bg-hover)}.comment-avatar{flex-shrink:0}.comment-content-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem}.comment-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.comment-author{font-size:.875rem;font-weight:500;color:var(--text-strong)}.comment-date{font-size:.75rem;color:var(--text-muted)}.comment-content{font-size:.875rem;line-height:1.4;color:var(--text-strong)}.delete-comment-button{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s ease;opacity:0}.comment-item:hover .delete-comment-button{opacity:1}.delete-comment-button:hover{background:#fef2f2;color:#dc2626}.add-comment{display:flex;gap:.75rem;align-items:flex-end}.comment-input{flex:1;padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.875rem;line-height:1.4;resize:vertical;min-height:60px;transition:border-color .15s ease}.comment-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6366f11a}.comment-input::placeholder{color:var(--text-muted)}.send-comment-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:.875rem;cursor:pointer;transition:all .15s ease}.send-comment-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.send-comment-button:disabled{background:var(--bg-muted);color:var(--text-muted);cursor:not-allowed;transform:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-muted);gap:.5rem}.empty-state svg{font-size:2rem;opacity:.5}.empty-state p{margin:0;font-size:.875rem}.modal{background:var(--bg-surface);border-radius:8px;box-shadow:0 10px 25px #0003;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-muted)}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-strong)}.close-button{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-strong)}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.875rem;transition:border-color .15s ease}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6366f11a}.form-actions{grid-column:1 / -1;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-muted);margin-top:1rem}.cancel-button,.submit-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid var(--border-muted)}.cancel-button{background:var(--bg-surface);color:var(--text-strong)}.cancel-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.submit-button{background:var(--primary);color:#fff;border-color:var(--primary)}.notes-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.notes-popup{background:var(--bg-surface);border-radius:12px;padding:1.5rem;width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a;border:1px solid var(--border-muted)}.notes-popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.notes-popup-header h3{margin:0;color:var(--text-strong);font-size:1.2rem}.notes-popup-content{margin-bottom:1.5rem}.notes-editor{width:100%;min-height:120px;padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.95rem;line-height:1.5;resize:vertical;box-sizing:border-box}.notes-editor:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.notes-popup-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.secondary-button,.primary-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s ease}.secondary-button{background:var(--bg-surface);border:1px solid var(--border-muted);color:var(--text-strong)}.primary-button{background:var(--primary);border:none;color:#fff}.primary-button:hover{background:var(--primary-hover)}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:1rem;color:var(--text-muted)}.error{color:#dc2626}.request-detail{animation:fadeIn .3s ease-out}@media (max-width: 1200px){.main-content-row,.bottom-row{grid-template-columns:1fr}}@media (max-width: 768px){.request-detail{padding:1rem}.header-top{flex-direction:column;gap:.75rem;align-items:stretch}.header-actions{justify-content:center;flex-direction:row}.page-header h1{font-size:1.25rem;text-align:center}.status-badges{flex-direction:column;gap:.5rem}.status-badge,.urgency-badge,.requested-by-badge,.request-owner-badge{min-width:auto;justify-content:center}.info-row{flex-direction:column}.info-item.compact{min-width:auto;max-width:none}.form-grid{grid-template-columns:1fr;padding:1rem}.attachment-item{flex-direction:column;align-items:stretch;gap:.75rem}.attachment-actions{justify-content:center}.add-comment{flex-direction:column;align-items:stretch}.send-comment-button{align-self:flex-end}}.pdf-viewer-overlay{background:#000c}.pdf-viewer-modal{background:var(--bg-surface);border-radius:12px;width:95%;max-width:1200px;height:90vh;max-height:800px;box-shadow:0 8px 32px #0000004d;border:1px solid var(--border-muted);display:flex;flex-direction:column;overflow:hidden}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-muted);background:var(--bg-subtle);flex-shrink:0}.pdf-viewer-header h2{margin:0;color:var(--text-strong);font-size:1.1rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.pdf-viewer-content{flex:1;overflow:hidden;position:relative}.pdf-iframe{border:none;width:100%;height:100%;background:#fff}@media (max-width: 768px){.pdf-viewer-modal{width:98%;height:95vh;max-height:none}.pdf-viewer-header{padding:.75rem 1rem}.pdf-viewer-header h2{font-size:1rem;max-width:70%}}@media (max-width: 768px){.comment-item{padding:.75rem;gap:.5rem}.comment-avatar{margin-top:0}.comment-header{flex-direction:column;align-items:flex-start;gap:.25rem}.add-comment{padding:.75rem;gap:.75rem}.send-comment-button{width:40px;height:40px}}.detail-section.comments-section{grid-column:1 / -1}.detail-section:nth-child(1){grid-column:1 / 2;grid-row:1 / 2}.detail-section:nth-child(2){grid-column:2 / 3;grid-row:1 / 2}.detail-section:nth-child(3){grid-column:1 / 2;grid-row:2 / 3}.detail-section:nth-child(4){grid-column:2 / 3;grid-row:2 / 3}.detail-section:nth-child(5){grid-column:1 / -1;grid-row:3 / 4}.delete-confirmation{max-width:400px;width:90%}.delete-confirmation .modal-header{border-bottom:1px solid var(--border-muted);padding:1.5rem 1.5rem 1rem;background:var(--bg-surface);border-radius:12px 12px 0 0}.delete-confirmation .modal-header h2{color:var(--text-strong);font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem}.delete-confirmation .modal-header h2:before{content:"⚠️";font-size:1.5rem}.delete-confirmation .modal-content{padding:1.5rem}.delete-confirmation .modal-content p{color:var(--text-muted);font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.delete-confirmation .form-actions{display:flex;gap:.75rem;justify-content:flex-end}.delete-confirmation .cancel-button{background:var(--bg-surface);border:1px solid var(--border-muted);color:var(--text-strong);padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.delete-confirmation .cancel-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.delete-confirmation .delete-button{background:#ef4444;border:1px solid #ef4444;color:#fff;padding:.75rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;min-width:44px;height:44px}.delete-confirmation .delete-button:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.delete-confirmation .delete-button svg{width:16px;height:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn:focus{outline:2px solid var(--primary);outline-offset:2px}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.btn-icon,.btn-icon-sm,.btn-icon-lg{padding:0;width:32px;height:32px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.btn.btn-clear-filters{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.1rem!important;border-radius:6px!important}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.btn-secondary{background:var(--bg-surface);color:var(--text-strong);border:1px solid var(--border-muted)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--danger-rgb),.3)}.btn-ghost{background:transparent;color:var(--text-strong);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-muted)}.btn-success{background:var(--success, #10b981);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-hover, #059669);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-warning{background:var(--warning, #f59e0b);color:#fff}.btn-warning:hover:not(:disabled){background:var(--warning-hover, #d97706);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.btn-icon svg,.btn-icon-sm svg,.btn-icon-lg svg{width:1.25em;height:1.25em;flex-shrink:0}.btn-group{display:inline-flex;gap:.5rem}.btn-group-vertical{display:inline-flex;flex-direction:column;gap:.5rem}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:1em;height:1em;margin:-.5em 0 0 -.5em;border:2px solid currentColor;border-radius:50%;border-right-color:transparent;animation:spin .75s linear infinite}@media (max-width: 768px){.btn{padding:.625rem 1.25rem;font-size:.9rem}.btn-icon{width:40px;height:40px;min-width:40px}.btn-icon-sm{width:32px;height:32px;min-width:32px}}html,body,.parts-library,.table-container,.parts-table{outline:none!important}.parts-library{width:100%;animation:fadeIn .3s ease}.parts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--border-muted);background:linear-gradient(to right,rgba(255,255,255,.08),transparent);border-radius:10px;box-shadow:0 2px 8px #0000000a}.parts-header h1{font-size:1.15rem;font-weight:700;color:var(--text-strong);background:linear-gradient(to right,var(--text-strong),var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;padding:0;line-height:1.2;letter-spacing:-.5px}.header-actions{display:flex;align-items:center;gap:.5rem;margin:0;padding:0}.filter-bar{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.clear-filters{display:flex;align-items:center;justify-content:center;padding:.625rem;background:var(--bg-main);border:1px solid var(--border-muted);color:var(--text-muted);cursor:pointer;transition:all .2s ease;height:38px;width:38px;border-radius:6px;margin-left:auto}.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.active-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--primary);color:#fff;border-radius:20px;font-size:.85rem}.filter-label{font-weight:500}.remove-filter{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease}.remove-filter:hover{background:#ffffff4d}.parts-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.parts-table th,.parts-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}.parts-table th{background:var(--bg-subtle);font-weight:600;color:var(--text-strong);position:sticky;top:0;z-index:10;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;vertical-align:top}.parts-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.parts-table th.sortable:hover{background:var(--bg-hover)}.sort-icon{margin-left:.5rem;font-size:.75rem;color:var(--text-muted)}.parts-table td{color:var(--text-strong);vertical-align:top;font-size:.85rem}.parts-table tr:hover td{background:var(--bg-hover)}.parts-table td.description{max-width:250px;min-width:200px;width:35%}.parts-table td.date{color:var(--text-muted);font-size:.8rem}.parts-table td.part-name{font-weight:500;color:var(--text-strong);font-size:.85rem;white-space:normal;word-wrap:break-word;max-width:0;overflow:hidden;text-overflow:ellipsis}.parts-table td.part-number{max-width:80px;font-size:.7rem;color:#9ca3af;opacity:.7;font-weight:400}.part-name-button{background:none;border:none;color:#007bff;font-weight:500;font-size:inherit;cursor:pointer;padding:0;text-align:left;transition:all .2s ease;white-space:normal;word-wrap:break-word;line-height:1.3;text-decoration:none;display:block}.part-name-button:hover{color:#0056b3;text-decoration:underline}.action-buttons{display:flex;gap:.5rem;align-items:center}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.icon-button svg{font-size:.9rem}.loading-container,.error-container{display:flex;justify-content:center;align-items:center;padding:4rem 2rem;min-height:400px}.error-message{text-align:center;max-width:500px;padding:2rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;box-shadow:0 1px 3px #0000001a}.error-message h3{color:#dc2626;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.error-message p{color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.retry-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.retry-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.modal{background:var(--bg-surface);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-muted)}.close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:1.5rem;transition:all .2s ease}.close-button:hover{background:var(--bg-hover);color:var(--text-strong)}.form-grid{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group label{color:var(--text-strong);font-weight:500;font-size:.9rem}.form-group label:after{content:" *";color:var(--danger)}.form-group label[for*=part_number]:after{content:""}.form-input{padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.95rem;transition:all .2s ease}[data-theme=light] .form-input{background:#fff}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}[data-theme=light] .form-input:focus{background:#fff}.form-input:hover{border-color:var(--border-strong)}[data-theme=light] .form-input:hover{background:#fff}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{resize:vertical;min-height:100px}.form-error{color:var(--danger);font-size:.9rem;padding:.75rem;background:rgba(var(--danger-rgb),.1);border-radius:6px;border:1px solid rgba(var(--danger-rgb),.2)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-muted)}.delete-confirm-modal .modal-content{padding:1.5rem}.new-part-fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026,0 0 rgba(var(--primary-rgb),.2);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;overflow:hidden}.new-part-fab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#ffffff1a,#fff3,#ffffff1a);opacity:0;transition:opacity .3s ease}.new-part-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #0003,0 0 0 4px rgba(var(--primary-rgb),.2)}.new-part-fab:hover:before{opacity:1}.new-part-fab:active{transform:translateY(0) scale(.95);box-shadow:0 2px 8px #00000026,0 0 0 2px rgba(var(--primary-rgb),.2)}.new-part-fab svg{width:24px;height:24px;transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.new-part-fab:hover svg{transform:rotate(90deg) scale(1.1)}.new-part-fab{animation:pulse 2s ease-in-out}.new-part-fab:after{content:"New Part";position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--bg-surface);color:var(--text-main);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;pointer-events:none}.new-part-fab:before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--bg-surface);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.new-part-fab:hover:after,.new-part-fab:hover:before{opacity:1;visibility:visible}@media (max-width: 768px){.parts-header{flex-direction:column;gap:1rem;align-items:stretch}.parts-header h1{font-size:1.5rem}.filter-bar{flex-direction:column;gap:.75rem}.table-container{margin-top:1rem}.parts-table{font-size:.8rem}.parts-table th,.parts-table td{padding:.5rem .25rem}.parts-table td.description{max-width:200px}.parts-table td.part-name{min-width:100px;max-width:120px}.parts-table td.part-number,.parts-table td.related-product{min-width:60px;max-width:80px}.parts-table td.drawing-indicator{min-width:30px;max-width:35px}.checkbox-indicator{width:12px;height:12px;font-size:.5rem}.action-buttons{gap:.25rem}.icon-button{width:28px;height:28px}.icon-button svg{font-size:.75rem}.new-part-fab{width:56px;height:56px;bottom:5rem}.new-part-fab svg{font-size:1.25rem}.modal{width:95%;max-width:500px}.form-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.parts-library{padding:.5rem}.parts-header{gap:.75rem}.parts-header h1{font-size:1.25rem}.parts-table th,.parts-table td{padding:.375rem .2rem;font-size:.75rem}.parts-table td.description{max-width:150px}.parts-table td.part-name{min-width:80px;max-width:100px}.parts-table td.part-number,.parts-table td.related-product{min-width:50px;max-width:70px}.parts-table td.drawing-indicator{min-width:25px;max-width:30px}.checkbox-indicator{width:10px;height:10px;font-size:.45rem}.new-part-fab{width:48px;height:48px;bottom:4.5rem}.new-part-fab svg{font-size:1.125rem}}.parts-table td.related-product{color:var(--text-muted);font-size:.8rem}.parts-table td.drawing-indicator{text-align:center;vertical-align:middle}.checkbox-indicator{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:2px solid var(--border-muted);border-radius:4px;font-size:.6rem;font-weight:600;transition:all .2s ease;cursor:default}.checkbox-indicator.checked{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox-indicator.unchecked{background:var(--bg-surface);border-color:var(--border-muted);color:transparent}.checkbox-indicator.checked:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:scale(1.05)}.checkbox-indicator.unchecked:hover{border-color:var(--border-strong);background:var(--bg-hover)}.parts-table td.part-image{text-align:center;vertical-align:middle;padding:.5rem .25rem;width:50px;max-width:50px;min-width:50px}.part-image-container{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--bg-subtle);border:1px solid var(--border-muted)}.part-thumbnail{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .2s ease}.part-thumbnail:hover{transform:scale(1.1)}.part-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted);font-size:.75rem;background:var(--bg-subtle);border-radius:50%}.part-image-placeholder.hidden{display:none}.part-image-placeholder svg{font-size:.875rem}@media (max-width: 1200px){.table-container{overflow-x:auto}.parts-table{min-width:1000px}.parts-table th,.parts-table td{padding:.6rem .4rem;font-size:.8rem}.parts-table td.description{max-width:250px}.parts-table td.part-name{min-width:120px;max-width:140px}.parts-table td.part-number,.parts-table td.related-product{min-width:80px;max-width:100px}.parts-table td.drawing-indicator{min-width:35px;max-width:40px}.part-image-container{width:40px;height:40px}.part-image-placeholder svg{font-size:.8rem}.checkbox-indicator{width:16px;height:16px;font-size:.7rem}}@media (max-width: 768px){.pagination-container{flex-direction:column;gap:.5rem;padding:.5rem}.pagination-info{text-align:center;font-size:.75rem}.pagination-controls{gap:.15rem;flex-wrap:wrap;justify-content:center}.pagination-button{width:28px;height:28px}.page-button{min-width:24px;height:28px;font-size:.75rem;padding:0 .2rem}.page-ellipsis{width:24px;height:28px;font-size:.75rem}.page-numbers{gap:.075rem;flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.pagination-container{padding:.375rem;gap:.375rem}.pagination-info{font-size:.7rem}.pagination-controls{gap:.1rem}.pagination-button{width:24px;height:24px}.page-button{min-width:20px;height:24px;font-size:.7rem;padding:0 .15rem}.page-ellipsis{width:20px;height:24px;font-size:.7rem}.page-numbers{gap:.05rem}}.filter-dropdown-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-main);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-main);font-size:.875rem;cursor:pointer;transition:all .2s ease;height:38px;min-width:160px}.filter-dropdown-button:hover{border-color:var(--border-strong);background:var(--bg-surface)}.filter-dropdown-button.active{border-color:var(--primary);background:var(--bg-surface);color:var(--primary)}.dropdown-arrow{margin-left:auto;font-size:.75rem;transition:transform .2s ease}.filter-dropdown-content{position:absolute;top:calc(100% + .5rem);left:0;min-width:240px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;box-shadow:0 4px 12px #0000001a;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;z-index:100}.filter-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease}.filter-dropdown-item input[type=radio]{width:16px;height:16px;border-radius:50%;border:1px solid var(--border-muted);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;position:relative;transition:all .2s ease}.filter-dropdown-item input[type=radio]:checked{background:var(--primary);border-color:var(--primary)}.filter-dropdown-item input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.filter-dropdown-item label{flex:1;cursor:pointer;font-size:.875rem;color:var(--text-main)}.filter-dropdown-count{margin-left:auto;font-size:.75rem;color:var(--text-muted);background:var(--bg-main);padding:.25rem .5rem;border-radius:12px}.mobile-filter-button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;position:relative}.mobile-filter-button:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.filter-count{position:absolute;top:-6px;right:-6px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-surface)}.mobile-filters-content{background:var(--bg-surface);border-radius:16px 16px 0 0;padding:1.5rem;width:100%;max-height:80vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s ease}.mobile-filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-muted)}.mobile-filters-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-strong)}.clear-filters-button{width:100%;padding:.75rem;background:var(--bg-main);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:all .2s ease;margin-top:1rem}.clear-filters-button:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.table-scrollbar-top{display:block;height:16px;margin-bottom:4px;background:transparent;scrollbar-width:thin;scrollbar-color:var(--border-muted) var(--bg-surface)}.table-scrollbar-top::-webkit-scrollbar{height:12px}.table-scrollbar-top::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:6px}.table-scrollbar-top::-webkit-scrollbar-track{background:var(--bg-surface)}@media (max-width: 768px){.table-scrollbar-top{display:none}}.parts-table thead{position:sticky;top:0;z-index:10;background:var(--bg-surface)}.parts-table thead th{position:sticky;top:0;background:var(--bg-surface)!important;z-index:10;box-shadow:0 2px 4px #00000008;border-bottom:1px solid var(--border-muted);padding:1rem .75rem;font-weight:600;color:var(--text-strong);text-align:left;white-space:nowrap}[data-theme=light] .parts-table thead th{background:var(--bg-surface)!important}.part-detail{padding:1.5rem;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg-base)}.page-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-muted)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.page-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-strong);line-height:1.3}.header-actions{display:flex;gap:.75rem;align-items:center;flex-direction:row}.header-actions .btn-icon{width:40px;height:40px;min-width:40px;min-height:40px}.edit-button,.delete-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:6px;font-size:1.6rem;cursor:pointer;transition:all .15s ease}.edit-button{background:var(--primary);border:none;color:#fff}.edit-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.edit-button svg{width:1.6em;height:1.6em}.delete-button{background:var(--bg-surface);border:1px solid var(--border-muted);color:var(--text-strong)}.delete-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.delete-button svg{width:1.6em;height:1.6em}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-strong);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.back-button svg{transition:transform .2s ease}.back-button:hover svg{transform:translate(-2px)}.part-header h1{margin:0;color:var(--text-strong);font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.part-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.vendor-parts-section{grid-column:1 / -1;margin-top:2rem}.vendor-parts-section .section-header h2{margin:0 0 1rem;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.vendor-parts-section .section-header h2 svg{color:var(--primary);font-size:1rem}.part-info-section{display:flex;flex-direction:column;gap:1.25rem}.part-basic-info{background:var(--bg-surface);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-muted)}.part-basic-info h2{margin:0 0 1rem;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.part-basic-info h2 svg{color:var(--primary);font-size:1rem}.info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.info-header h2{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.edit-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;padding:0}.edit-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.edit-button svg{font-size:1rem}.info-list{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;align-items:baseline;gap:.5rem;padding:.25rem 0}.info-label{font-size:.875rem;font-weight:600;color:var(--text-muted);min-width:100px;flex-shrink:0}.info-value{font-size:.875rem;font-weight:500;color:var(--text-strong);flex:1}.notes-row{align-items:flex-start}.notes-row .info-label{margin-top:.5rem}.notes-display{background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:6px;padding:.75rem;font-size:.875rem;line-height:1.5;color:var(--text-strong);min-height:80px;cursor:pointer;transition:all .15s ease;flex:1}.notes-display:hover{border-color:var(--border-strong);background:var(--bg-hover)}.notes-display:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--primary);border-radius:6px 6px 0 0;opacity:0;transition:opacity .15s ease}.notes-display:hover:before{opacity:1}.notes-display em{color:var(--text-muted);font-style:italic}.product-image-section{background:var(--bg-surface);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-muted)}.product-image-section h2{margin:0 0 1rem;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.product-image-section h2 svg{color:var(--primary);font-size:1rem}.image-upload-area{border:2px dashed var(--border-muted);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-main)}.image-upload-area:hover{border-color:var(--primary);background:var(--bg-hover)}.image-display{margin-top:1rem}.part-image{width:100%;max-width:300px;height:auto;border-radius:6px;box-shadow:0 1px 3px #0000001a}.part-image:hover{transform:scale(1.02);transition:transform .2s ease}.image-actions{margin-top:.75rem;display:flex;gap:.5rem}.image-preview{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.preview-image{width:80px;height:80px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid var(--border-muted);transition:border-color .2s ease}.preview-image:hover{border-color:var(--primary)}.preview-actions{display:flex;gap:.5rem;margin-top:.5rem}.image-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted)}.image-placeholder svg{font-size:2rem;opacity:.5}.image-placeholder p{margin:0;font-size:.9rem;font-weight:500}.image-placeholder span{font-size:.8rem;opacity:.7}.image-upload-area:hover .image-placeholder svg{opacity:.7}.drawing-section{background:var(--bg-surface);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-muted)}.drawing-section h2{margin:0 0 1rem;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.drawing-section h2 svg{color:var(--primary);font-size:1rem}.drawing-subsection{margin-bottom:1.5rem;padding:1rem;background:var(--bg-main);border-radius:6px;border:1px solid var(--border-muted)}.drawing-subsection:last-child{margin-bottom:0}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.subsection-header h3{margin:0;color:var(--text-strong);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.subsection-header h3 svg{color:var(--primary);font-size:1rem}.drawing-versions h4{margin:0 0 1rem;color:var(--text-strong);font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.drawing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.drawing-header h2{margin:0}.drawing-upload-area{border:2px dashed var(--border-muted);border-radius:8px;padding:1.5rem 1rem;text-align:center;transition:all .2s ease;cursor:pointer;background:var(--bg-main)}.drawing-upload-area:hover{border-color:var(--primary);background:var(--bg-hover)}.drawing-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--text-muted)}.drawing-placeholder svg{font-size:2rem;opacity:.5}.drawing-upload-area:hover .drawing-placeholder svg{opacity:.7}.drawing-placeholder p{margin:0;font-size:.95rem;font-weight:500}.drawing-placeholder span{font-size:.8rem;opacity:.7}.drawing-display{display:flex;flex-direction:column;gap:1rem}.drawing-preview{display:flex;flex-direction:column;gap:1rem;align-items:center}.drawing-preview iframe{width:100%;max-width:350px;height:250px;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid var(--border-muted);transition:transform .3s ease}.drawing-preview iframe:hover{transform:scale(1.02)}.drawing-actions{display:flex;justify-content:center;gap:.75rem}.preview-actions{display:flex;gap:.75rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-muted);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;background:var(--bg-surface);color:var(--text-strong)}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--bg-surface);color:var(--text-strong);border-color:var(--border-muted)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.btn-success{background:#059669;color:#fff;border-color:#059669}.btn-success:hover{background:#047857;border-color:#047857}.btn svg{font-size:.875rem}.btn:hover svg{transform:scale(1.05);transition:transform .2s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-surface);border-radius:8px;padding:1.5rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026;border:1px solid var(--border-muted)}.modal h2{margin:0 0 1rem;color:var(--text-strong);font-size:1.25rem;font-weight:600}.modal p{margin:0 0 1rem;color:var(--text-muted);line-height:1.5}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:2rem}.spinner{width:2rem;height:2rem;border:2px solid var(--border-muted);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.part-detail{padding:1rem}.part-header{flex-direction:column;align-items:flex-start;gap:.75rem}.part-header h1{font-size:1.5rem}.part-content{grid-template-columns:1fr;gap:1rem}.part-info-section{gap:1rem}.part-basic-info,.product-image-section,.drawing-section{padding:1rem}.part-basic-info h2,.product-image-section h2,.drawing-section h2{font-size:1.125rem}.info-item{padding:.625rem}.info-item span,.info-item p{font-size:.875rem}.image-upload-area,.drawing-upload-area{padding:1.5rem}.part-image{max-width:250px}.preview-image{width:60px;height:60px}.drawing-preview iframe{height:200px}.btn{padding:.5rem .875rem;font-size:.8rem}.modal{margin:1rem;padding:1.25rem}.modal h2{font-size:1.125rem}.modal p{font-size:.875rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%;justify-content:center}}@media (max-width: 480px){.part-detail,.part-header{padding:.75rem}.part-header h1{font-size:1.25rem}.part-basic-info,.product-image-section,.drawing-section{padding:.75rem}.part-basic-info h2,.product-image-section h2,.drawing-section h2{font-size:1rem}.info-item{padding:.5rem}.info-item label{font-size:.7rem}.info-item span,.info-item p{font-size:.85rem}.image-upload-area,.drawing-upload-area{padding:1.25rem .75rem}.image-placeholder svg,.drawing-placeholder svg{font-size:2rem}.image-placeholder p,.drawing-placeholder p{font-size:.9rem}.image-placeholder span,.drawing-placeholder span{font-size:.8rem}.part-image{max-width:250px}.preview-image{max-width:180px;max-height:100px}.drawing-preview iframe{max-width:250px;height:180px}.btn{padding:.5rem .75rem;font-size:.75rem}.modal{padding:1rem;margin:.75rem}.modal h2{font-size:1rem}.modal p{font-size:.85rem}}.upload-button.small,.primary-button.small,.secondary-button.small{padding:.5rem 1rem;font-size:.85rem}.pdf-modal{max-width:90vw;width:100%;max-height:90vh;display:flex;flex-direction:column}.pdf-modal .modal-content{flex:1;padding:0;overflow:hidden}.pdf-viewer{border:none;border-radius:0 0 8px 8px;background:#fff}@media (max-width: 768px){.pdf-modal{max-width:95vw;max-height:95vh}.pdf-viewer{height:400px}}.delete-modal{max-width:450px}.delete-warning{text-align:center;padding:1rem 0}.warning-icon{font-size:3rem;margin-bottom:1rem}.delete-warning h3{margin:0 0 1rem;color:var(--text-strong);font-size:1.25rem;font-weight:600}.delete-warning p{margin:.5rem 0;color:var(--text-muted);line-height:1.5}.delete-warning strong{color:var(--text-strong)}.danger-button{background:var(--danger);color:#fff;padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.danger-button:hover{background:var(--danger-hover);transform:translateY(-1px)}.image-preview-small{margin:1rem 0;text-align:center}.image-preview-small img{max-width:200px;max-height:150px;border-radius:6px;border:1px solid var(--border-muted);object-fit:cover}.version-type-selector{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;cursor:pointer;transition:all .2s ease;background:var(--bg-surface)}.radio-option:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.radio-option input[type=radio]{margin:0;margin-top:.125rem}.radio-label{display:flex;flex-direction:column;gap:.25rem}.radio-label strong{color:var(--text-strong);font-size:.95rem}.radio-label small{color:var(--text-muted);font-size:.85rem;line-height:1.3}.version-preview{margin:.5rem 0 0;padding:.5rem;background:rgba(var(--primary-rgb),.1);border-radius:4px;color:var(--text-strong);font-size:.9rem;text-align:center}.version-preview strong{color:var(--primary)}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--border-muted)}.gallery-header span{color:var(--text-muted);font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-item{display:flex;flex-direction:column;gap:.5rem}.image-container{position:relative;border-radius:8px;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border-muted)}.image-delete-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;z-index:10;font-size:.75rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-delete-btn:hover{background:#ef4444;transform:scale(1.1);box-shadow:0 2px 8px #ef444466}.image-delete-btn svg{font-size:.75rem}.gallery-image{width:100%;height:150px;object-fit:cover;cursor:pointer;transition:all .2s ease}.image-info{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.image-date{color:var(--text-muted)}.latest-badge{background:var(--primary);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500}.image-modal{max-width:90vw;max-height:90vh;width:auto;height:auto}.image-modal .modal-content{padding:0;display:flex;justify-content:center;align-items:center;background:var(--bg-surface)}.modal-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:0 0 8px 8px}.upload-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:var(--primary);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;min-width:44px;height:36px}.upload-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.upload-button svg{font-size:.875rem}.upload-button.small{padding:.5rem;font-size:.8rem;min-width:36px;height:32px}.no-drawings{text-align:center;padding:2rem 1.5rem;background:var(--bg-main);border-radius:8px;border:2px dashed var(--border-muted)}.no-drawings p{margin:0 0 1rem;color:var(--text-muted);font-size:.95rem}.drawing-versions h3{margin:0 0 1rem;color:var(--text-strong);font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.drawing-versions h3 svg{color:var(--primary);font-size:.875rem}.versions-list{display:flex;flex-direction:column;gap:.75rem}.version-item{background:var(--bg-main);border:1px solid var(--border-muted);border-radius:8px;padding:1rem;transition:all .2s ease;display:flex;align-items:center;gap:1rem;cursor:pointer}.version-item:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.version-item:active{transform:translateY(0)}.version-info{flex:1}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-right:2rem;gap:.5rem;flex-wrap:wrap}.version-date{color:var(--text-muted);font-size:.8rem;font-weight:500}.version-number{font-size:1rem;font-weight:600;color:var(--primary);background:rgba(var(--primary-rgb),.1);padding:.25rem .5rem;border-radius:6px;letter-spacing:.02em}.file-action-indicator{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.75rem;font-weight:500;padding:.125rem .375rem;background:var(--bg-main);border-radius:4px;border:1px solid var(--border-muted);transition:all .2s ease}.file-action-indicator svg{font-size:.7rem;color:var(--primary)}.file-action-indicator span{font-size:.7rem;color:var(--text-muted)}.version-item:hover .file-action-indicator{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.version-item:hover .file-action-indicator span{color:var(--text-strong)}.version-details,.version-meta{display:flex;flex-direction:column;gap:.25rem}.uploader-info{color:var(--text-muted);font-size:.8rem;font-weight:500}.version-notes{color:var(--text-muted);font-size:.85rem;font-style:italic;margin:0;padding:.5rem;background:#ffffff0d;border-radius:6px;border-left:3px solid var(--primary)}.delete-button-top{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;background:#dc2626;border:none;border-radius:50%;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0003;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;transform:scale(.8)}.version-item:hover .delete-button-top{opacity:1;transform:scale(1)}.delete-button-top:hover{background:#b91c1c;transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.image-gallery{display:flex;flex-direction:column;gap:1rem}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.gallery-header span{color:var(--text-muted);font-size:.85rem;font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.gallery-item{position:relative;background:#ffffff05;border-radius:8px;overflow:hidden;transition:all .3s ease}.gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.image-container{position:relative;aspect-ratio:1;overflow:hidden}.gallery-image{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .3s ease}.gallery-image:hover{transform:scale(1.05)}.image-info{padding:.5rem;display:flex;justify-content:space-between;align-items:center}.image-date{color:var(--text-muted);font-size:.75rem}.latest-badge{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .375rem;border-radius:4px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem .75rem;border-bottom:1px solid var(--border-muted);background:#ffffff05}.modal-header h2{font-size:1.25rem;color:var(--text-strong);font-weight:600;margin:0}.close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--bg-surface),var(--bg-dark));border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1rem;font-weight:600;position:relative;overflow:hidden}.close-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.close-button:hover{background:linear-gradient(135deg,var(--bg-hover),var(--bg-surface));border-color:var(--primary);color:var(--primary);transform:scale(1.05);box-shadow:0 2px 8px #00000026}.close-button:hover:before{left:100%}.modal-content{padding:1.5rem}.upload-form{display:flex;flex-direction:column;gap:1rem}.form-group label{color:var(--text-strong);font-size:.9rem;font-weight:600}.file-input{padding:.75rem;border:2px dashed var(--border-muted);border-radius:8px;background:#ffffff05;color:var(--text-strong);font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;text-align:center;position:relative;overflow:hidden}.file-input:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.03) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.file-input:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.05);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.file-input:hover:before{transform:translate(100%)}.file-input:focus{outline:none;border-color:var(--primary);background:rgba(var(--primary-rgb),.08);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.file-selected{border-color:var(--primary);background:rgba(var(--primary-rgb),.1);color:var(--primary);font-weight:600;padding:.5rem;border-radius:6px;text-align:center;margin-top:.5rem}.version-type-selector{display:flex;gap:1rem;margin-top:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.radio-option:hover{background:#ffffff0d}.radio-option input[type=radio]{accent-color:var(--primary)}.notes-input{padding:.75rem;border:1px solid var(--border-muted);border-radius:8px;background:#ffffff05;color:var(--text-strong);font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);resize:vertical;min-height:80px;font-family:inherit}.notes-input:focus{outline:none;border-color:var(--primary);background:#ffffff0d;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.notes-input::placeholder{color:var(--text-muted)}.error-message{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:.75rem;font-size:.85rem;font-weight:500;margin-top:.75rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-muted);background:#ffffff05}.primary-button,.secondary-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 1px 4px rgba(var(--primary-rgb),.3)}.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--primary-rgb),.4);background:linear-gradient(135deg,var(--primary-hover),var(--primary))}.primary-button:hover:not(:disabled):before{left:100%}.primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 4px #0000001a}.primary-button.small{padding:.375rem .75rem;font-size:.8rem}.secondary-button{background:linear-gradient(135deg,var(--bg-surface),var(--bg-dark));color:var(--text-strong);border:1px solid var(--border-muted);box-shadow:0 1px 4px #0000001a}.secondary-button:hover{background:linear-gradient(135deg,var(--bg-hover),var(--bg-surface));border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.secondary-button.small{padding:.375rem .75rem;font-size:.8rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;background:linear-gradient(135deg,var(--bg-surface),var(--bg-dark));border-radius:10px;padding:2rem;box-shadow:0 4px 16px #0000001a;border:1px solid var(--border-muted)}.loading-container p,.error-container p{color:var(--text-strong);font-size:1rem;font-weight:500;margin:0}.documents-section{grid-column:1 / -1;margin-top:2rem;background:var(--bg-surface);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-muted)}.documents-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.documents-section .section-header h2{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.documents-section .section-header h2 svg{color:var(--primary);font-size:1rem}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-main);border-radius:6px;border:1px solid var(--border-muted);transition:all .2s ease}.document-item:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.document-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary);color:#fff;border-radius:6px;font-size:1.25rem;flex-shrink:0}.document-info{flex:1;min-width:0}.document-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.document-name{color:var(--text-strong);font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-type{background:var(--primary);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.document-meta{display:flex;align-items:center;gap:1rem;color:var(--text-muted);font-size:.875rem}.document-size,.document-date,.document-uploader{display:flex;align-items:center;gap:.25rem}.document-description{margin:.5rem 0 0;color:var(--text-muted);font-size:.875rem;line-height:1.4}.document-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.no-documents{text-align:center;padding:2rem;color:var(--text-muted)}.no-documents p{margin:0 0 1rem;font-size:.95rem}.no-documents .btn{display:inline-flex;align-items:center;gap:.5rem}@media (max-width: 768px){.documents-section{margin-top:1.5rem;padding:1rem}.document-item{flex-direction:column;align-items:flex-start;gap:.75rem}.document-header,.document-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.document-actions{align-self:flex-end}}@media (max-width: 480px){.documents-section .section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.document-icon{width:40px;height:40px;font-size:1rem}.document-name{font-size:.875rem}.document-type{font-size:.7rem;padding:.2rem .4rem}.document-meta{font-size:.8rem}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-muted)}.section-header h2{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.section-header h2 svg{color:var(--primary);font-size:1.1rem}.section-header h3{margin:0;color:var(--text-main);font-size:1.25rem;font-weight:600}.no-data-message{text-align:center;padding:3rem 2rem;background:var(--bg-surface);border:2px dashed var(--border-muted);border-radius:12px;color:var(--text-muted);margin:1rem 0}.no-data-icon{font-size:3rem;color:var(--text-muted);margin-bottom:1rem;opacity:.5}.no-data-message h3{margin:0 0 .5rem;color:var(--text-main);font-size:1.25rem;font-weight:600}.no-data-message p{margin:0 0 1.5rem;font-size:1rem;color:var(--text-secondary);max-width:400px;margin-left:auto;margin-right:auto}.table-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border-muted)}.vendor-parts-table{width:100%;min-width:800px;border-collapse:collapse;background:var(--bg-surface);border:none;border-radius:8px;overflow:hidden;border-spacing:0;box-shadow:0 2px 8px #0000001a}.vendor-parts-table th{background:linear-gradient(135deg,#ffffff0d,#ffffff05);padding:1rem 1.25rem;text-align:left;font-weight:600;color:var(--text-strong);border-bottom:2px solid var(--border-muted);font-size:.875rem;letter-spacing:.02em;text-transform:uppercase;position:sticky;top:0;z-index:10}.vendor-parts-table td{padding:1rem 1.25rem;color:var(--text-main);font-size:.875rem;border-bottom:none;transition:background-color .2s ease}.vendor-parts-table tr{border-bottom:1px solid var(--border-table);transition:all .2s ease}.vendor-parts-table tr:hover{background:#ffffff08;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.vendor-parts-table tr:last-child{border-bottom:none}.vendor-parts-table tr:last-child td{border-bottom:none}.vendor-parts-table tr.preferred-vendor{background:linear-gradient(135deg,#3b82f614,#3b82f608);border-left:4px solid var(--primary-color);position:relative}.vendor-parts-table tr.preferred-vendor:hover{background:linear-gradient(135deg,#3b82f61f,#3b82f60f);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.preferred-icon{color:var(--primary-color);margin-left:.5rem;font-size:.75rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.vendor-name{display:flex;flex-direction:column;gap:.25rem}.vendor-link{color:var(--primary-color);text-decoration:none;font-weight:500;display:flex;align-items:center;transition:all .2s ease;padding:.25rem 0;border-radius:4px}.vendor-link:hover{text-decoration:none;background:#3b82f61a;padding:.25rem .5rem;margin:-.25rem -.5rem}.vendor-status{display:flex;align-items:center}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.status-badge.active{background:#22c55e1a;color:#22c55e}.status-badge.inactive{background:#ef44441a;color:#ef4444}.status-badge.pending{background:#f59e0b1a;color:#f59e0b}.part-name{display:flex;flex-direction:column;gap:.25rem}td.part-name{display:table-cell!important;height:auto!important;flex-direction:unset!important;gap:unset!important}.part-link{color:var(--primary-color);text-decoration:none;font-weight:500;display:flex;align-items:center;transition:all .2s ease;padding:.25rem 0;border-radius:4px}.part-link:hover{text-decoration:none;background:#3b82f61a;padding:.25rem .5rem;margin:-.25rem -.5rem}.part-number{font-size:.75rem;color:var(--text-secondary);font-family:Courier New,monospace}.vendor-part-number{font-family:Courier New,monospace;font-weight:500;color:var(--text-strong)}.price{font-weight:600;color:var(--text-strong);font-size:1rem}.lead-time{color:var(--text-secondary);font-weight:500}.moq{text-align:center;font-weight:500;color:var(--text-strong)}.notes{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-style:italic}.actions{text-align:center;width:60px}.actions .btn{background:transparent;border:1px solid var(--border-muted);color:var(--text-muted);padding:.5rem;border-radius:6px;transition:all .2s ease}.actions .btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.vendor-part-modal .modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.vendor-part-modal .modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-muted)}.vendor-part-modal .modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.vendor-part-modal .modal-body{padding:1rem 1.5rem}.vendor-part-modal .form-section{margin-bottom:0}.vendor-part-modal .form-group{margin-bottom:1rem}.vendor-part-modal .form-group:last-child{margin-bottom:0}.vendor-part-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-main);font-size:.875rem}.vendor-part-modal .form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1rem}.vendor-part-modal input[type=text],.vendor-part-modal input[type=number],.vendor-part-modal select,.vendor-part-modal textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-main);font-size:.875rem;transition:border-color .2s ease}.vendor-part-modal input[type=text]:focus,.vendor-part-modal input[type=number]:focus,.vendor-part-modal select:focus,.vendor-part-modal textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.vendor-part-modal textarea{resize:vertical;min-height:60px;max-height:120px}.vendor-part-modal .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.vendor-part-modal .checkbox-label input[type=checkbox]{width:auto;margin:0}.vendor-part-modal .part-select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-main);font-size:.875rem;transition:border-color .2s ease}.vendor-part-modal .loading-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.vendor-part-modal .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vendor-part-modal .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:.75rem;margin-bottom:1rem;color:#ef4444}.vendor-part-modal .error-message p{margin:0;font-size:.875rem}.vendor-part-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-muted);display:flex;justify-content:space-between;align-items:center;gap:1rem}.vendor-part-modal .modal-actions{display:flex;gap:.75rem}.vendor-part-modal .btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.vendor-part-modal .btn:disabled{opacity:.6;cursor:not-allowed}.vendor-part-modal .btn-primary{background:var(--primary-color);color:#fff}.vendor-part-modal .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.vendor-part-modal .btn-secondary{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-muted)}.vendor-part-modal .btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.vendor-part-modal .btn-danger{background:#ef4444;color:#fff}.vendor-part-modal .btn-danger:hover:not(:disabled){background:#dc2626}.vendor-part-modal .search-container{display:flex;flex-direction:column;gap:.5rem}.vendor-part-modal .search-input-wrapper{position:relative;display:flex;align-items:center}.vendor-part-modal .search-icon{position:absolute;left:.75rem;color:var(--text-secondary);font-size:.875rem;z-index:1}.vendor-part-modal .search-input{padding:.5rem .5rem .5rem 2.25rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-main);font-size:.875rem;width:100%;transition:border-color .2s ease,box-shadow .2s ease}.vendor-part-modal .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.vendor-part-modal .part-select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-main);font-size:.875rem;width:100%;transition:border-color .2s ease,box-shadow .2s ease}.vendor-part-modal .part-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.vendor-part-modal .part-select:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.vendor-parts-table{font-size:.8rem}.vendor-parts-table th,.vendor-parts-table td{padding:8px}.vendor-part-modal .form-row{grid-template-columns:1fr}.notes{max-width:150px}}@media (max-width: 600px){.section-header{flex-direction:column;gap:1rem;align-items:flex-start}.vendor-parts-table{font-size:.75rem}.vendor-parts-table th,.vendor-parts-table td{padding:6px}.notes{max-width:100px}}.vendor-part-modal .selection-row{display:flex;align-items:flex-end;gap:1rem}.vendor-part-modal .selection-field{flex:1}.vendor-part-modal .preferred-checkbox{flex-shrink:0;padding-bottom:.5rem}.vendor-part-modal .preferred-checkbox .checkbox-label{margin-bottom:0;font-size:.875rem;white-space:nowrap}html,body,.price-book,.table-container,.price-table{scrollbar-width:thin;scrollbar-color:var(--border-muted) var(--bg-surface)}.price-book{max-width:100%;overflow-x:hidden}.price-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .price-header{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 12px #0000000d}.price-header h1{margin:0;color:var(--text-strong);font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--text-strong),var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-actions{display:flex;gap:1rem;align-items:center}.export-button{display:flex;align-items:center;gap:.5rem;padding:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;height:38px;width:38px;justify-content:center}.export-button:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong);transform:translateY(-1px)}.export-button svg{font-size:.875rem}@media (max-width: 768px){.price-book{padding:1rem}.price-header{flex-direction:column;gap:1rem;text-align:center}.price-header h1{font-size:1.5rem}.filter-bar{display:none}.mobile-filter-button{display:flex;align-self:flex-start;margin-left:auto;margin-right:auto}.active-filters{flex-direction:column;align-items:flex-start;gap:.75rem}.active-filters-label{margin-bottom:.5rem}.active-filters-list{width:100%}.filter-group{width:100%;gap:0}.filter-input{min-width:auto;width:100%}.table-container{margin:0;border-radius:8px}.price-table{font-size:.75rem}.price-table th,.price-table td{padding:.5rem .3rem}.price-table td.description{max-width:100px;min-width:80px}.price-table td.product-name{max-width:80px;min-width:60px}.price-table td.item-id{max-width:40px;min-width:30px}.action-buttons{flex-direction:column;gap:.25rem}.icon-button{width:28px;height:28px;font-size:.75rem}.new-item-fab{width:56px;height:56px;bottom:5rem}.new-item-fab svg{font-size:1.25rem}.modal{width:95%;margin:1rem}.form-grid{grid-template-columns:1fr}.pagination-container{flex-direction:column;gap:.5rem;padding:.5rem}.pagination-info{text-align:center;font-size:.75rem}.pagination-controls{gap:.15rem;flex-wrap:wrap;justify-content:center}.pagination-button{width:28px;height:28px}.page-button{min-width:24px;height:28px;font-size:.75rem;padding:0 .2rem}.page-ellipsis{width:24px;height:28px;font-size:.75rem}.page-numbers{gap:.075rem;flex-wrap:wrap;justify-content:center}}.active-filters{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;flex-wrap:wrap}.active-filters-label{color:var(--text-muted);font-size:.875rem;font-weight:500;white-space:nowrap}.active-filters-list{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.active-filter-tag{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--primary);color:#fff;border-radius:16px;font-size:.75rem;font-weight:500;white-space:nowrap}.remove-filter{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:.625rem;transition:all .2s ease}.remove-filter:hover{background:#ffffff4d;transform:scale(1.1)}.clear-all-filters{padding:.375rem .75rem;background:var(--bg-main);border:1px solid var(--border-muted);color:var(--text-muted);border-radius:16px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.clear-all-filters:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.mobile-filter-button{display:none;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-main);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:1rem;width:auto;justify-content:center;white-space:nowrap}.mobile-filter-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.mobile-filter-button svg{font-size:.875rem}.mobile-filters{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;opacity:0;visibility:hidden;transition:all .3s ease}.mobile-filters.visible{opacity:1;visibility:visible}.mobile-filters-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-muted);background:var(--bg-surface)}.mobile-filters-header h3{margin:0;color:var(--text-strong);font-size:1.125rem;font-weight:600}.close-filters{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-main);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.close-filters:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.mobile-filters-content{background:var(--bg-surface);border-radius:12px 12px 0 0;padding:1rem;max-height:80vh;overflow-y:auto;width:100%;transform:translateY(100%);transition:transform .3s ease}.mobile-filters.visible .mobile-filters-content{transform:translateY(0)}.mobile-filters-content .filter-group{margin-bottom:1.5rem}.mobile-filters-content .filter-group:last-child{margin-bottom:0}.mobile-filters-content label{display:block;margin-bottom:.5rem;color:var(--text-strong);font-size:.875rem;font-weight:500}.price-range-inputs{display:flex;align-items:center;gap:.5rem}.price-range-inputs span{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.price-range-inputs .filter-input{flex:1;min-width:0}.filter-dropdown{position:relative}.filter-dropdown-button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem 1rem;background:var(--bg-main);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-main);font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:160px;height:38px;box-sizing:border-box}.filter-dropdown-button:hover{border-color:var(--border-strong);background:var(--bg-hover)}.filter-dropdown-button.active{border-color:var(--primary);background:var(--primary);color:#fff}.dropdown-arrow{font-size:.75rem;transition:transform .2s ease}.filter-dropdown-content{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:300px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;margin-top:4px}.filter-dropdown-content.visible{opacity:1;visibility:visible;transform:translateY(0)}.filter-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease}.filter-dropdown-item:hover{background:var(--bg-hover)}.filter-dropdown-item input[type=checkbox],.filter-dropdown-item input[type=radio]{margin:0;width:16px;height:16px;accent-color:var(--primary)}.filter-dropdown-item label{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;font-size:.875rem;color:var(--text-main);margin:0}.filter-dropdown-count{color:var(--text-muted);font-size:.75rem;font-weight:500;background:var(--bg-main);padding:.125rem .375rem;border-radius:8px;margin-left:auto}.price-range-container{display:flex;align-items:center;gap:.5rem}.price-range-input{flex:1;min-width:0}.price-range-separator{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.filter-bar{display:flex;flex-direction:row;gap:1rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.filter-bar:hover{box-shadow:0 2px 6px #00000014}.filter-group{display:flex;gap:.75rem;align-items:center;position:relative}.filter-group:not(:last-child):after{content:"";position:absolute;right:-.5rem;top:50%;transform:translateY(-50%);width:1px;height:24px;background:var(--border-muted);opacity:.5}.filter-input{padding:.625rem 1rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-main);color:var(--text-main);font-size:.875rem;min-width:240px;height:38px;box-sizing:border-box;transition:all .2s ease}.filter-input:hover{border-color:var(--border-strong)}.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--bg-surface)}.filter-input::placeholder{color:var(--text-muted);font-size:.875rem}.filter-group label{color:var(--text-muted);font-size:.875rem;font-weight:500;white-space:nowrap}.filter-select{padding:.625rem 1rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-main);color:var(--text-main);font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:140px}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.filter-select:hover{border-color:var(--border-strong)}.clear-filters{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-main);border:1px solid var(--border-muted);color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:all .2s ease;border-radius:6px;white-space:nowrap}.clear-filters:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.clear-filters:active{transform:scale(.98)}.table-container{max-height:70vh;overflow:auto;position:relative;background:var(--bg-surface);border-radius:10px;box-shadow:0 2px 8px #0000000a}.price-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.price-table th,.price-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-table);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-table th{background:var(--bg-subtle);font-weight:600;color:var(--text-strong);position:sticky;top:0;z-index:10;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;border-bottom:2px solid var(--border-table)}.price-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.price-table th.sortable:hover{background:var(--bg-hover)}.price-table th.sortable.active{color:var(--primary)}.sort-icon{margin-left:.5rem;font-size:.75rem;color:var(--primary)}.price-table td{color:var(--text-strong);vertical-align:top;font-size:.85rem}.price-table tr:hover td{background:var(--bg-hover)}.price-table td.date{color:var(--text-muted);font-size:.8rem}.price-table td.product-name{font-weight:500;color:var(--text-strong);font-size:.85rem;white-space:normal;word-wrap:break-word;max-width:0;overflow:hidden;text-overflow:ellipsis;width:35%;min-width:200px}.product-name-link{color:#007bff;text-decoration:none;font-weight:500;cursor:pointer;display:block;padding:.5rem 0;transition:color .2s}.product-name-link:hover{color:#0056b3;text-decoration:underline}.price-table td.item-id{max-width:80px;font-size:.7rem;color:#9ca3af;opacity:.7;font-weight:400}.price-table td.qty{text-align:center;font-weight:500}.price-table td.price{text-align:right;font-family:Courier New,monospace;font-weight:500;color:var(--text-strong)}.price-table td.type{max-width:120px;min-width:80px;width:15%;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.action-buttons{display:flex;gap:.5rem;justify-content:center}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-main);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:.875rem}.icon-button:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong);transform:translateY(-1px)}.icon-button svg{font-size:.875rem}.icon-button.edit:hover{color:var(--primary);border-color:var(--primary)}.icon-button.delete:hover{color:var(--danger);border-color:var(--danger)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-muted)}.error-container{display:flex;justify-content:center;align-items:center;min-height:200px;padding:2rem}.error-message{text-align:center;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px;padding:2rem;max-width:400px}.error-message h3{margin:0 0 1rem;color:var(--danger);font-size:1.2rem}.error-message p{margin:0 0 1.5rem;color:var(--text-muted);line-height:1.5}.retry-button{padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.pagination-container{display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--bg-surface);border-top:1px solid var(--border-muted);margin-top:1rem;border-radius:0 0 8px 8px;gap:2rem}.pagination-info{color:var(--text-muted);font-size:.9rem;white-space:nowrap}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-strong);cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button svg{font-size:.8rem}.page-numbers{display:flex;align-items:center;gap:.25rem}.page-button{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .5rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:6px;color:var(--text-strong);font-size:.9rem;cursor:pointer;transition:all .2s ease}.page-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.page-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-button.active:hover{background:var(--primary-hover)}.page-ellipsis{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);font-size:.9rem;-webkit-user-select:none;user-select:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-surface);border-radius:8px;padding:1.5rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000001f;border:1px solid var(--border-muted)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-muted)}.modal-header h2{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600}.close-button{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:all .2s ease;border-radius:4px}.close-button:hover{color:var(--text-strong);background:var(--bg-hover)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group.full-width{grid-column:1 / -1}.form-group label{color:var(--text-strong);font-size:.875rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-surface);color:var(--text-strong);font-size:.95rem;transition:all .2s ease;min-height:42px;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1);background:var(--bg-main)}.form-group textarea{resize:vertical;min-height:80px;line-height:1.4}.form-group input[readonly]{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border-muted);cursor:not-allowed}.form-section{margin-bottom:1.5rem}.section-title{color:var(--text-strong);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-muted);position:relative}.section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:30px;height:2px;background:var(--primary);border-radius:1px}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-muted)}.primary-button,.secondary-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.primary-button.delete{background:var(--danger)}.primary-button.delete:hover{background:var(--danger-hover)}.secondary-button{background:var(--bg-surface);color:var(--text-strong);border:1px solid var(--border-muted)}.secondary-button:hover{background:var(--bg-hover);border-color:var(--border-strong)}.delete-confirm-modal{max-width:400px}.delete-confirm-modal .modal-content{padding:1rem 0}.delete-confirm-modal .modal-content p{margin:0;color:var(--text-strong);line-height:1.5}.new-item-fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026,0 0 rgba(var(--primary-rgb),.2);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;overflow:hidden}.new-item-fab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#ffffff1a,#fff3,#ffffff1a);opacity:0;transition:opacity .3s ease}.new-item-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #0003,0 0 0 4px rgba(var(--primary-rgb),.2)}.new-item-fab:hover:before{opacity:1}.new-item-fab:active{transform:translateY(0) scale(.95);box-shadow:0 2px 8px #00000026,0 0 0 2px rgba(var(--primary-rgb),.2)}.new-item-fab svg{width:24px;height:24px;transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.new-item-fab:hover svg{transform:rotate(90deg) scale(1.1)}@keyframes pulse{0%{box-shadow:0 4px 12px #00000026,0 0 rgba(var(--primary-rgb),.2)}50%{box-shadow:0 4px 12px #00000026,0 0 0 8px rgba(var(--primary-rgb),0)}to{box-shadow:0 4px 12px #00000026,0 0 rgba(var(--primary-rgb),.2)}}.new-item-fab{animation:pulse 2s ease-in-out}.new-item-fab:after{content:"New Price List Item";position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--bg-surface);color:var(--text-main);padding:.5rem .75rem;border-radius:6px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;pointer-events:none}.new-item-fab:before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--bg-surface);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.new-item-fab:hover:after,.new-item-fab:hover:before{opacity:1;visibility:visible}@media (max-width: 1200px){.table-container{overflow-x:auto}.price-table{min-width:1200px}.price-table td.description{max-width:200px;min-width:150px}.price-table td.product-name{max-width:150px;min-width:120px}.price-table td.item-id{max-width:60px;min-width:50px}}@media (max-width: 768px){.price-book{padding:1rem}.price-header{flex-direction:column;gap:1rem;text-align:center}.price-header h1{font-size:1.5rem}.filter-bar{flex-direction:column;gap:.75rem}.filter-group{width:100%;gap:0}.filter-input{min-width:auto;width:100%}.table-container{margin:0;border-radius:8px}.price-table{font-size:.75rem}.price-table th,.price-table td{padding:.5rem .3rem}.price-table td.description{max-width:100px;min-width:80px}.price-table td.product-name{max-width:80px;min-width:60px}.price-table td.item-id{max-width:40px;min-width:30px}.action-buttons{flex-direction:column;gap:.25rem}.icon-button{width:28px;height:28px;font-size:.75rem}.new-item-fab{width:56px;height:56px;bottom:5rem}.new-item-fab svg{font-size:1.25rem}.modal{width:95%;margin:1rem}.form-grid{grid-template-columns:1fr}.pagination-container{flex-direction:column;gap:.5rem;padding:.5rem}.pagination-info{text-align:center;font-size:.75rem}.pagination-controls{gap:.15rem;flex-wrap:wrap;justify-content:center}.pagination-button{width:28px;height:28px}.page-button{min-width:24px;height:28px;font-size:.75rem;padding:0 .2rem}.page-ellipsis{width:24px;height:28px;font-size:.75rem}.page-numbers{gap:.075rem;flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.price-book{padding:.5rem}.price-header{padding:1rem}.price-header h1{font-size:1.25rem}.price-table th,.price-table td{padding:.4rem .2rem;font-size:.7rem}.price-table td.description,.price-table td.product-name{max-width:60px;min-width:50px}.price-table td.item-id{max-width:30px;min-width:25px}.new-item-fab{width:48px;height:48px;bottom:4.5rem}.new-item-fab svg{font-size:1.125rem}.pagination-container{padding:.375rem;gap:.375rem}.pagination-info{font-size:.7rem}.pagination-controls{gap:.1rem}.pagination-button{width:24px;height:24px}.page-button{min-width:20px;height:24px;font-size:.7rem;padding:0 .15rem}.page-ellipsis{width:20px;height:24px;font-size:.7rem}.page-numbers{gap:.05rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--border-muted);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-main)}[data-theme=light] ::-webkit-scrollbar-track{background:var(--border-muted)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--text-muted)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--text-main)}.table-container{scrollbar-width:thin;scrollbar-color:var(--border-muted) var(--bg-surface)}.table-container::-webkit-scrollbar{height:12px;width:8px}.table-container::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:6px}.table-container::-webkit-scrollbar-track{background:var(--bg-surface)}.price-table thead{position:sticky;top:0;z-index:10;background:var(--bg-surface)}.price-table thead th{position:sticky;top:0;background:var(--bg-surface)!important;z-index:10;box-shadow:0 2px 4px #00000008;border-bottom:1px solid var(--border-muted);padding:1rem .75rem;font-weight:600;color:var(--text-strong);text-align:left;white-space:nowrap}[data-theme=light] .price-table thead th{background:var(--bg-surface)!important}.settings-container{max-width:1400px;margin:0 auto}.settings-header{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .settings-header{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 12px #0000000d}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-grid{display:flex;justify-content:center;width:100%}.settings-card{background:var(--bg-primary);border:1px solid var(--border-muted);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.4,0,.2,1);max-width:600px;width:100%}.settings-card:hover{box-shadow:0 8px 32px #0000001a;transform:translateY(-2px)}[data-theme=light] .settings-card:hover{box-shadow:0 8px 32px #0000000d}.setting-group{display:flex;flex-direction:column;gap:1.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-muted);gap:2rem}.setting-item:last-child{border-bottom:none}.setting-info{flex:1;min-width:0}.setting-info h3{margin:0 0 .25rem;color:var(--text-strong);font-size:1rem;font-weight:600}.setting-info p{margin:0;color:var(--text-muted);font-size:.875rem;line-height:1.4}.setting-control{display:flex;align-items:center;flex-shrink:0}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-muted);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-switch:hover .toggle-slider{box-shadow:0 0 8px rgba(var(--primary-rgb),.3)}.theme-toggle{display:flex;gap:.5rem;background:var(--bg-dark);border-radius:8px;padding:.25rem;border:1px solid var(--border-muted)}[data-theme=light] .theme-toggle{background:#e2e8f0;border-color:#cbd5e1}.theme-option{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.875rem;font-weight:500}.theme-option:hover{color:var(--text-strong);background:#ffffff0d}[data-theme=light] .theme-option:hover{background:#00000014;color:#0f172a}.theme-option.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}[data-theme=light] .theme-option.active{box-shadow:0 2px 8px rgba(var(--primary-rgb),.4)}.theme-option svg{font-size:1rem}.setting-select{padding:.5rem 1rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-dark);color:var(--text-main);font-size:.875rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:120px}.setting-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.setting-select:hover{border-color:var(--border-hover)}.account-info{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-muted)}.theme-badge{background:#ffffff1a;color:var(--text-strong);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize;border:1px solid var(--border-muted)}[data-theme=light] .theme-badge{background:#0000001a}.message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;font-weight:500;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.settings-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-muted)}@media (max-width: 1024px){.settings-card{max-width:500px}}@media (max-width: 768px){.settings-container{padding:1rem}.settings-card{max-width:100%;margin-bottom:1rem}.setting-item{flex-direction:column;align-items:flex-start;gap:1rem}.setting-control{width:100%;justify-content:flex-end}.header-content{flex-direction:column;text-align:center;gap:1rem}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}.settings-actions{justify-content:center}.btn{width:100%;justify-content:center}}.toggle-switch:focus-visible,.theme-option:focus-visible,.setting-select:focus-visible,.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:root{--success-rgb: 34, 197, 94}.settings-section{background:var(--bg-primary);border:1px solid var(--border-muted);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.profile-container{max-width:1400px;margin:0 auto}.profile-header{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .profile-header{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 12px #0000000d}.header-content{display:flex;align-items:center;gap:1rem}.header-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.header-text h1{margin:0 0 .25rem;color:var(--text-strong);font-size:1.75rem;font-weight:600}.header-text p{margin:0;color:var(--text-muted);font-size:.95rem}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-grid{display:flex;justify-content:center;width:100%}.profile-card{background:var(--bg-primary);border:1px solid var(--border-muted);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.4,0,.2,1);max-width:600px;width:100%}.profile-card:hover{box-shadow:0 8px 32px #0000001a;transform:translateY(-2px)}[data-theme=light] .profile-card:hover{box-shadow:0 8px 32px #0000000d}.card-header{padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface),rgba(255,255,255,.02));border-bottom:1px solid var(--border-muted);display:flex;align-items:center;gap:.75rem}[data-theme=light] .card-header{background:linear-gradient(135deg,var(--bg-surface),rgba(0,0,0,.02))}.card-icon{color:var(--primary);font-size:1.25rem}.card-header h2{margin:0;color:var(--text-strong);font-size:1.25rem;font-weight:600}.card-content{padding:1.5rem}.profile-form{padding:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.form-group label{display:flex;align-items:center;gap:.5rem;color:var(--text-strong);font-weight:500;font-size:.9rem}.input-icon{color:var(--text-muted);font-size:.875rem}.form-group input,.form-group select{padding:.75rem 1rem;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-primary);color:var(--text-main);font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--bg-surface)}.form-group input:hover,.form-group select:hover{border-color:var(--border-hover);background:var(--bg-surface)}.disabled-input{background:var(--bg-primary)!important;color:var(--text-muted)!important;cursor:not-allowed;opacity:.7}.input-help{color:var(--text-muted);font-size:.8rem;margin-top:.25rem}.message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.message.success{background:rgba(var(--success-rgb),.1);border:1px solid rgba(var(--success-rgb),.2);color:var(--success)}.message.error{background:rgba(var(--danger-rgb),.1);border:1px solid rgba(var(--danger-rgb),.2);color:var(--danger)}.message-icon{font-size:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-muted)}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.4)}.btn-secondary{background:#ffffff0d;color:var(--text-main);border:1px solid var(--border-muted)}[data-theme=light] .btn-secondary{background:#0000000d}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--border-hover);transform:translateY(-1px)}[data-theme=light] .btn-secondary:hover:not(:disabled){background:#0000001a}.btn-danger{background:linear-gradient(135deg,var(--danger),var(--danger-hover));color:#fff;box-shadow:0 2px 8px rgba(var(--danger-rgb),.3)}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--danger-rgb),.4)}.account-info{padding:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-muted)}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted);font-size:.9rem;font-weight:500}.info-value{color:var(--text-strong);font-weight:500;font-size:.9rem}.role-badge{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.loading-card{display:flex;align-items:center;justify-content:center;padding:3rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;color:var(--text-muted)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.profile-card{max-width:500px}}@media (max-width: 768px){.profile-container{padding:1rem}.profile-card{max-width:100%;margin-bottom:1rem}.profile-form,.account-info{padding:1rem}.form-grid{grid-template-columns:1fr;margin-bottom:1rem}.form-actions{flex-direction:column}.btn{width:100%;justify-content:center}.logout-button .btn{padding:.875rem 1.25rem;font-size:.95rem}.logout-button .btn svg{font-size:1rem}.header-content{flex-direction:column;text-align:center;gap:1rem}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}}.form-group input:focus-visible,.form-group select:focus-visible,.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:root{--success-rgb: 34, 197, 94;--danger-rgb: 239, 68, 68}.avatar-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:8px}.avatar-label{display:flex;align-items:center;gap:.5rem;color:var(--text-strong);font-weight:500;font-size:.9rem;margin-bottom:1rem}.avatar-container{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.avatar-preview{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid var(--border-muted);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:2rem;background:var(--bg-primary)}.avatar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-sm{padding:.5rem .75rem;font-size:.875rem;gap:.5rem}@media (max-width: 768px){.avatar-container{flex-direction:column;align-items:flex-start;gap:1rem}.avatar-preview{width:60px;height:60px}.avatar-actions{width:100%;justify-content:flex-start}}.shipments-page{padding:2rem;max-width:1400px;margin:0 auto}.shipments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.shipments-header h1{margin:0;color:var(--text-main);font-size:2rem;font-weight:600}.shipments-actions{display:flex;gap:1rem}.shipments-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.shipments-table-container{background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.shipments-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;font-size:.875rem;table-layout:fixed}html,body,.shipments-page,.table-container,.shipments-table{outline:none!important}.shipments-table th,.shipments-table td{overflow:hidden;text-overflow:ellipsis;padding:12px;border-bottom:1px solid var(--border-table);vertical-align:top}.shipments-table th{background:var(--bg-dark);color:var(--text-strong);font-weight:500;text-align:left;padding:12px;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;border-bottom:2px solid var(--border-table);white-space:nowrap;position:sticky;top:0;z-index:1;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;vertical-align:top}.shipments-table th:hover{background:var(--bg-surface)}.shipments-table td{padding:12px;border-bottom:1px solid var(--border-table);transition:background-color .2s ease;overflow:hidden;text-overflow:ellipsis}.shipments-table tr{transition:all .2s ease;min-height:48px}.shipments-table tr:hover td{background:#ffffff08;transform:scale(1.001)}.shipments-table td.shipment-name{font-weight:600;letter-spacing:-.01em;max-width:120px;min-width:80px;width:120px;white-space:normal;word-wrap:break-word;line-height:1.3;display:table-cell!important;height:auto!important;flex-direction:unset!important;gap:unset!important}.shipment-name{font-weight:500;color:var(--text-strong)}.shipment-link{color:#007bff;text-decoration:none;font-weight:500;cursor:pointer;display:block;padding:.5rem 0;transition:color .2s}.shipment-link:hover{color:#0056b3;text-decoration:underline}.shipments-table .shipment-link:hover{padding:.5rem 0!important;margin:0!important;background:none!important}.shipment-eta,.shipment-tracking,.shipment-carrier{white-space:normal;word-wrap:break-word;line-height:1.4}.shipment-eta div,.shipment-tracking div,.shipment-carrier div{margin-bottom:.25rem}.shipment-eta div:last-child,.shipment-tracking div:last-child,.shipment-carrier div:last-child{margin-bottom:0}.shipment-status{text-align:center}.status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.status.pending{background:#fff3cd;color:#856404}.status.in-transit{background:#d1ecf1;color:#0c5460}.status.delivered{background:#d4edda;color:#155724}.status.cancelled{background:#f8d7da;color:#721c24}.actions{display:flex;gap:.5rem;justify-content:flex-end}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem 0}.page-info{color:var(--text-secondary);font-size:.875rem}.modal{background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column}.modal-header h2{margin:0;color:var(--text-main);font-size:1.25rem;font-weight:600}.modal-body{padding:1.5rem;flex:1}.modal-body.scrollable{overflow-y:auto}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group label{font-weight:500;color:var(--text-main);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-main);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:80px}.form-group label:has(input[type=checkbox]){flex-direction:row;align-items:center}.shipment-detail-page{padding:2rem;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);animation:fadeIn .3s ease}.shipment-back-button{margin-bottom:2rem}.shipment-back-button .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;color:var(--text-strong);font-weight:500;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.shipment-back-button .btn:hover{background:var(--bg-dark);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.shipment-hero{background:var(--bg-surface);border-radius:16px;padding:2.5rem;margin-bottom:2rem;border:1px solid var(--border-muted);box-shadow:0 8px 32px #0000001a;position:relative;overflow:hidden}.shipment-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-hover) 100%);border-radius:16px 16px 0 0}.shipment-hero-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.shipment-hero-title{display:flex;align-items:center;gap:1.5rem;flex:1}.shipment-hero-title h1{margin:0;font-size:2.5rem;font-weight:700;color:var(--text-strong);letter-spacing:-.02em;line-height:1.2}.shipment-hero-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);border-radius:20px;color:#fff;font-size:2rem;box-shadow:0 8px 24px rgba(var(--primary-rgb),.3);transition:all .3s ease}.shipment-hero-icon:hover{transform:scale(1.05) rotate(5deg);box-shadow:0 12px 32px rgba(var(--primary-rgb),.4)}.shipment-hero-actions{display:flex;gap:.75rem;flex-shrink:0}.shipment-hero-actions .btn{padding:.75rem;border-radius:12px;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.shipment-hero-actions .btn-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);border:1px solid var(--border-muted);color:var(--text-strong);font-size:1.1rem}.shipment-hero-actions .btn-icon:hover{background:var(--bg-surface);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.shipment-hero-actions .btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);border-color:#dc3545;color:#fff}.shipment-hero-actions .btn-danger:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-2px);box-shadow:0 6px 20px #dc35454d}.shipment-badges{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.shipment-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-dark);border:1px solid var(--border-muted);border-radius:12px;color:var(--text-strong);font-weight:500;font-size:.9rem;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.shipment-badge:hover{background:var(--bg-surface);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.shipment-badge.status{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);border-color:var(--primary);color:#fff;box-shadow:0 4px 16px rgba(var(--primary-rgb),.3)}.shipment-badge.destination{background:linear-gradient(135deg,#155d26,#327f68);border-color:#28a745;color:#fff;box-shadow:0 4px 16px #28a7454d}.shipment-badge.eta{background:linear-gradient(135deg,#7d692d,#fd7e14);border-color:#ffc107;color:#fff;box-shadow:0 4px 16px #ffc1074d}.shipment-badge.carrier{background:linear-gradient(135deg,#6f42c1,#e83e8c);border-color:#6f42c1;color:#fff;box-shadow:0 4px 16px #6f42c14d}.shipment-badge-icon{font-size:1rem;opacity:.9}.shipment-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem}.shipment-main-info{background:var(--bg-surface);border-radius:16px;padding:2rem;border:1px solid var(--border-muted);box-shadow:0 8px 32px #0000001a}.shipment-main-info h2{margin:0 0 2rem;font-size:1.5rem;font-weight:600;color:var(--text-strong);display:flex;align-items:center;gap:.75rem}.shipment-main-info h2:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);border-radius:2px}.shipment-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.shipment-info-item{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:var(--bg-dark);border-radius:12px;border:1px solid var(--border-muted);transition:all .2s ease}.shipment-info-item:hover{background:var(--bg-surface);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.shipment-info-label{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.shipment-info-value{font-size:1.1rem;font-weight:500;color:var(--text-strong);line-height:1.4}.shipment-info-value.empty{color:var(--text-muted);font-style:italic}.shipment-sidebar{display:flex;flex-direction:column;gap:1.5rem}.shipment-sidebar-card{background:var(--bg-surface);border-radius:16px;padding:1.5rem;border:1px solid var(--border-muted);box-shadow:0 8px 32px #0000001a}.shipment-sidebar-card h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:var(--text-strong);display:flex;align-items:center;gap:.5rem}.shipment-sidebar-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-muted)}.shipment-sidebar-item:last-child{border-bottom:none;padding-bottom:0}.shipment-sidebar-label{color:var(--text-muted);font-size:.9rem;font-weight:500}.shipment-sidebar-value{color:var(--text-strong);font-weight:500;text-align:right}.shipment-sidebar-value.status{padding:.25rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.shipment-sidebar-value.status.pending{background:#ffc10733;color:#ffc107}.shipment-sidebar-value.status.in-transit{background:#007bff33;color:#007bff}.shipment-sidebar-value.status.delivered{background:#28a74533;color:#28a745}.shipment-sidebar-value.status.cancelled{background:#dc354533;color:#dc3545}.shipment-manifest{background:var(--bg-surface);border-radius:16px;padding:2rem;border:1px solid var(--border-muted);box-shadow:0 8px 32px #0000001a}.shipment-manifest h2{margin:0 0 2rem;font-size:1.5rem;font-weight:600;color:var(--text-strong);display:flex;align-items:center;gap:.75rem}.shipment-manifest h2:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);border-radius:2px}.manifest-table-container{background:var(--bg-dark);border-radius:12px;overflow:hidden;overflow-x:auto;border:1px solid var(--border-muted)}.manifest-table{width:100%;border-collapse:collapse;font-size:.875rem}.manifest-table th{background:var(--bg-surface);color:var(--text-strong);font-weight:600;text-align:left;padding:1rem;border-bottom:2px solid var(--border-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.manifest-table td{padding:1rem;border-bottom:1px solid var(--border-muted);color:var(--text-strong);transition:background-color .2s ease}.manifest-table tr:hover{background:#ffffff05}.manifest-table .description{max-width:300px;white-space:normal;word-wrap:break-word;line-height:1.4}.manifest-link{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s ease}.manifest-link:hover{color:var(--primary-hover);text-decoration:underline}.urgency-badge{padding:.25rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.urgency-low{background:#28a74533;color:#28a745}.urgency-normal{background:#007bff33;color:#007bff}.urgency-high{background:#ffc10733;color:#ffc107}.urgency-critical{background:#dc354533;color:#dc3545}.status-badge{padding:.25rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.status-new{background:#c4b5fd33!important;color:#fff!important;border:1px solid rgba(196,181,253,.4)!important}.status-assigned{background:#6f42c133;color:#fff}.status-gathering_quotes{background:#6366f133!important;color:#fff!important;border:1px solid rgba(99,102,241,.4)!important}.status-quotes_received{background:#3b82f633!important;color:#fff!important;border:1px solid rgba(59,130,246,.4)!important}.status-vendor_selected{background:#2563eb33!important;color:#fff!important;border:1px solid rgba(37,99,235,.4)!important}.status-po_requested{background:#1d4ed833!important;color:#fff!important;border:1px solid rgba(29,78,216,.4)!important}.status-po_created{background:#1e40af33!important;color:#fff!important;border:1px solid rgba(30,64,175,.4)!important}.status-ordered{background:#0d948833!important;color:#fff!important;border:1px solid rgba(13,148,136,.4)!important}.status-shipped{background:#14b8a633!important;color:#fff!important;border:1px solid rgba(20,184,166,.4)!important}.status-delivered{background:#22c55e33!important;color:#fff!important;border:1px solid rgba(34,197,94,.4)!important}.status-cancelled{background:#6b728033!important;color:#6b7280!important;border:1px solid rgba(107,114,128,.4)!important}.empty-manifest{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.empty-manifest p{font-size:1.1rem;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem}.loading-container p{color:var(--text-muted);font-size:1rem;margin:0}.shipments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.shipments-table th.sortable:hover{background:#ffffff0d}.sort-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.75rem;opacity:.7}@media (max-width: 1024px){.shipment-content{grid-template-columns:1fr}.shipment-sidebar{order:-1}}@media (max-width: 768px){.shipment-detail-page{padding:1rem}.shipment-hero{padding:1.5rem}.shipment-hero-header{flex-direction:column;gap:1rem;align-items:flex-start}.shipment-hero-title h1{font-size:2rem}.shipment-badges{gap:.75rem}.shipment-badge{padding:.5rem 1rem;font-size:.8rem}.shipment-info-grid{grid-template-columns:1fr}.shipment-main-info,.shipment-sidebar-card{padding:1.25rem}}@media (max-width: 480px){.shipment-hero-title h1{font-size:1.75rem}.shipment-hero-icon{width:40px;height:40px;font-size:1.25rem}.shipment-badges{flex-direction:column}.shipment-badge{width:100%;justify-content:center}}@media (max-width: 768px){.shipments-page{padding:1rem}.shipments-header{flex-direction:column;gap:1rem;align-items:flex-start}.shipments-actions{width:100%;justify-content:space-between}.shipments-filters{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column}.form-row{grid-template-columns:1fr}.shipments-table{font-size:.75rem}.shipments-table th,.shipments-table td{padding:8px}.modal{width:95%;margin:1rem}}@media (max-width: 480px){.shipments-table-container{border-radius:4px}.shipments-table{font-size:.7rem}}.instructions-container{max-width:1200px;margin:0 auto;padding:2rem}.instructions-header{text-align:center;margin-bottom:3rem}.instructions-header h1{font-size:2.5rem;color:var(--text-strong);margin-bottom:1rem}.instructions-header p{font-size:1.1rem;color:var(--text-muted)}.instructions-section{background:var(--bg-surface);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000000d}.instructions-section h2{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;color:var(--text-strong);margin-bottom:1.5rem}.instructions-section h2 svg{color:var(--primary)}.instruction-content{color:var(--text-main)}.instruction-content h3{font-size:1.25rem;color:var(--text-strong);margin:1.5rem 0 1rem}.instruction-content h3:first-child{margin-top:0}.instruction-content p{margin-bottom:1rem;line-height:1.6}.instruction-content ul{list-style-type:none;padding:0;margin:0 0 1.5rem}.instruction-content ul li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;line-height:1.5}.instruction-content ul li:before{content:"•";color:var(--primary);position:absolute;left:0;font-size:1.2rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.feature-card{background:var(--bg-main);border:1px solid var(--border-muted);border-radius:8px;padding:1.5rem;transition:all .3s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--border-strong)}.feature-card h4{color:var(--text-strong);font-size:1.1rem;margin-bottom:.75rem}.feature-card p{color:var(--text-muted);font-size:.95rem;margin:0}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.role-card{background:var(--bg-main);border:1px solid var(--border-muted);border-radius:8px;padding:1.5rem;transition:all .3s ease}.role-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--border-strong)}.role-card h3{color:var(--text-strong);font-size:1.1rem;margin-bottom:1rem}.role-card ul{margin:0}.role-card ul li{font-size:.95rem;color:var(--text-muted)}.lifecycle-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.step{background:var(--bg-main);border:1px solid var(--border-muted);border-radius:8px;padding:1.5rem;transition:all .3s ease;position:relative}.step:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--border-strong)}.step h4{color:var(--text-strong);font-size:1.1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.step p{color:var(--text-muted);font-size:.95rem;margin:0}@media (max-width: 768px){.instructions-container{padding:1rem}.instructions-header h1{font-size:2rem}.instructions-section{padding:1.5rem}.feature-grid,.role-grid,.lifecycle-steps{grid-template-columns:1fr}}.vendors-page{padding:2rem;max-width:1400px;margin:0 auto}.vendors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.vendors-header h1{margin:0;color:var(--text-main);font-size:2rem;font-weight:600}.vendors-actions{display:flex;gap:1rem}.vendors-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.filter-group{display:flex;gap:.5rem;align-items:center}.filter-input,.filter-select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-main);font-size:.9rem;min-width:150px}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.table-container{flex:1;display:flex;flex-direction:column;min-height:0}.vendors-table-container{background:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.vendors-table{width:max-content;min-width:100%;border-collapse:collapse;border-spacing:0;font-size:.875rem;table-layout:fixed}html,body,.vendors-page,.table-container,.vendors-table{outline:none!important}.vendors-table th,.vendors-table td{overflow:hidden;text-overflow:ellipsis;padding:12px;border-bottom:1px solid var(--border-table);vertical-align:top}.vendors-table th{background:var(--bg-dark);color:var(--text-strong);font-weight:500;text-align:left;padding:12px;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;border-bottom:2px solid var(--border-table);white-space:nowrap;position:sticky;top:0;z-index:1;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;vertical-align:top}.vendors-table th:hover{background:var(--bg-surface)}.vendors-table td{padding:12px;border-bottom:1px solid var(--border-table);transition:background-color .2s ease;overflow:hidden;text-overflow:ellipsis}.vendors-table tr{transition:all .2s ease;min-height:48px}.vendors-table tr:hover td{background:#ffffff08;transform:scale(1.001)}.vendors-table td.vendor-name{font-weight:600;letter-spacing:-.01em;max-width:120px;min-width:80px;width:120px;white-space:normal;word-wrap:break-word;line-height:1.3;display:table-cell!important;height:auto!important;flex-direction:unset!important;gap:unset!important}.vendor-name{font-weight:500;color:var(--text-strong)}.vendor-link{color:#007bff;text-decoration:none;font-weight:500;cursor:pointer;display:block;padding:.5rem 0;transition:color .2s}.vendor-link:hover{color:#0056b3;text-decoration:underline}.vendors-table .vendor-link:hover{padding:.5rem 0!important;margin:0!important;background:none!important}.vendor-address,.vendor-contact{white-space:normal;word-wrap:break-word;line-height:1.4}.vendor-address div,.vendor-contact div{margin-bottom:.25rem}.vendor-address div:last-child,.vendor-contact div:last-child{margin-bottom:0}.vendor-email{white-space:normal;word-wrap:break-word}.rating{display:flex;gap:2px}.star{color:var(--text-muted);font-size:.8rem}.star.filled{color:gold}.status{padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.actions{display:flex;gap:.5rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.page-info{color:var(--text-muted);font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-body{padding:1.5rem;flex:1;overflow-y:auto}.modal-body.scrollable{max-height:60vh;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group label{font-weight:500;color:var(--text-main);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-main);font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;cursor:pointer}@media (max-width: 768px){.vendors-page{padding:1rem}.vendors-header{flex-direction:column;gap:1rem;align-items:flex-start}.vendors-actions{width:100%;justify-content:flex-end}.vendors-filters,.filter-group{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr}.vendors-table{font-size:.8rem}.vendors-table th,.vendors-table td{padding:.5rem}.modal{width:95%;margin:1rem}}@media (max-width: 480px){.vendors-table-container{border-radius:4px}.vendors-table{font-size:.75rem}}.vendor-detail{padding:1rem;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg-base);width:100%;box-sizing:border-box}.vendor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000014;gap:1rem;overflow:hidden}[data-theme=light] .vendor-header{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 20px #0000000f}.header-actions{display:flex;gap:.75rem;align-items:center;flex-shrink:0;max-width:calc(100% - 60px)}.header-actions .btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;font-size:1rem;flex-shrink:0}.header-actions .btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.vendor-profile{display:flex;flex-direction:column}.profile-header{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000014}[data-theme=light] .profile-header{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 20px #0000000f}.profile-avatar{display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-radius:50%;font-size:1.75rem;color:#fff;box-shadow:0 4px 12px #00000026}.profile-info h1{margin:0 0 .5rem;font-size:2.25rem;font-weight:700;color:var(--text-strong);line-height:1.2}.profile-meta{display:flex;gap:1rem;align-items:center}.profile-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.profile-left,.profile-right{display:flex;flex-direction:column;gap:3rem}.profile-section{background:var(--bg-surface);border-radius:12px;padding:1.25rem;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .profile-section{box-shadow:0 4px 20px #0000000f}.profile-section h3{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:var(--text-strong);display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-muted)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-muted)}.section-header h3{margin:0;padding-bottom:0;border-bottom:none}.info-grid{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;align-items:center;gap:.75rem;padding:.6rem;background:var(--bg-main);border-radius:8px;border:1px solid var(--border-muted);transition:all .2s ease}.info-item:hover{background:var(--bg-hover);border-color:var(--primary)}.info-icon{color:var(--primary);font-size:1rem;flex-shrink:0}.info-link{color:var(--text-strong);text-decoration:none;transition:color .2s ease}.info-link:hover{color:var(--primary)}.info-text{color:var(--text-strong)}.info-label{color:var(--text-muted);font-weight:600;min-width:110px;flex-shrink:0}.address-block{display:flex;flex-direction:column;gap:.25rem}.address-name{font-weight:600;color:var(--text-strong);margin-bottom:.4rem}.address-line{color:var(--text-strong);line-height:1.4}.notes-content{background:var(--bg-main);border-radius:8px;padding:.875rem;border:1px solid var(--border-muted);min-height:70px}.notes-content p{margin:0;line-height:1.6;color:var(--text-strong)}.notes-content .no-data{color:var(--text-muted);font-style:italic}.system-info-footnote{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding:.875rem;background:var(--bg-main);border:1px solid var(--border-muted);border-radius:8px;font-size:.8rem;color:var(--text-muted);opacity:.8}@media (max-width: 1200px){.profile-content{grid-template-columns:1fr;gap:2.5rem}.profile-left,.profile-right{gap:2.5rem}}@media (max-width: 768px){.vendor-detail{padding:.75rem}.vendor-profile{gap:3.5rem}.profile-header{padding:1.25rem;gap:1rem}.profile-avatar{width:55px;height:55px;font-size:1.4rem}.profile-info h1{font-size:1.8rem}.profile-meta{gap:.75rem}.profile-content,.profile-left,.profile-right{gap:2rem}.profile-section{padding:1rem}.profile-section h3{font-size:1.15rem;margin-bottom:1rem}.info-item{padding:.5rem}.info-label{min-width:90px}}@media (max-width: 600px){.vendor-detail{padding:.6rem}.vendor-profile{gap:3rem}.profile-header{padding:1rem;flex-direction:column;text-align:center;gap:.75rem}.profile-avatar{width:45px;height:45px;font-size:1.2rem}.profile-info h1{font-size:1.6rem}.profile-meta{flex-direction:column;gap:.4rem}.profile-content,.profile-left,.profile-right{gap:1.5rem}.profile-section{padding:.75rem}.info-item{padding:.4rem;gap:.4rem}.info-label{min-width:75px;font-size:.85rem}}@media (max-width: 480px){.vendor-detail{padding:.5rem}.vendor-profile{gap:2.5rem}.profile-header{padding:.75rem}.profile-info h1{font-size:1.4rem}.profile-content,.profile-left,.profile-right{gap:1.25rem}.profile-section{padding:.6rem}.profile-section h3{font-size:1.05rem;margin-bottom:.75rem}.info-item{padding:.35rem;gap:.35rem}.info-label{min-width:65px;font-size:.75rem}.system-info-footnote{flex-direction:column;gap:.4rem;text-align:center}}@media (max-width: 400px){.vendor-detail{padding:.4rem}.vendor-profile{gap:2rem}.profile-header{padding:.6rem}.profile-info h1{font-size:1.3rem}.profile-content,.profile-left,.profile-right{gap:1rem}.profile-section{padding:.5rem}.info-item{padding:.3rem;gap:.3rem}.info-label{min-width:55px;font-size:.7rem}}@media (max-width: 320px){.vendor-detail{padding:.3rem}.vendor-profile{gap:1.75rem}.profile-header{padding:.5rem}.profile-info h1{font-size:1.2rem}.profile-content,.profile-left,.profile-right{gap:.875rem}.profile-section{padding:.4rem}.info-item{padding:.25rem;gap:.25rem}.info-label{min-width:45px;font-size:.65rem}}.vendor-parts-section{margin-top:2rem}.onboarding-container{min-height:100vh;background-color:var(--bg-primary);color:var(--text-main);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.onboarding-content{background:var(--bg-surface);padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;max-width:400px;border:1px solid var(--border-muted)}.onboarding-content h1{margin:0 0 1.5rem;color:var(--text-strong);font-size:1.5rem;font-weight:600;text-align:center}.onboarding-subtitle{color:var(--text-muted);margin-bottom:1.5rem;text-align:center;font-size:.875rem}.onboarding-form{background-color:var(--bg-primary);border:1px solid var(--border-muted);border-radius:8px;padding:1rem;margin-bottom:1rem;color:var(--text-main);font-size:1rem;transition:all .3s ease}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-strong);font-size:.875rem}.form-group input,.form-group select{padding:.75rem;border:1px solid var(--border-muted);border-radius:6px;background:var(--bg-primary);color:var(--text-main);font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.form-group select option{background-color:var(--bg-primary);color:var(--text-main);padding:.75rem}.form-actions{margin-top:1.5rem}.submit-button{width:100%;padding:.75rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover{background:var(--primary-hover)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.error-message{color:var(--danger);margin-top:1rem;padding:.75rem;background-color:#ef44441a;border-radius:6px;font-size:.875rem;text-align:center}.success-message{text-align:center;padding:2rem;animation:fadeIn .5s ease-out}.success-message h2{color:var(--success);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.success-message p{color:var(--text-muted);font-size:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-container{display:flex;justify-content:center;margin-bottom:2rem}.dashboard-link{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s ease}.dashboard-link:hover{background:var(--primary-hover);transform:translateY(-1px)}.onboarding-card{background:var(--bg-primary);border:1px solid var(--border-muted);border-radius:16px;padding:3rem;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;z-index:10}.onboarding-select{background-color:var(--bg-primary);border:1px solid var(--border-muted);border-radius:8px;padding:1rem;margin-bottom:1rem;color:var(--text-main);font-size:1rem;transition:all .3s ease}:root{--primary-rgb: 99, 102, 241;--danger-rgb: 239, 68, 68;--sidebar-width: 250px;--sidebar-collapsed-width: 80px;--sidebar-mobile-width: 240px;--sidebar-mobile-collapsed-width: 70px;--sidebar-xs-width: 200px;--sidebar-xs-collapsed-width: 65px;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-smooth-long: all .4s cubic-bezier(.4, 0, .2, 1);--border-radius: 10px;--border-radius-small: 8px;--shadow-light: 0 2px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .15);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .2)}.side-menu{width:var(--sidebar-width);height:100vh;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border-right:1px solid var(--border-muted);display:flex;flex-direction:column;transition:var(--transition-smooth-long);position:fixed;left:0;top:0;z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-light);overflow:hidden;scroll-behavior:smooth}[data-theme=light] .side-menu{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 0 20px #0000000d}.side-menu.collapsed{width:var(--sidebar-collapsed-width)}.menu-header{padding:1.5rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-muted);background:linear-gradient(to right,var(--bg-surface),transparent);position:relative;min-height:50px}[data-theme=light] .menu-header{background:linear-gradient(to right,var(--bg-surface),rgba(0,0,0,.02))}.side-menu.collapsed .menu-header{justify-content:center;padding:1.5rem .5rem}.logo-container{display:flex;align-items:center;justify-content:center;margin-right:1rem;transition:var(--transition-smooth)}.menu-logo{height:45px;width:auto;object-fit:contain;transition:var(--transition-smooth)}.side-menu.collapsed .menu-logo{height:35px}.toggle-button{all:unset;cursor:pointer;color:var(--text-muted);width:40px;height:40px;border-radius:var(--border-radius);transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}[data-theme=light] .toggle-button{background:#0000000d;border:1px solid rgba(0,0,0,.1)}.toggle-button .arrow{font-size:1.25rem;transition:var(--transition-smooth-long);transform-origin:center;line-height:1;display:flex;align-items:center;justify-content:center}.side-menu.collapsed .toggle-button .arrow{transform:rotate(180deg)}.toggle-button:hover{color:var(--text-strong);background:#ffffff1a;transform:translateY(-2px);box-shadow:var(--shadow-medium);border-color:#fff3}[data-theme=light] .toggle-button:hover{background:#0000001a;border-color:#0003;box-shadow:0 4px 12px #0000001a}.toggle-button:hover .arrow{color:var(--primary);transform:scale(1.1)}.side-menu.collapsed .toggle-button:hover .arrow{transform:rotate(180deg) scale(1.1)}.menu-nav{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 0}.menu-items{flex:1;display:flex;flex-direction:column;padding:.5rem 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-muted) transparent}.menu-items::-webkit-scrollbar{width:4px}.menu-items::-webkit-scrollbar-track{background:transparent}.menu-items::-webkit-scrollbar-thumb{background-color:var(--border-muted);border-radius:2px;transition:var(--transition-smooth)}.menu-items::-webkit-scrollbar-thumb:hover{background-color:var(--border-hover)}.menu-item{all:unset;display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;font-size:1rem;color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);margin:.25rem .75rem;border-radius:var(--border-radius);position:relative;overflow:hidden;background:transparent;font-weight:500;letter-spacing:.025em}.menu-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff0,#ffffff08,#fff0);opacity:0;transition:var(--transition-smooth);transform:translate(-100%)}[data-theme=light] .menu-item:before{background:linear-gradient(135deg,#0000,#00000008,#0000)}.menu-item:hover:before{opacity:1;transform:translate(0)}.menu-item:hover{color:var(--text-strong);background:#ffffff0d;transform:translate(4px);box-shadow:var(--shadow-light)}[data-theme=light] .menu-item:hover{background:#0000000d;box-shadow:0 2px 8px #0000000d}.menu-item svg{font-size:1.25rem;transition:var(--transition-smooth);min-width:1.25rem;display:flex;align-items:center;justify-content:center}.menu-item:hover svg{color:var(--primary);transform:scale(1.1)}.menu-item.active{color:var(--primary);background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--primary-rgb),.05));border:1px solid rgba(var(--primary-rgb),.2);box-shadow:0 4px 12px rgba(var(--primary-rgb),.15)}.menu-item.active svg{color:var(--primary)}.menu-item.active:before{background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--primary-rgb),.05),rgba(var(--primary-rgb),.1));opacity:1;transform:translate(0)}.menu-item span{opacity:1;width:auto;margin-left:0;transition:var(--transition-smooth-long);white-space:nowrap;overflow:hidden;font-weight:500}.side-menu.collapsed .menu-item{justify-content:center;padding:.875rem;margin:.25rem .5rem;opacity:1;position:relative}.side-menu.collapsed .menu-item svg{margin:0}.side-menu.collapsed .menu-item:hover:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:var(--bg-surface);color:var(--text-strong);padding:.5rem .75rem;border-radius:var(--border-radius-small);font-size:.85rem;white-space:nowrap;box-shadow:var(--shadow-heavy);opacity:0;pointer-events:none;transition:var(--transition-smooth);margin-left:.75rem;border:1px solid var(--border-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .side-menu.collapsed .menu-item:hover:after{box-shadow:0 4px 16px #0000001a}.side-menu.collapsed .menu-item:hover:after{opacity:1;margin-left:1rem}.menu-footer{border-top:1px solid var(--border-muted);padding:1rem 0;background:linear-gradient(to top,var(--bg-surface),transparent)}[data-theme=light] .menu-footer{background:linear-gradient(to top,var(--bg-surface),rgba(0,0,0,.02))}.user-profile-section{position:relative;margin-bottom:.5rem}.user-profile-trigger{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;border-radius:var(--border-radius);margin:0 .75rem;transition:var(--transition-smooth);background:#ffffff08;border:1px solid rgba(255,255,255,.05)}[data-theme=light] .user-profile-trigger{background:#00000008;border:1px solid rgba(0,0,0,.05)}.user-profile-trigger:hover{background:#ffffff14;transform:translateY(-1px);box-shadow:var(--shadow-light)}[data-theme=light] .user-profile-trigger:hover{background:#00000014;box-shadow:0 4px 12px #0000000d}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3);transition:var(--transition-smooth)}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(var(--primary-rgb),.4)}.user-initials{font-weight:600;letter-spacing:.5px}.user-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:var(--transition-smooth)}.user-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:600;color:var(--text-strong);font-size:1rem;line-height:1.2}.user-role{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dropdown-arrow{font-size:.75rem;color:var(--text-muted);transition:var(--transition-smooth)}.dropdown-arrow.rotated{transform:rotate(180deg)}.user-dropdown{position:absolute;bottom:100%;left:.75rem;right:.75rem;background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:12px;box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1);z-index:1001}[data-theme=light] .user-dropdown{box-shadow:0 8px 32px #0000001a}.dropdown-header{padding:1rem;border-bottom:1px solid var(--border-muted);background:linear-gradient(135deg,var(--bg-surface),rgba(255,255,255,.02))}[data-theme=light] .dropdown-header{background:linear-gradient(135deg,var(--bg-surface),rgba(0,0,0,.02))}.dropdown-user-info{display:flex;align-items:center;gap:.75rem}.dropdown-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3);flex-shrink:0}.dropdown-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.dropdown-initials{font-weight:600;letter-spacing:.5px}.dropdown-user-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.dropdown-name{font-weight:600;color:var(--text-strong);font-size:.95rem}.dropdown-email{font-size:.8rem;color:var(--text-muted);font-weight:500}.dropdown-role{font-size:.7rem;color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dropdown-actions{padding:.5rem}.dropdown-item{all:unset;display:flex;align-items:center;gap:.75rem;padding:.75rem;width:100%;border-radius:var(--border-radius-small);cursor:pointer;transition:var(--transition-smooth);color:var(--text-main);font-size:.875rem;font-weight:500}.dropdown-item:hover{background:#ffffff0d;color:var(--text-strong);transform:translate(2px)}[data-theme=light] .dropdown-item:hover{background:#0000000d}.dropdown-item svg{font-size:1rem;color:var(--text-muted);transition:var(--transition-smooth)}.dropdown-item:hover svg{color:var(--primary)}.dropdown-item.logout{color:var(--danger)}.dropdown-item.logout:hover{background:rgba(var(--danger-rgb),.1);color:var(--danger)}.dropdown-item.logout svg{color:var(--danger)}.settings-trigger{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;border-radius:var(--border-radius);margin:0 .75rem;transition:var(--transition-smooth);background:#ffffff08;border:1px solid rgba(255,255,255,.05);color:var(--text-main);font-weight:500;font-size:1rem;text-decoration:none}[data-theme=light] .settings-trigger{background:#00000008;border:1px solid rgba(0,0,0,.05)}.settings-trigger:hover{background:#ffffff14;transform:translateY(-1px);box-shadow:var(--shadow-light);color:var(--text-strong)}[data-theme=light] .settings-trigger:hover{background:#00000014;box-shadow:0 4px 12px #0000000d;color:var(--text-strong)}.settings-trigger svg{font-size:1.125rem;transition:var(--transition-smooth)}.settings-trigger:hover svg{color:var(--primary);transform:rotate(15deg)}.dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;animation:fadeIn .2s ease}[data-theme=light] .dropdown-backdrop{background:#0003}.in-app-content{margin-left:calc(var(--sidebar-width) + 30px);transition:margin-left var(--transition-smooth-long)}.in-app-content.sidebar-collapsed{margin-left:calc(var(--sidebar-collapsed-width) + 30px)}@media (max-width: 768px){.side-menu.collapsed .menu-item{padding:.75rem .5rem;margin:.25rem;min-height:44px}.side-menu.collapsed .user-profile-trigger{padding:.75rem 0!important;margin:.25rem auto!important;justify-content:center!important;width:55px!important;display:flex!important;align-items:center!important;min-height:44px}.side-menu.collapsed .settings-trigger{padding:.75rem!important;margin:.25rem!important;justify-content:center!important;width:auto!important;display:flex!important;align-items:center!important;min-height:44px}.side-menu.collapsed .user-avatar{width:36px!important;height:36px!important;font-size:.75rem!important;margin:0!important}.side-menu.collapsed .settings-trigger svg{font-size:1.3rem!important;margin:0!important}.side-menu.collapsed .menu-logo{height:32px}.side-menu.collapsed .menu-item:hover:after,.side-menu.collapsed .user-profile-trigger:hover:after,.side-menu.collapsed .settings-trigger:hover:after{display:none!important}.in-app-content{margin-left:calc(var(--sidebar-mobile-width) + 30px)}.in-app-content.sidebar-collapsed{margin-left:calc(var(--sidebar-mobile-collapsed-width) + 30px)}.user-dropdown{position:fixed;bottom:80px;left:1rem;right:1rem;max-width:300px;margin:0 auto}}@media (max-width: 480px){.side-menu{width:var(--sidebar-xs-width)}.side-menu.collapsed{width:var(--sidebar-xs-collapsed-width)}.side-menu.collapsed .user-profile-trigger{width:50px!important;padding:.6rem 0!important;min-height:44px}.side-menu.collapsed .settings-trigger{padding:.6rem!important;margin:.25rem!important;width:auto!important;min-height:44px}.side-menu.collapsed .user-avatar{width:32px!important;height:32px!important;font-size:.7rem!important}.side-menu.collapsed .settings-trigger svg{font-size:1.2rem!important}.side-menu.collapsed .menu-logo{height:28px}.in-app-content{margin-left:calc(var(--sidebar-xs-width) + 30px)}.in-app-content.sidebar-collapsed{margin-left:calc(var(--sidebar-xs-collapsed-width) + 30px)}}.side-menu.collapsed .user-profile-trigger,.side-menu.collapsed .settings-trigger{justify-content:center;padding:.75rem;margin:0 .5rem}.side-menu.collapsed .user-info,.side-menu.collapsed .settings-trigger span,.side-menu.collapsed .dropdown-arrow{display:none}.side-menu.collapsed .user-avatar{width:35px;height:35px;font-size:.75rem}.side-menu.collapsed .user-profile-trigger:hover:after,.side-menu.collapsed .settings-trigger:hover:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:var(--bg-surface);color:var(--text-strong);padding:.5rem .75rem;border-radius:var(--border-radius-small);font-size:.85rem;white-space:nowrap;box-shadow:var(--shadow-heavy);opacity:0;pointer-events:none;transition:var(--transition-smooth);margin-left:.75rem;border:1px solid var(--border-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1002}[data-theme=light] .side-menu.collapsed .user-profile-trigger:hover:after,[data-theme=light] .side-menu.collapsed .settings-trigger:hover:after{box-shadow:0 4px 16px #0000001a}.side-menu.collapsed .user-profile-trigger:hover:after,.side-menu.collapsed .settings-trigger:hover:after{opacity:1;margin-left:1rem}.side-menu.collapsed .user-profile-trigger,.side-menu.collapsed .settings-trigger{cursor:pointer;transition:var(--transition-smooth)}.side-menu.collapsed .user-profile-trigger:hover,.side-menu.collapsed .settings-trigger:hover{background:#ffffff14;transform:translateY(-1px);box-shadow:var(--shadow-light)}[data-theme=light] .side-menu.collapsed .user-profile-trigger:hover,[data-theme=light] .side-menu.collapsed .settings-trigger:hover{background:#00000014;box-shadow:0 4px 12px #0000000d}.side-menu.collapsed .user-profile-trigger:hover .user-avatar,.side-menu.collapsed .settings-trigger:hover svg{transform:scale(1.05)}.side-menu.collapsed .settings-trigger:hover svg{color:var(--primary)}.menu-item:focus-visible,.toggle-button:focus-visible,.user-profile-trigger:focus-visible,.settings-trigger:focus-visible,.dropdown-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--border-radius)}.user-profile-section.loading .user-avatar{background:linear-gradient(90deg,var(--border-muted) 25%,var(--border-hover) 50%,var(--border-muted) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.notification-dropdown{position:relative;display:inline-block}.notification-trigger{background:none;border:none;color:var(--text-muted);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1.25rem;position:relative}.notification-trigger:hover{color:var(--text-strong);background:#0000000d}.notification-badge{position:absolute;top:.25rem;right:.25rem;background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:600}.notification-panel{position:absolute;top:100%;right:0;width:360px;max-height:480px;background:#fff;border:1px solid var(--border-muted);border-radius:8px;box-shadow:0 10px 25px #0000001a;z-index:1000;overflow:hidden;margin-top:.5rem}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-muted);background:var(--bg-surface)}.notification-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-strong)}.mark-all-read{background:none;border:none;color:var(--text-muted);padding:.25rem;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.75rem}.mark-all-read:hover{color:var(--primary);background:#6366f11a}.notification-list{max-height:360px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;padding:1rem;border-bottom:1px solid var(--border-muted);cursor:pointer;transition:all .2s ease;gap:.75rem}.notification-item:hover{background:var(--bg-surface)}.notification-item.unread{background:#6366f10d}.notification-item.unread:hover{background:#6366f11a}.notification-content{display:flex;align-items:flex-start;gap:.75rem;flex:1}.notification-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;flex-shrink:0}.notification-icon.info{background:#3b82f61a;color:#3b82f6}.notification-icon.warning{background:#f59e0b1a;color:#f59e0b}.notification-icon.success{background:#22c55e1a;color:#22c55e}.notification-icon.error{background:#ef44441a;color:#ef4444}.notification-text{flex:1;min-width:0}.notification-text h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-strong);line-height:1.3}.notification-text p{margin:0 0 .5rem;font-size:.8rem;color:var(--text-muted);line-height:1.4}.notification-time{font-size:.7rem;color:var(--text-muted)}.mark-read-btn{background:none;border:none;color:var(--text-muted);padding:.25rem;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.75rem;flex-shrink:0}.mark-read-btn:hover{color:var(--primary);background:#6366f11a}.no-notifications{padding:2rem;text-align:center;color:var(--text-muted)}.no-notifications p{margin:0;font-size:.875rem}.notification-footer{padding:1rem;border-top:1px solid var(--border-muted);text-align:center}.view-all-btn{background:none;border:none;color:var(--primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease}.view-all-btn:hover{color:var(--primary-hover)}@media (prefers-color-scheme: dark){.notification-panel{background:var(--bg-surface);border-color:var(--border-muted)}.notification-item:hover{background:#ffffff0d}.notification-item.unread{background:#6366f11a}.notification-item.unread:hover{background:#6366f126}}@media (max-width: 480px){.notification-panel{width:320px;right:-1rem}}.app-header{position:fixed;top:0;left:0;right:0;height:48px;background:var(--bg-surface);border-bottom:1px solid var(--border-muted);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2}.header-left{display:flex;align-items:center}.header-logo{height:24px;width:auto}.header-right{display:flex;align-items:center;gap:.5rem}.header-icon-btn{background:none;border:none;color:var(--text-muted);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.header-icon-btn:hover{color:var(--text-strong);background:#0000000d}.header-icon-btn:active{transform:scale(.95)}@media (prefers-color-scheme: dark){.app-header{background:#111827f2;border-bottom-color:var(--border-muted)}.header-icon-btn:hover{background:#ffffff1a}}.app-container{display:flex;min-height:100vh;background-color:var(--bg-primary);width:100%;position:relative}[data-theme=light] .app-container{background-color:var(--bg-primary)}.main-content{flex:1;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);margin-left:250px;width:calc(100% - 250px);padding:2rem;padding-top:calc(2rem + 48px);overflow-x:hidden;box-sizing:border-box;background:var(--bg-primary)}[data-theme=light] .main-content{background:var(--bg-primary)}.main-content.sidebar-collapsed{margin-left:80px;width:calc(100% - 80px)}.content-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;position:relative}@media (max-width: 1024px){.main-content{margin-left:250px;width:calc(100% - 250px);padding:1.5rem;padding-top:calc(1.5rem + 48px)}.main-content.sidebar-collapsed{margin-left:80px;width:calc(100% - 80px)}}@media (max-width: 768px){.main-content{margin-left:70px;width:calc(100% - 70px);padding:1rem;padding-top:calc(1rem + 48px)}.main-content.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px)}}@media (max-width: 480px){.main-content{margin-left:65px;width:calc(100% - 65px);padding:.75rem;padding-top:calc(.75rem + 48px)}.main-content.sidebar-collapsed{margin-left:65px;width:calc(100% - 65px)}}@media (max-width: 768px){.main-content{min-height:calc(100vh - 2rem)}.main-content>*{margin-bottom:1rem}.main-content{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}}@media (max-width: 480px){.main-content{padding:.5rem}.main-content>*{margin-bottom:.75rem}}.in-app-layout{display:flex;min-height:100vh;background:var(--bg-primary);width:100%;position:relative}[data-theme=light] .in-app-layout{background:var(--bg-primary)}.in-app-content{flex:1;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);margin-left:400px;width:calc(100% - 400px);padding:4rem;overflow-x:hidden;box-sizing:border-box;background:var(--bg-primary)}[data-theme=light] .in-app-content{background:var(--bg-primary)}.in-app-content.sidebar-collapsed{margin-left:160px;width:calc(100% - 160px)}.in-app-content.mobile{padding:1rem}@media (max-width: 1024px){.in-app-content{margin-left:400px;width:calc(100% - 400px);padding:3rem}.in-app-content.sidebar-collapsed{margin-left:160px;width:calc(100% - 160px)}}@media (max-width: 768px){.in-app-content{margin-left:70px;width:calc(100% - 70px);padding:1rem}.in-app-content.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px)}}@media (max-width: 480px){.in-app-content{margin-left:65px;width:calc(100% - 65px);padding:.75rem}.in-app-content.sidebar-collapsed{margin-left:65px;width:calc(100% - 65px)}}.nav-header{position:sticky;top:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;background-color:#1e293bcc;padding:1rem 2rem;border-bottom:1px solid var(--border-muted);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.nav-header:hover{background-color:#1e293bf2;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:transform .3s ease}.nav-logo:hover{transform:translateY(-1px)}.nav-logo img{height:32px;width:auto;transition:transform .3s ease}.nav-logo:hover img{transform:scale(1.05)}.nav-logo span{font-size:1.25rem;font-weight:700;background:linear-gradient(to right,var(--primary),var(--primary-hover));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:opacity .3s ease}.nav-logo:hover span{opacity:.9}.nav-left a{font-size:1.25rem;font-weight:700;color:var(--primary);text-decoration:none}.nav-right{display:flex;align-items:center;gap:1rem}.timezone-indicator{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--bg-subtle);border-radius:4px;font-size:.8rem;color:var(--text-muted);border:1px solid var(--border-muted)}.timezone-label{font-weight:500}.timezone-value{font-family:Courier New,monospace;color:var(--text-strong)}.nav-right a{color:var(--text-main);font-weight:500;text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;border:1px solid transparent;background:transparent}.nav-right a:hover{color:var(--primary);background-color:#6366f11a;border-color:var(--primary);transform:translateY(-1px)}.nav-right a[href="/login"]{background:transparent;color:var(--text-main);border:1px solid var(--border-muted)}.nav-right a[href="/login"]:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.nav-right a[href="/quote"]{background:var(--primary);color:#fff;border:1px solid var(--primary);font-weight:600}.nav-right a[href="/quote"]:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff;box-shadow:0 4px 12px #6366f14d}@media (max-width: 640px){.nav-header{padding:.75rem 1rem}.nav-logo span{font-size:1.1rem}.nav-logo img{height:28px}.nav-right{gap:.75rem}.nav-right a{padding:.4rem .75rem;font-size:.95rem}}.product-detail{padding:1.5rem;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg-base)}.product-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000014}[data-theme=light] .product-header{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 20px #0000000f}.header-actions{display:flex;gap:.75rem}.product-content{display:flex;flex-direction:column;gap:2rem}.product-main-info{text-align:center;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,255,255,.02) 100%);border:1px solid var(--border-muted);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000014;animation:slideInDown .8s ease-out .2s both}[data-theme=light] .product-main-info{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(0,0,0,.02) 100%);box-shadow:0 4px 20px #0000000f}.product-main-info h1{margin:0 0 1rem;font-size:2.5rem;font-weight:700;color:var(--text-strong);background:linear-gradient(135deg,var(--text-strong),var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}.product-meta{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.product-type{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.product-id{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--bg-hover);color:var(--text-muted);border-radius:20px;font-size:.9rem;font-weight:500;border:1px solid var(--border-muted)}.product-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.detail-section{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;animation:slideInUp .8s ease-out}[data-theme=light] .detail-section{box-shadow:0 4px 20px #0000000f}.detail-section h3{margin:0 0 1.5rem;font-size:1.3rem;font-weight:600;color:var(--text-strong);position:relative;padding-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.detail-section h3:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:2px}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding:1rem;background:var(--bg-main);border-radius:8px;border:1px solid var(--border-muted);transition:all .2s ease;position:relative;overflow:hidden}.detail-item:last-child{margin-bottom:0}.detail-item:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.detail-item label{color:var(--text-muted);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:140px;flex-shrink:0}.detail-item span{color:var(--text-strong);font-size:1rem;font-weight:500;text-align:right;flex:1;margin-left:1rem;word-wrap:break-word;line-height:1.5}.detail-item .description{text-align:left!important;white-space:pre-wrap;max-width:100%}.detail-item .price{color:var(--primary);font-weight:700;font-size:1.1rem;position:relative;padding:.25rem .75rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--primary-rgb),.05));border-radius:8px;border:1px solid rgba(var(--primary-rgb),.2);transition:all .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-surface);border-radius:12px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;border:1px solid var(--border-muted);animation:modalSlideIn .3s ease-out;position:relative;overflow:hidden;scrollbar-width:thin;scrollbar-color:var(--border-muted) transparent}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:4px}.modal::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-muted)}.modal-header h2{margin:0;color:var(--text-main);font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;font-size:1.8rem;color:var(--text-muted);cursor:pointer;padding:.5rem;line-height:1;transition:all .2s ease;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:var(--text-main);background:var(--bg-hover)}.form-grid{display:flex;flex-direction:column;gap:1.5rem;max-height:calc(90vh - 200px);overflow-y:auto;padding-right:.5rem}.form-grid::-webkit-scrollbar{width:6px}.form-grid::-webkit-scrollbar-track{background:transparent}.form-grid::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:3px}.form-grid::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group.full-width{width:100%}.form-group label{color:var(--text-strong);font-size:.95rem;font-weight:600}.form-group input,.form-group textarea,.form-group select{padding:.875rem 1rem;border:2px solid var(--border-muted);border-radius:10px;background:var(--bg-main);color:var(--text-strong);font-size:1rem;transition:all .2s ease;min-height:48px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--bg-surface)}.form-group input:hover,.form-group textarea:hover,.form-group select:hover{border-color:var(--border-strong)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:100px;line-height:1.5}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.section-title{color:var(--text-strong);font-size:1.1rem;font-weight:600;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-muted);position:relative}.section-title:after{content:"";position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:var(--primary);border-radius:1px}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--border-muted)}.delete-confirm-modal{max-width:500px}.delete-confirm-modal .modal-content{text-align:center;padding:1rem 0}.delete-confirm-modal .modal-content h3{margin:0 0 1rem;color:var(--danger);font-size:1.3rem;font-weight:600}.delete-confirm-modal .modal-content p{margin:0 0 1.5rem;color:var(--text-strong);font-size:1rem;line-height:1.6}.error-container{display:flex;justify-content:center;align-items:center;min-height:400px}.error-message{text-align:center;background:var(--bg-surface);padding:3rem;border-radius:12px;border:1px solid var(--border-muted);box-shadow:0 4px 20px #00000014;max-width:500px}.error-message h3{color:var(--danger);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.error-message p{color:var(--text-strong);margin:0 0 2rem;font-size:1rem;line-height:1.6}.retry-button{background:var(--primary);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.form-group input[readonly]{background:linear-gradient(135deg,var(--bg-subtle) 0%,rgba(255,255,255,.02) 100%);color:var(--text-muted);border-color:var(--border-muted);cursor:not-allowed;position:relative}.form-group input[readonly]:before{content:"Auto-calculated";position:absolute;top:-20px;right:0;font-size:.75rem;color:var(--text-muted);font-style:italic}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:12px 12px 0 0}.detail-item{position:relative;overflow:hidden}.detail-section h3{display:flex;align-items:center;gap:.75rem}.detail-section h3:before{content:"";width:20px;height:20px;background:var(--primary);border-radius:50%;opacity:.8}.detail-item .price{position:relative;padding:.25rem .75rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--primary-rgb),.05));border-radius:8px;border:1px solid rgba(var(--primary-rgb),.2);font-weight:700;font-size:1.1rem;color:var(--primary);transition:all .3s ease}@media (max-width: 1200px){.product-details-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width: 768px){.product-detail{padding:1rem}.product-header{flex-direction:column;gap:1rem;align-items:stretch}.product-main-info h1{font-size:2rem}.product-meta{flex-direction:column;gap:1rem}.detail-section{padding:1.5rem}.detail-item{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-item label{min-width:auto}.detail-item span{text-align:left;margin-left:0}.detail-item .description{text-align:left!important}.modal{width:95%;margin:1rem}.form-grid{padding:1rem}.error-message{margin:1rem}.product-main-info{padding:1.5rem}.detail-item{padding:.75rem}.detail-item .price{font-size:.9rem}}@media (max-width: 480px){.product-main-info h1{font-size:1.75rem}.product-type,.product-id{font-size:.8rem;padding:.4rem .8rem}.detail-section h3{font-size:1.2rem}.detail-item{padding:.5rem}.error-message{padding:1.5rem}.error-message h3{font-size:1.3rem}.detail-item label{font-size:.8rem}.detail-item span{font-size:.9rem}.detail-section.basic-info{grid-column:1 / -1}.detail-section.pricing-info,.detail-section.additional-info{display:flex;flex-direction:column;gap:1.5rem}}
