.home-page{min-height:100vh;background:#0a0e27;color:#fff;overflow-x:hidden}.home-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0e27f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:1rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo-section{display:flex;align-items:center;gap:.75rem}.home-logo{height:32px;width:auto}.logo-text{font-size:1.5rem;font-weight:700;color:#fff}.logo-accent{color:#00d4aa}.header-nav{display:flex;align-items:center;gap:2rem}.header-nav a{color:#fffc;text-decoration:none;transition:color .2s}.header-nav a:hover{color:#fff}.btn-text{background:none;border:none;color:#fffc;cursor:pointer;font-size:1rem;transition:color .2s}.btn-text:hover{color:#fff}.btn-primary{background:#00d4aa;color:#0a0e27;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#00b894;transform:translateY(-2px)}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:8rem 2rem 4rem;overflow:hidden}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(0,212,170,.15) 0%,transparent 70%)}.hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px}.hero-content{position:relative;z-index:1;max-width:900px;text-align:center}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem;background:linear-gradient(135deg,#fff,#00d4aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{display:block;font-size:1.5rem;font-weight:400;color:#ffffffb3;margin-top:.5rem}.hero-description{font-size:1.25rem;color:#ffffffb3;line-height:1.6;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-hero-primary{background:#00d4aa;color:#0a0e27;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-hero-primary:hover{background:#00b894;transform:translateY(-2px);box-shadow:0 10px 30px #00d4aa4d}.btn-hero-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-hero-secondary:hover{border-color:#fff;background:#ffffff1a}.section-container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:3rem;color:#fff}.features-section{padding:6rem 0;background:#ffffff05}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;transition:all .3s}.feature-card:hover{background:#ffffff14;border-color:#00d4aa80;transform:translateY(-4px)}.feature-icon{width:64px;height:64px;background:linear-gradient(135deg,#00d4aa,#00b894);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:#0a0e27}.feature-card h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff}.feature-card p{color:#ffffffb3;line-height:1.6}.benefits-section{padding:6rem 0}.benefits-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.benefit-item{display:flex;gap:1.5rem;align-items:flex-start}.benefit-item svg{color:#00d4aa;flex-shrink:0;margin-top:.25rem}.benefit-item h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#fff}.benefit-item p{color:#ffffffb3;line-height:1.6}.cta-section{padding:6rem 0;background:linear-gradient(135deg,#00d4aa1a,#00b8941a);text-align:center}.cta-section h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#fff}.cta-section p{font-size:1.25rem;color:#ffffffb3;margin-bottom:2rem}.btn-cta{background:#00d4aa;color:#0a0e27;border:none;padding:1.25rem 2.5rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.btn-cta:hover{background:#00b894;transform:translateY(-2px);box-shadow:0 10px 30px #00d4aa4d}.home-footer{padding:3rem 0;border-top:1px solid rgba(255,255,255,.1);background:#0000004d}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center}.footer-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.footer-logo-img{height:32px;width:auto}.footer-copyright{color:#ffffff80;margin-bottom:.75rem}.footer-license{color:#fff6;font-size:.875rem;line-height:1.6}.footer-license a{color:#00d4aa;text-decoration:none;transition:color .2s}.footer-license a:hover{color:#00b894;text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem}.modal-content{background:#1a1f3a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;max-width:500px;width:100%;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:#ffffff1a;color:#fff}.modal-content h2{font-size:2rem;font-weight:700;margin-bottom:2rem;color:#fff}.form-group{margin-bottom:1.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;color:#ffffffe6;font-weight:500;margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#00d4aa;background:#ffffff14}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem}.btn-submit{width:100%;background:#00d4aa;color:#0a0e27;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit:hover:not(:disabled){background:#00b894;transform:translateY(-2px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.success-content{text-align:center;padding:1rem 0}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#00d4aa,#00b894);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;color:#0a0e27}.success-content h2{font-size:1.75rem;font-weight:700;margin-bottom:1rem;color:#fff}.success-content p{color:#fffc;line-height:1.6;margin-bottom:1rem}.success-content p strong{color:#00d4aa;font-weight:600}.success-actions{margin-top:2rem}.contact-section{padding:6rem 2rem;background:linear-gradient(135deg,rgba(0,212,170,.03) 0%,transparent 100%)}.contact-subtitle{text-align:center;color:#ffffffb3;font-size:1.1rem;margin-top:-1rem;margin-bottom:3rem}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;max-width:1000px;margin:0 auto}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-info-item{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:#00d4aa0d;border:1px solid rgba(0,212,170,.1);border-radius:12px}.contact-info-item svg{color:#00d4aa;flex-shrink:0;margin-top:.25rem}.contact-info-item h4{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.5rem}.contact-info-item p{font-size:.9rem;color:#ffffffb3;margin:0}.contact-info-item a{color:#00d4aa;text-decoration:none;font-size:.95rem;transition:color .2s}.contact-info-item a:hover{color:#00b894}.contact-form{background:#0a0e27cc;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem}.contact-form .form-group{margin-bottom:1.25rem}.contact-form .form-group label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#fffc;margin-bottom:.5rem}.contact-form .form-group label svg{color:#00d4aa}.contact-form .form-group input,.contact-form .form-group textarea{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;transition:all .2s}.contact-form .form-group input::placeholder,.contact-form .form-group textarea::placeholder{color:#fff6}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:#00d4aa;background:#00d4aa0d}.contact-form .form-group textarea{resize:vertical;min-height:120px}.contact-form .btn-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.success-message{display:flex;align-items:center;gap:.75rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem}.success-message svg{flex-shrink:0}.user-type-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:#ffffff08;border-radius:8px}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:6px;color:#fff9;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#ffffff0d;color:#fffc}.tab-btn.active{background:#00d4aa26;color:#00d4aa}.tab-btn svg{flex-shrink:0}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1.1rem}.header-nav a{display:none}.features-grid,.benefits-list,.contact-content{grid-template-columns:1fr}.contact-info{order:2}.contact-form{order:1}}.email-confirm-page{min-height:100vh;background:#0a0e27;display:flex;align-items:center;justify-content:center;padding:2rem}.confirm-container{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:3rem;max-width:500px;width:100%;text-align:center}.confirm-icon{margin:0 auto 2rem;display:block}.confirm-icon.success{color:#00d4aa}.confirm-icon.error{color:#ef4444}.confirm-icon.spinning{animation:spin 1s linear infinite;color:#00d4aa}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confirm-container h1{font-size:2rem;font-weight:700;color:#fff;margin-bottom:1rem}.confirm-container p{color:#ffffffb3;line-height:1.6;margin-bottom:1rem}.redirect-message{color:#ffffff80;font-size:.9rem}.btn-back{background:#00d4aa;color:#0a0e27;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1.5rem}.btn-back:hover{background:#00b894;transform:translateY(-2px)}.invite-accept-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a0f,#1a1a2e);padding:2rem}.invite-container{width:100%;max-width:500px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:3rem 2rem}.invite-status{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.invite-status h2{font-size:1.5rem;color:var(--text-primary);margin:0}.invite-status p{color:var(--text-secondary);margin:0;line-height:1.6}.invite-status.loading svg{color:var(--accent-primary)}.invite-status.success svg{color:#10b981}.success-icon-wrapper{width:96px;height:96px;background:#10b98126;border-radius:50%;display:flex;align-items:center;justify-content:center}.customer-info-box{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#00d4aa14;border:1px solid rgba(0,212,170,.2);border-radius:8px;margin-top:1rem;width:100%}.customer-info-box svg{color:var(--accent-primary);flex-shrink:0}.customer-info-box>div{text-align:left}.customer-name{font-weight:600;color:var(--text-primary);font-size:1.1rem;margin:0 0 .25rem}.customer-detail{font-size:.9rem;color:var(--text-secondary);margin:0}.redirect-hint{font-size:.85rem;color:var(--text-muted);margin-top:1rem}.invite-status.error svg{color:#ef4444}.btn-back{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#0a0a0f;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-back:hover{background:#00b894}.invite-status.login-required svg{color:var(--accent-primary)}.invite-forms{width:100%;margin-top:1.5rem}.customer-info-preview{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#00d4aa14;border:1px solid rgba(0,212,170,.2);border-radius:8px;margin:1rem 0}.customer-info-preview svg{color:var(--accent-primary);flex-shrink:0}.customer-info-preview>div{text-align:left}.customer-name-preview{font-weight:600;color:var(--text-primary);font-size:1rem;margin:0 0 .25rem}.invite-message{font-size:.85rem;color:var(--text-secondary);margin:0}.auth-form{width:100%}.auth-form h3{font-size:1.1rem;color:var(--text-primary);margin:0 0 1.5rem;text-align:center}.auth-form form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.form-group label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);font-weight:500}.form-group input{padding:.875rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d4aa1a}.form-error{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.9rem;text-align:center}.btn-primary{padding:.875rem 1.5rem;background:var(--accent-primary);color:#0a0a0f;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.btn-primary:hover:not(:disabled){background:#00b894}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--accent-primary);font-size:.9rem;cursor:pointer;padding:.5rem;margin-top:1rem;text-decoration:underline}.btn-link:hover{color:#00b894}.login-actions{display:flex;gap:.75rem;margin-top:1rem;width:100%}.login-actions .btn-primary,.login-actions .btn-secondary{flex:1;padding:.875rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.login-actions .btn-primary{background:var(--accent-primary);color:#0a0a0f}.login-actions .btn-primary:hover{background:#00b894}.login-actions .btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.login-actions .btn-secondary:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.sidebar-logo-img{width:36px;height:36px;object-fit:contain;border-radius:var(--radius-sm)}.sidebar-logo{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#000}.sidebar-header span{font-size:1.25rem;font-weight:600}.sidebar-nav{flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all .2s ease;margin-bottom:.25rem}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:#00d4aa1a;color:var(--accent-primary)}.nav-badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:600;border-radius:10px;margin-left:auto}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;border-top:1px solid var(--border-color)}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-primary),#00b894);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:600;color:#000}.user-avatar.user{background:linear-gradient(135deg,var(--accent-secondary),#0284c7)}.user-details{display:flex;flex-direction:column}.user-name{font-weight:500;font-size:.95rem}.user-role{font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.user-company{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted)}.logout-btn{width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.logout-btn:hover{background:var(--accent-danger);border-color:var(--accent-danger);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stats-grid.user-stats{grid-template-columns:repeat(2,1fr);max-width:500px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.stat-card:hover{border-color:var(--border-light);transform:translateY(-2px)}.stat-card.highlight{border-color:var(--accent-primary);box-shadow:0 0 20px #00d4aa1a}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon.total{background:#94a3b826;color:var(--text-secondary)}.stat-icon.pending{background:#f59e0b26;color:var(--status-pending)}.stat-icon.reviewing{background:#0ea5e926;color:var(--status-reviewing)}.stat-icon.completed{background:#10b98126;color:var(--status-completed)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:600;line-height:1}.stat-label{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.375rem;background:var(--bg-secondary);border-radius:var(--radius-md);width:fit-content}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.project-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;text-decoration:none;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem}.project-card:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg),0 0 30px #00d4aa1a}.project-card-header{display:flex;align-items:center;justify-content:space-between}.card-arrow{color:var(--text-muted);transition:all .2s ease}.project-card:hover .card-arrow{color:var(--accent-primary);transform:translate(4px)}.project-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.revision-badge{display:inline-flex;align-items:center;padding:2px 8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;white-space:nowrap}.project-part{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);margin:0}.project-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.meta-item.deadline{color:#ef4444;font-weight:500}.meta-item.deadline.normal{color:var(--text-secondary)}.meta-item.deadline.warning{color:#f59e0b;font-weight:600}.meta-item.deadline.urgent{color:#ef4444;font-weight:700}.meta-item.deadline.overdue{color:#ef4444;font-weight:700;background:#ef444426;padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.3)}.meta-item.deadline .days-remaining{font-size:.85em;font-weight:600;margin-left:.25rem}.project-progress{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.progress-header{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-grid,.projects-grid{grid-template-columns:1fr}}.invite-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:2rem;overflow:hidden}.invite-toggle{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.invite-toggle:hover{background:var(--bg-hover)}.invite-toggle svg:last-child{margin-left:auto;transition:transform .2s}.invite-toggle svg:last-child.rotated{transform:rotate(90deg)}.invite-content{padding:1.5rem;border-top:1px solid var(--border-color)}.invite-info{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#00d4aa0d;border-radius:8px;border-left:3px solid var(--accent-primary)}.invite-icon{color:var(--accent-primary);flex-shrink:0;margin-top:2px}.invite-info h3{font-size:1rem;margin:0 0 .5rem;color:var(--text-primary)}.invite-info p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.invite-link-box{background:var(--bg-tertiary);padding:1.25rem;border-radius:8px;margin-bottom:1.5rem}.invite-link-display{display:flex;gap:.5rem;margin-bottom:.75rem}.invite-link-input{flex:1;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Courier New,monospace;font-size:.85rem}.btn-copy-invite{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--accent-primary);color:#0a0a0f;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-copy-invite:hover{background:#00b894;transform:translateY(-1px)}.invite-hint{font-size:.8rem;color:var(--text-muted);margin:0}.connected-suppliers{margin-top:1.5rem}.connected-suppliers h4{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.suppliers-list{display:flex;flex-direction:column;gap:.5rem}.supplier-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.supplier-item:hover{border-color:var(--accent-primary);transform:translate(2px)}.supplier-item svg{color:var(--accent-primary);flex-shrink:0}.supplier-details{flex:1;display:flex;flex-direction:column;gap:2px}.supplier-company{font-size:.8rem;color:var(--text-muted)}.supplier-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.supplier-status.active{background:#10b98126;color:#10b981}.no-suppliers{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.no-suppliers svg{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.no-suppliers p{margin:.25rem 0}.no-suppliers .hint{font-size:.85rem;opacity:.7}.loading-suppliers{text-align:center;padding:2rem;color:var(--text-muted)}.invite-form{margin-bottom:1.5rem}.invite-form .error-message{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.form-row{display:flex;gap:.5rem}.invite-code-input{flex:1;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.invite-code-input:focus{outline:none;border-color:var(--accent-primary)}.invite-code-input::placeholder{text-transform:none;letter-spacing:normal;font-family:inherit}.btn-join-customer{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:#0a0a0f;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-join-customer:hover:not(:disabled){background:#00b894;transform:translateY(-1px)}.btn-join-customer:disabled{opacity:.5;cursor:not-allowed}.customers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:2rem}.customer-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s}.customer-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00d4aa1a}.customer-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.customer-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--accent-primary),#00b894);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#0a0a0f}.customer-info{flex:1}.customer-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.customer-status{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500}.customer-status.active{background:#10b9811a;color:#10b981}.customer-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.customer-detail-item{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem}.customer-detail-item svg{color:var(--accent-primary);flex-shrink:0}.customer-actions{display:flex;gap:.5rem}.nav-badge-info{background:#3b82f633;color:#3b82f6;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;margin-left:auto}.step-viewer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.step-viewer canvas{display:block}.step-viewer.measure-mode canvas{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5" fill="none" stroke="rgba(255,170,0,0.9)" stroke-width="1.5"/><circle cx="8" cy="8" r="1.5" fill="rgba(255,170,0,1)"/></svg>') 8 8,crosshair}.measurement-label{font-family:SF Mono,Monaco,Consolas,monospace;text-shadow:0 0 8px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0006}.viewer-loading,.viewer-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg-primary);z-index:10}.viewer-loading p,.viewer-error p{color:var(--text-secondary);font-size:.9rem}.viewer-error p{color:var(--accent-danger)}.viewer-controls{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:20}.control-divider{height:1px;background:var(--border-color);margin:.25rem 0}.control-btn{width:44px;height:44px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.control-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light);transform:scale(1.05)}.control-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#000}.control-btn:disabled{opacity:.3;cursor:not-allowed}.hover-tooltip{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;background:#ffff0026;border:1px solid rgba(255,255,0,.5);padding:.75rem 1.25rem;border-radius:var(--radius-md);z-index:100;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hover-tooltip-main{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:1rem;font-weight:700;color:#ff0}.hover-length{font-size:1.1rem}.hover-tooltip-hint{font-size:.7rem;color:#ffff00b3;text-transform:uppercase;letter-spacing:.5px}.measure-result-panel{position:absolute;top:1rem;left:1rem;background:var(--bg-card);border-radius:var(--radius-lg);padding:0;min-width:220px;z-index:100;box-shadow:0 8px 32px #0006;overflow:hidden;pointer-events:auto}.measure-type-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.measure-type-badge.edge{background:linear-gradient(135deg,#0f83,#00ff881a);color:#0f8;border-bottom:2px solid #00ff88}.measure-type-badge.diameter{background:linear-gradient(135deg,#f803,#ff88001a);color:#f80;border-bottom:2px solid #ff8800}.measure-type-badge.surface{background:linear-gradient(135deg,#00d4aa33,#00d4aa1a);color:#00d4aa;border-bottom:2px solid #00d4aa}.measure-type-badge.distance{background:linear-gradient(135deg,#fa03,#ffaa001a);color:#fa0;border-bottom:2px solid #ffaa00}.measure-value-container{padding:1.25rem 1rem}.measure-value{display:flex;flex-direction:column;align-items:center;gap:.25rem}.measure-value .value-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.measure-value .value-number{font-family:var(--font-mono);font-size:2rem;font-weight:700;line-height:1}.measure-value .value-unit{font-size:.8rem;color:var(--text-muted)}.measure-value.edge .value-number{color:#0f8}.measure-value.diameter .value-number{color:#f80}.measure-value.surface .value-number{color:#00d4aa}.measure-value.distance .value-number{color:#fa0}.measure-instruction{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem;color:var(--text-secondary);font-size:.9rem}.step-indicator{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fa03;border:1px solid #ffaa00;border-radius:50%;font-size:.75rem;font-weight:700;color:#fa0}.distance-components{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.component-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85rem}.component-label{font-weight:700;color:var(--accent-primary);min-width:35px}.component-value{color:var(--text-primary);font-weight:600}.clear-btn{display:block;width:100%;padding:.75rem;margin-top:1rem;background:var(--bg-secondary);border:none;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .2s;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.clear-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.live-distance-panel{position:absolute;bottom:5rem;right:1rem;background:#0a0b0df2;border:2px solid #ffaa00;border-radius:var(--radius-lg);padding:0;min-width:280px;z-index:150;box-shadow:0 12px 48px #ffaa004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:liveDistancePulse 2s ease-in-out infinite;pointer-events:auto}@keyframes liveDistancePulse{0%,to{box-shadow:0 12px 48px #ffaa004d}50%{box-shadow:0 12px 48px #ffaa0080}}.live-distance-header{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#ffaa0026;border-bottom:1px solid #ffaa00;font-size:.7rem;font-weight:700;letter-spacing:1px;color:#fa0}.live-distance-values{padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.live-distance-main{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.live-distance-main .value-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.live-distance-main .value-display{display:flex;align-items:baseline;gap:.5rem}.live-distance-main .value-number{font-family:var(--font-mono);font-size:2.5rem;font-weight:700;color:#fa0;line-height:1;text-shadow:0 0 20px rgba(255,170,0,.5)}.live-distance-main .value-unit{font-size:1rem;color:var(--text-muted)}.axis-distances{display:flex;flex-direction:column;gap:.5rem}.axis-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85rem}.axis-label{font-weight:700;color:var(--accent-primary);min-width:35px}.axis-value{color:var(--text-primary)}.measure-instructions{position:absolute;top:1rem;left:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:20}.instruction-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#0a0b0dd9;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8rem;color:var(--text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.instruction-item svg{color:var(--accent-primary);flex-shrink:0}.viewer-help{position:absolute;bottom:1rem;left:1rem;display:flex;gap:.75rem;z-index:20}.help-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#0a0b0dd9;border-radius:var(--radius-sm);font-size:.7rem;color:var(--text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.help-item svg{opacity:.6}@media (max-width: 768px){.viewer-help{display:none}.measure-result-panel{left:.5rem;right:.5rem;max-width:none}.measure-instructions{left:.5rem;right:60px}.measure-value .value-number{font-size:1.75rem}.live-distance-panel{bottom:.5rem;right:.5rem;left:.5rem;min-width:unset;max-width:none}.live-distance-main .value-number{font-size:2rem}.axis-item{font-size:.75rem}}.dxf-viewer-container{width:100%;height:100%;position:relative;background:#1a1a2e;border-radius:8px;overflow:hidden}.dxf-canvas{width:100%;height:100%}.dxf-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1a2ee6;z-index:10}.dxf-loading .loading-spinner{width:40px;height:40px;border:3px solid rgba(0,212,170,.2);border-top-color:#00d4aa;border-radius:50%;animation:spin 1s linear infinite}.dxf-loading p{margin-top:1rem;color:#a0a0a0;font-size:.9rem}.dxf-viewer-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1a1a2e;border-radius:8px}.error-content{text-align:center;padding:2rem}.error-icon{font-size:3rem;display:block;margin-bottom:1rem}.error-content p{color:#a0a0a0;margin-bottom:1.5rem}.download-fallback-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#00d4aa;color:#0a0a0f;border-radius:8px;text-decoration:none;font-weight:500;transition:background .2s}.download-fallback-btn:hover{background:#00b894}.revision-manager-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;margin-top:.25rem;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.revision-content-wrapper{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.revision-card-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:1rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:sticky;top:0;z-index:10}.revision-card-header.clickable:hover{background:var(--bg-hover)}.revision-toggle-icon{color:var(--accent-primary);display:flex;align-items:center;transition:transform .2s ease}.revision-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--bg-card);position:sticky;top:0;z-index:9}.revision-title-section{display:flex;align-items:center;gap:.75rem;color:var(--accent-primary)}.revision-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.revision-subtitle{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0;display:flex;align-items:center;gap:.5rem}.revision-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#8b5cf61a;color:#8b5cf6;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.revision-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-revision-create,.btn-revision-toggle{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-revision-create{background:var(--accent-primary);color:#fff}.btn-revision-create:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-revision-toggle{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-revision-toggle:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.revision-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:#f59e0b;font-size:.875rem;font-weight:500}.pending-requests,.completed-requests{padding:1.5rem}.pending-requests h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem}.completed-requests-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:1rem;transition:all .2s ease}.completed-requests-header:hover{background:var(--bg-hover)}.completed-requests-header h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.completed-requests-list{margin-top:.5rem}.revision-request{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem;transition:all .2s ease}.revision-request:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.revision-request.pending{border-left:3px solid #f59e0b}.revision-request.accepted{border-left:3px solid #10b981}.revision-request.rejected{border-left:3px solid #ef4444}.revision-request.awaiting{border-left:3px solid #f59e0b}.quotation-form{margin-top:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.quotation-form h5{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.price-calculation{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:1rem;background:linear-gradient(135deg,#10b9811a,#22c55e26);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md)}.calc-unit,.calc-quantity{font-size:.9rem;font-weight:500;color:var(--text-primary)}.calc-operator{font-size:.85rem;color:var(--text-muted);font-weight:600}.calc-total{font-size:1.1rem;font-weight:700;color:#22c55e}.quotation-item.price-total{background:#22c55e1a;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(34,197,94,.2)}.total-amount{color:#22c55e;font-weight:700;font-size:1rem}.supplier-quotation{margin:1rem 0;padding:1rem;background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md)}.supplier-quotation.compact{margin:.75rem 0;padding:.75rem;background:#10b98114}.supplier-quotation h5{font-size:.85rem;font-weight:600;color:#10b981;margin:0 0 .75rem}.quotation-details{display:flex;flex-direction:column;gap:.5rem}.supplier-quotation.compact .quotation-details{flex-direction:row;gap:1rem;flex-wrap:wrap}.quotation-item{font-size:.85rem;color:var(--text-secondary)}.quotation-item strong{color:var(--text-primary);margin-right:.5rem}.request-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.request-type{font-size:.875rem;font-weight:600;color:var(--text-primary)}.request-revision{font-size:.75rem;padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:500}.request-date{font-size:.75rem;color:var(--text-muted);margin-left:auto}.request-body{padding-left:2rem}.request-description{font-size:.875rem;color:var(--text-secondary);margin:0 0 .75rem}.quantity-change{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:.5rem}.quantity-change.accepted{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.scope-badge{padding:.15rem .4rem;background:#f59e0b1a;color:#f59e0b;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600}.request-meta{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.request-actions{display:flex;gap:.75rem;margin-top:1rem;padding-left:2rem}.btn-accept,.btn-reject,.btn-cancel{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .2s ease}.btn-accept{background:#10b981;color:#fff}.btn-accept:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-reject{background:transparent;color:#ef4444;border:1px solid #ef4444}.btn-reject:hover:not(:disabled){background:#ef4444;color:#fff}.btn-cancel{background:transparent;color:#f59e0b;border:1px solid #f59e0b}.btn-cancel:hover:not(:disabled){background:#f59e0b;color:#fff}.btn-accept:disabled,.btn-reject:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.status-icon{flex-shrink:0}.status-icon.pending{color:#f59e0b}.status-icon.accepted{color:#10b981}.status-icon.rejected{color:#ef4444}.status-label{font-size:.75rem;padding:.2rem .5rem;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.revision-request.accepted .status-label{background:#10b9811a;color:#10b981}.revision-request.rejected .status-label{background:#ef44441a;color:#ef4444}.rejection-reason{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);margin-top:.75rem;font-size:.8rem;color:var(--text-secondary)}.rejection-reason svg{flex-shrink:0;color:#ef4444}.revision-history{padding:1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.revision-history h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem}.no-history{text-align:center;padding:2rem;color:var(--text-muted);font-size:.875rem}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-entry{padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.history-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.history-revision{font-weight:600;color:var(--accent-primary);font-size:.875rem}.history-type{font-size:.75rem;padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted)}.history-date{font-size:.75rem;color:var(--text-muted);margin-left:auto}.history-summary{font-size:.875rem;color:var(--text-secondary);margin:.5rem 0}.history-changes{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin:.5rem 0}.old-value,.new-value{color:var(--text-muted)}.checklist-reset-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#ef44441a;color:#ef4444;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;margin-top:.5rem}.history-meta{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content h3{margin:0 0 1.5rem;font-size:1.25rem;color:var(--text-primary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.form-group select,.form-group input[type=number],.form-group textarea{width:100%;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-card)}.form-group textarea{resize:vertical;font-family:inherit}.form-group small{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.file-input-wrapper input[type=file]{padding:.75rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.file-input-wrapper input[type=file]:hover{border-color:var(--accent-primary)}.file-selected{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius-md);margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.modal-actions{display:flex;gap:.75rem;margin-top:2rem}.btn-cancel,.btn-submit{flex:1;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-cancel:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary)}.btn-submit{background:var(--accent-primary);color:#fff}.btn-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.revision-card-header{flex-direction:column;align-items:flex-start}.revision-actions{width:100%}.btn-revision-create,.btn-revision-toggle{flex:1}}.project-detail-page{height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.back-link{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius-md);transition:all .2s ease}.back-link:hover{color:var(--text-primary);background:var(--bg-hover)}.header-top h1{font-size:1.25rem;font-weight:600;margin:0}.header-meta{display:flex;gap:1.5rem}.header-meta .meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.header-meta .meta-item.deadline-warning{color:#f59e0b;font-weight:600}.header-meta .meta-item.deadline-urgent{color:#ef4444;font-weight:700}.header-meta .meta-item.deadline-overdue{color:#ef4444;font-weight:700;background:#ef444426;padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.3)}.header-meta .meta-item.deadline-normal{color:#f59e0b;font-weight:600}.header-actions{display:flex;align-items:center;gap:.75rem}.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.detail-content{flex:1;display:grid;grid-template-columns:1fr 380px;overflow:hidden}.viewer-panel{display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.panel-header h2{font-size:1rem;font-weight:600;margin:0}.panel-header .file-name{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.viewer-container{flex:1;position:relative;background:var(--bg-primary);overflow:hidden}.no-model{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted)}.checklist-panel{display:flex;flex-direction:column;background:var(--bg-secondary);overflow-y:auto;position:relative}.checklist-panel .panel-header{position:sticky;top:0;z-index:10;background:var(--bg-secondary)}.progress-text{font-family:var(--font-mono);font-size:.85rem;color:var(--accent-primary)}.checklist-panel .progress-bar{margin:0 1.5rem 1rem}.checklist-items{padding:0 1.5rem;display:flex;flex-direction:column;gap:.75rem}.checklist-items .checkbox-wrapper{padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease}.checklist-items .checkbox-wrapper:hover{border-color:var(--border-light)}.checklist-items .checkbox-wrapper:has(input:checked){background:#00d4aa0d;border-color:#00d4aa4d}.item-number{color:var(--text-muted);margin-right:.5rem}.checked-indicator{margin-left:auto;font-size:.75rem;color:var(--accent);background:#00d4aa1a;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.checkbox-wrapper.is-checked{background:#00d4aa14;border-color:#00d4aa66}.checklist-item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease}.checklist-item-card:hover{border-color:var(--border-light)}.checklist-item-card.is-checked{background:#00d4aa0d;border-color:#00d4aa4d}.checklist-item-card .checkbox-wrapper{padding:1rem;border:none;background:transparent;border-radius:0}.checklist-item-card .checkbox-wrapper:hover{background:transparent}.checklist-item-card.has-children{border-left:3px solid var(--accent-primary)}.checklist-item-main{display:flex;align-items:center;gap:0}.expand-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:100%;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s;padding:1rem .5rem;margin-left:.5rem}.expand-toggle:hover{color:var(--text-primary)}.checklist-item-main .checkbox-wrapper{flex:1}.add-sub-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;margin-right:.75rem;transition:all .2s;opacity:0}.checklist-item-card:hover .add-sub-btn{opacity:1}.add-sub-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.children-count{font-size:.75rem;color:var(--text-muted);margin-left:.5rem;padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.checklist-children{padding:.5rem .5rem .5rem 2.5rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.checklist-child-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;margin-bottom:.25rem;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.checklist-child-item:last-child{margin-bottom:0}.checklist-child-item.is-checked{background:#00d4aa0d;border-color:#00d4aa4d}.checklist-child-item .checkbox-wrapper{padding:0;border:none}.checklist-child-item .checkbox-custom{width:18px;height:18px}.checklist-child-item .supplier-note-display.small{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted);padding:.25rem 0 0 1.75rem}.file-checklist-section{background:var(--bg-secondary);border-bottom:2px solid var(--accent-primary);margin-bottom:0;display:flex;flex-direction:column;max-height:calc(100vh - 250px);min-height:500px}.file-checklist-section .panel-header{background:#00d4aa1a;z-index:30;box-shadow:0 2px 8px #00000026;flex-shrink:0}.file-checklist-section .panel-header h2{display:flex;align-items:center;gap:.5rem;color:var(--accent-primary)}.file-checklist-items{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;flex:1}.add-sub-item-form{padding:.75rem 1rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.add-sub-item-form input{width:100%;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem}.add-sub-item-form input:focus{outline:none;border-color:var(--accent-primary)}.sub-item-actions{display:flex;justify-content:flex-end;gap:.5rem}.supplier-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#3b82f60d;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-secondary)}.supplier-note svg{flex-shrink:0;margin-top:2px;color:var(--accent-primary)}.upload-section{margin:1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.upload-section h3{font-size:.9rem;font-weight:600;margin:0 0 .25rem}.upload-section p{font-size:.8rem;color:var(--text-muted);margin:0 0 1rem}.upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease}.upload-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.upload-btn input{display:none}.documents-section{margin:0 1.5rem 1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.documents-section h3{font-size:.9rem;font-weight:600;margin:0 0 1rem}.documents-list{display:flex;flex-direction:column;gap:.5rem}.document-item-wrapper{display:flex;align-items:center;gap:.5rem}.document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none;font-size:.85rem;transition:all .2s ease;flex:1}.document-item:hover{background:var(--bg-hover)}.document-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-item svg:last-child{color:var(--text-muted);opacity:0;transition:opacity .2s ease}.document-item:hover svg:last-child{opacity:1}.delete-doc-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative;z-index:10}.delete-doc-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.delete-doc-btn:disabled{opacity:.5;cursor:not-allowed}.project-progress-section{padding:1rem 1.5rem .5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem}.progress-info span:first-child{color:var(--text-secondary)}.progress-percentage{font-weight:600;color:var(--accent-primary)}.project-progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.project-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:4px;transition:width .5s ease}.files-grid{padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;overflow-y:auto}.project-file-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.project-file-card:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.file-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md)}.file-card-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.file-card-desc{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-qty{font-size:.75rem;color:var(--accent-primary);font-weight:500}.file-card-inactive{font-size:.7rem;color:#ef4444;font-weight:700;padding:.15rem .5rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.file-card-pending{font-size:.7rem;color:#f59e0b;font-weight:700;padding:.15rem .5rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.project-file-card[data-status=pending]{border:2px solid rgba(245,158,11,.5);animation:pulse-pending 2s ease-in-out infinite}@keyframes pulse-pending{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 8px #f59e0b00}}.project-file-card.inactive{opacity:.6;background:var(--bg-tertiary)}.project-file-card.inactive .file-card-name{text-decoration:line-through;color:var(--text-muted)}.inactive-badge{display:inline-flex;align-items:center;margin-left:.75rem;padding:.25rem .75rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.75rem;font-weight:700;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.5px}.inactive-warning{color:#ef4444;font-size:.8rem;font-weight:600;margin-left:.5rem}.pending-badge{display:inline-flex;align-items:center;margin-left:.75rem;padding:.25rem .75rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#f59e0b;font-size:.75rem;font-weight:700;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.5px}.pending-warning{color:#f59e0b;font-size:.8rem;font-weight:600;margin-left:.5rem}.file-card-badge{font-size:.65rem;padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:600}.file-card-view{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.project-file-card:hover .file-card-view{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.back-to-files{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:var(--radius-sm);transition:all .2s ease}.back-to-files:hover{color:var(--accent-primary);background:var(--bg-hover)}.download-file-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00d4aa4d}.file-notes{padding:1rem 1.5rem;background:#3b82f60d;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-secondary)}.file-notes strong{color:var(--text-primary);margin-right:.5rem}.excel-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted)}.excel-preview p{font-size:.9rem;margin:0}.file-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted)}.file-preview-placeholder p{font-size:.9rem;margin:0}.file-preview-placeholder .file-type-note{font-size:.8rem;color:var(--text-secondary);opacity:.7}.supplier-note-display{margin-top:.75rem;padding:.75rem;background:#2dd4bf14;border-left:3px solid var(--primary);border-radius:0 8px 8px 0}.note-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;color:var(--primary)}.note-label{font-weight:600}.note-date{margin-left:auto;color:var(--text-muted);font-size:.7rem}.note-text{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.edit-note-btn{margin-top:.5rem;padding:.25rem .5rem;font-size:.7rem;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer;transition:all .2s}.edit-note-btn:hover{background:var(--primary);color:var(--bg-primary)}.add-note-btn{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;color:var(--text-muted);background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.add-note-btn:hover{color:var(--primary);border-color:var(--primary);background:#2dd4bf0d}.supplier-note-input{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.supplier-note-input textarea{width:100%;padding:.75rem;font-size:.85rem;font-family:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;resize:vertical;min-height:60px}.supplier-note-input textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2dd4bf26}.supplier-note-input textarea::placeholder{color:var(--text-muted)}.note-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-sm{padding:.4rem .75rem;font-size:.75rem;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem}.btn-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-muted)}.btn-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-save{background:var(--primary);border:none;color:#fff;font-weight:500}.btn-save:hover{background:var(--primary-hover);color:#fff}.btn-save:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.quotations-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.quotations-panel-content{flex:1;overflow-y:auto;padding:0 1rem 1rem}.quotations-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.quotations-panel .panel-header{position:sticky;top:0;z-index:10;margin:0;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.panel-header-left{display:flex;align-items:center;gap:.5rem}.panel-header-left h2{display:flex;align-items:center;gap:.5rem;margin:0}.panel-header-right{display:flex;align-items:center;gap:1rem}.btn-view-details{padding:.5rem 1rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-details:hover{background:var(--primary);transform:translateY(-1px)}.quotations-panel .panel-header h2{margin:0}.quotation-count{font-size:.85rem;color:var(--primary);font-weight:500}.loading-quotations{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-muted)}.loading-spinner.small{width:20px;height:20px;border-width:2px}.no-quotations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-muted)}.no-quotations p{margin:1rem 0 .25rem;font-weight:500;color:var(--text-primary)}.no-quotations span{font-size:.85rem}.quotation-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.quotation-item.quoted{border-color:var(--primary);background:#2dd4bf0d}.quotation-item.accepted{border-color:#10b981;background:#10b9810d}.quotation-item.rejected{border-color:#ef4444;background:#ef44440d;opacity:.6}.quotation-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.supplier-info{display:flex;align-items:center;gap:.5rem}.supplier-name{font-weight:600;color:var(--text-primary)}.quotation-status-badge{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase}.quotation-status-badge.pending{background:#f59e0b26;color:#f59e0b}.quotation-status-badge.quoted{background:#2dd4bf26;color:var(--primary)}.quotation-status-badge.accepted{background:#10b98126;color:#10b981}.quotation-status-badge.rejected{background:#ef444426;color:#ef4444}.quotation-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.quotation-price-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.quotation-price{display:flex;align-items:center;gap:.5rem}.btn-note-add{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0ea5e91a;border:1px solid rgba(14,165,233,.3);color:#0ea5e9;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-note-add:hover{background:#0ea5e933;border-color:#0ea5e980;transform:translateY(-1px)}.btn-note-add:active{transform:translateY(0)}.quotation-delivery{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#0ea5e91a;border-radius:var(--radius-sm);font-size:.85rem;color:#0ea5e9;font-weight:500}.price-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.quotation-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.quotation-note p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.quotation-date{font-size:.75rem;color:var(--text-muted)}.quotation-actions{display:flex;gap:.75rem}.customer-note-section{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.customer-note-display{background:var(--bg-tertiary);padding:.75rem;border-radius:var(--radius-md);margin-bottom:.75rem}.customer-note-display .note-header{display:flex;align-items:center;gap:.5rem;color:var(--primary-color);font-size:.85rem;font-weight:600;margin-bottom:.5rem}.customer-note-display .note-text{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.customer-note-display .note-date{display:block;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.note-edit-form{display:flex;flex-direction:column;gap:.75rem}.note-textarea{width:100%;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s}.note-textarea:focus{outline:none;border-color:var(--primary-color)}.note-textarea::placeholder{color:var(--text-muted)}.note-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-accept{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#10b981;color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.btn-accept:hover:not(:disabled){background:#059669}.btn-reject{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s}.btn-reject:hover:not(:disabled){background:#ef44441a}.btn-accept:disabled,.btn-reject:disabled{opacity:.6;cursor:not-allowed}.waiting-quote{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.checklist-preview{background:var(--bg-tertiary);border-radius:8px;padding:1rem;margin:1rem}.checklist-preview .preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.checklist-preview .preview-header h3{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.checklist-preview .preview-count{font-size:.8rem;color:var(--text-secondary);background:var(--bg-primary);padding:.2rem .5rem;border-radius:4px}.checklist-preview .preview-items{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.checklist-preview .preview-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-primary);border-radius:6px;font-size:.85rem;color:var(--text-secondary);transition:all .2s}.checklist-preview .preview-item.checked{background:#10b9811a;color:var(--success-color)}.checklist-preview .preview-number{font-weight:600;min-width:1.5rem;color:var(--text-muted)}.checklist-preview .preview-item.checked .preview-number{color:var(--success-color)}.checklist-preview .preview-title{flex:1}.checklist-preview .preview-check{color:var(--success-color)}.checklist-preview h3{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.checklist-preview-items{display:flex;flex-direction:column;gap:.5rem}.checklist-preview-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-muted)}.checklist-preview-item .item-number{color:var(--text-muted);min-width:20px}.inactive-files-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.inactive-header{opacity:.8}.inactive-header h2{color:var(--text-muted);font-size:1.1rem}.inactive-files-section .files-grid{opacity:.7}.inactive-files-section .project-file-card{cursor:pointer}.inactive-files-section .project-file-card:hover{opacity:.9;transform:translateY(-2px)}.file-group-with-preview{display:flex;align-items:center;gap:.5rem;grid-column:span 2}.file-group-with-preview>.project-file-card{flex:1;margin:0;min-width:0;max-width:280px}.file-group-with-preview>.project-file-card.pending{border-color:#f59e0b80;background:#f59e0b0d;flex:1;max-width:280px}.file-connection-line{display:flex;align-items:center;justify-content:center;padding:0;margin:0;color:var(--accent-primary);opacity:.6;flex-shrink:0;min-width:24px;width:24px;position:relative}.file-connection-line:before{content:"";position:absolute;left:-8px;right:-8px;top:50%;height:2px;background:var(--accent-primary);opacity:.3;z-index:-1}.file-connection-line svg{filter:drop-shadow(0 0 4px rgba(var(--accent-primary-rgb, 59, 130, 246),.5))}@media (max-width: 768px){.file-group-with-preview{display:flex;flex-direction:column;gap:.5rem;grid-column:1 / -1}.file-connection-line{transform:rotate(90deg);padding:.25rem;min-width:auto;min-height:40px}}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-content.quotation-details-modal{max-width:1100px}.no-quotations-modal{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted);text-align:center}.no-quotations-modal p{margin-top:1rem;font-size:1.1rem;color:var(--text-primary)}.supplier-quotation-detail{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.supplier-quotation-detail:last-child{margin-bottom:0}.supplier-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.supplier-header .supplier-info{display:flex;align-items:center;gap:.75rem}.supplier-header .supplier-info h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.supplier-total{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.supplier-total .label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.supplier-total .total-price{font-size:1.75rem;font-weight:700;color:var(--accent-primary)}.quotation-items-list{background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.items-header-row{display:grid;grid-template-columns:2fr 120px 80px 120px;gap:1rem;padding:.75rem 1rem;background:#34d3991a;border-bottom:1px solid var(--border-color);font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.items-header-row .col-item{text-align:left}.items-header-row .col-price,.items-header-row .col-qty,.items-header-row .col-total{text-align:right}.quotation-item-row{display:grid;grid-template-columns:2fr 120px 80px 120px;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color);align-items:center}.quotation-item-row:last-child{border-bottom:none}.item-info{display:flex;align-items:center;gap:.5rem;min-width:0}.item-name{font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-revision{font-size:.75rem;color:var(--text-muted);background:#8b5cf61a;padding:.125rem .5rem;border-radius:var(--radius-sm);flex-shrink:0}.item-price,.item-qty,.item-total{font-weight:600;color:var(--text-primary);text-align:right;justify-self:end}.item-total{color:var(--accent-primary);font-size:1.05rem}.item-notes{grid-column:1 / -1;display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.75rem;background:var(--bg-primary);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary);font-style:italic}.legacy-quotation{padding:1.5rem;background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center;margin-bottom:1rem}.legacy-quotation p{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.legacy-quotation .quotation-price{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--accent-primary)}.quotation-delivery-info,.quotation-general-note{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary)}.quotation-general-note{background:#34d39914;border:1px solid rgba(52,211,153,.2);color:var(--text-primary)}.quotation-actions-modal{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.quotation-actions-modal .btn{flex:1;padding:.75rem 1.5rem;font-size:1rem}@media (max-width: 768px){.modal-content{max-width:100%;max-height:95vh}.supplier-header{flex-direction:column;align-items:flex-start;gap:1rem}.supplier-total{align-items:flex-start}.items-header-row,.quotation-item-row{grid-template-columns:1.5fr 100px 70px 100px;gap:.5rem;font-size:.8rem}.item-name{font-size:.85rem}.quotation-actions-modal{flex-direction:column}}.quotation-comparison-modal{max-width:95vw!important;width:auto;min-width:800px}.comparison-table-wrapper{overflow-x:auto;max-height:70vh;border-radius:8px;border:1px solid var(--border-color)}.comparison-table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--bg-secondary)}.comparison-table thead{position:sticky;top:0;z-index:10;background:var(--bg-tertiary)}.comparison-table th{padding:.75rem .5rem;text-align:center;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color);white-space:nowrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.comparison-table td{padding:.75rem .5rem;text-align:center;border-bottom:1px solid var(--border-color);vertical-align:middle}.comparison-table tbody tr:hover{background:#00d4aa0d}.sticky-col{position:sticky;left:0;z-index:5;background:var(--bg-tertiary)!important;min-width:150px;text-align:left!important}.comparison-table tbody .sticky-col{background:var(--bg-secondary)!important}.comparison-table tbody tr:hover .sticky-col{background:#00d4aa14!important}.supplier-col{min-width:160px;border-right:2px solid var(--border-color)}.delivery-col{min-width:100px}.part-col{min-width:120px;max-width:180px}.extra-col{min-width:100px;background:#fbbf240d}.total-col{min-width:120px;background:#10b98114;border-left:2px solid var(--border-color)}.actions-col{min-width:100px;border-left:1px solid var(--border-color)}.part-header{display:flex;flex-direction:column;align-items:center;gap:2px}.part-header svg{color:var(--accent-primary)}.part-header.extra svg{color:#fbbf24}.part-name{font-size:.7rem;color:var(--text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis}.part-rev{font-size:.65rem;color:var(--accent-primary);background:#00d4aa26;padding:1px 4px;border-radius:3px}.part-qty{font-size:.65rem;color:var(--text-muted)}.supplier-info-cell{display:flex;flex-direction:column;gap:2px;text-align:left;padding-left:.5rem}.supplier-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.supplier-company{font-size:.75rem;color:var(--text-muted)}.price-cell{background:#ffffff05}.price-info{display:flex;flex-direction:column;align-items:center;gap:2px}.unit-price{font-weight:600;color:var(--text-primary);font-size:.85rem}.total-item-price{font-size:.7rem;color:var(--accent-primary)}.extra-price{font-weight:500;color:#fbbf24}.no-price{color:var(--text-muted);opacity:.5}.delivery-cell{font-size:.8rem;color:var(--text-secondary)}.total-cell .total-price{font-weight:700;color:#10b981;font-size:1rem}.actions-cell{padding:.5rem}.action-buttons{display:flex;gap:.5rem;justify-content:center}.btn-mini{width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-accept-mini{background:#10b98126;color:#10b981}.btn-accept-mini:hover{background:#10b981;color:#fff}.btn-reject-mini{background:#ef444426;color:#ef4444}.btn-reject-mini:hover{background:#ef4444;color:#fff}.btn-mini:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.quotation-comparison-modal{min-width:100%;max-width:100%!important}}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;margin-bottom:.5rem;transition:color .2s ease}.back-link:hover{color:var(--accent-primary)}.wizard-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.wizard-step{display:flex;align-items:center;gap:.5rem;position:relative}.step-circle{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:var(--text-muted);transition:all .3s ease}.wizard-step.active .step-circle{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.wizard-step.completed .step-circle{background:var(--accent-success);border-color:var(--accent-success);color:#fff}.step-title{font-size:.9rem;color:var(--text-muted);font-weight:500}.wizard-step.active .step-title,.wizard-step.completed .step-title{color:var(--text-primary)}.step-line{width:60px;height:2px;background:var(--border-color);margin:0 1rem}.wizard-step.completed+.wizard-step .step-line,.wizard-step.completed .step-line{background:var(--accent-success)}.wizard-content{max-width:900px}.form-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.section-desc{font-size:.9rem;color:var(--text-muted);margin:0 0 1.5rem}.file-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;transition:all .3s ease;position:relative;cursor:pointer}.file-dropzone:hover,.file-dropzone.active{border-color:var(--accent-primary);background:#3b82f60d}.file-dropzone.loading{pointer-events:none;opacity:.7}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer}.dropzone-content svg{color:var(--text-muted)}.file-dropzone:hover .dropzone-content svg,.file-dropzone.active .dropzone-content svg{color:var(--accent-primary)}.dropzone-text{font-size:1rem;color:var(--text-secondary);font-weight:500}.dropzone-hint{font-size:.85rem;color:var(--text-muted)}.upload-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--bg-tertiary);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}.progress-bar{height:100%;background:var(--accent-primary);transition:width .3s ease}.uploaded-files-list{margin-top:1.5rem}.list-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem}.uploaded-file-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:.5rem}.file-icon{flex-shrink:0}.file-icon.step{color:#10b981}.file-icon.dxf{color:#f59e0b}.file-icon.iges{color:#6366f1}.file-icon.parasolid{color:#ec4899}.file-icon.pdf{color:#ef4444}.file-icon.excel{color:#22c55e}.file-icon.image{color:#8b5cf6}.uploaded-file-item .file-details{flex:1;display:flex;align-items:center;gap:.75rem}.uploaded-file-item .file-name{font-size:.9rem;color:var(--text-primary);font-weight:500}.file-type-badge{font-size:.7rem;padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted);font-weight:600}.remove-file-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all .2s ease}.remove-file-btn:hover{color:var(--accent-danger);background:#ef44441a}.file-details-list{display:flex;flex-direction:column;gap:1rem}.file-detail-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.file-detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.file-detail-header .file-name{font-weight:600;color:var(--text-primary)}.file-detail-form{display:grid;grid-template-columns:1fr auto;gap:1rem}.input-small{max-width:100px}.input-full{grid-column:1 / -1}.textarea{resize:vertical;min-height:60px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.suppliers-section{margin-bottom:1.5rem}.suppliers-section>label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.suppliers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.supplier-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.supplier-card:hover{border-color:var(--accent-primary)}.supplier-card.selected{border-color:var(--accent-primary);background:#3b82f61a}.supplier-check{width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.supplier-card.selected .supplier-check{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.supplier-info{display:flex;flex-direction:column}.supplier-name{font-weight:500;color:var(--text-primary);font-size:.9rem}.supplier-username{font-size:.8rem;color:var(--text-muted)}.no-suppliers{color:var(--text-muted);font-size:.9rem;text-align:center;padding:2rem}.checklist-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);color:var(--accent-success);font-size:.9rem}.wizard-actions{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:1rem}.wizard-actions-right{display:flex;gap:1rem}.suppliers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.suppliers-header label{margin:0}.btn-add-supplier{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.5rem}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:all .2s}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.add-deadline-btn{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.add-deadline-btn:hover{background:var(--bg-card);border-color:var(--accent-primary);color:var(--accent-primary)}.remove-deadline-btn{padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-deadline-btn:hover{background:#f44;border-color:#f44;color:#fff}.no-suppliers-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;background:#ffffff05;border:1px dashed var(--border-color);border-radius:12px;text-align:center;color:var(--text-muted)}.no-suppliers-box svg{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.no-suppliers-box p{margin:.25rem 0;color:var(--text-secondary)}.no-suppliers-box .hint{font-size:.85rem;opacity:.7;max-width:300px}@media (max-width: 768px){.wizard-steps{flex-wrap:wrap;gap:1rem}.step-line{display:none}.file-detail-form{grid-template-columns:1fr}.input-small{max-width:none}}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.user-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;transition:all .2s ease;min-height:fit-content}.user-card:hover{border-color:var(--border-light);transform:translateY(-2px)}.user-card-avatar{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;flex-shrink:0}.user-card-avatar[data-role=admin]{background:linear-gradient(135deg,var(--accent-primary),#00b894);color:#000}.user-card-avatar[data-role=user]{background:linear-gradient(135deg,var(--accent-secondary),#0284c7);color:#fff}.user-card-info{flex:1;min-width:0}.user-card-info h3{font-size:1rem;font-weight:600;margin:0 0 .25rem;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3}.user-email,.user-company{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--text-muted);margin:.25rem 0 0}.user-company span{word-wrap:break-word;overflow-wrap:break-word;line-height:1.3}.role-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;flex-shrink:0}.role-badge.admin{background:#00d4aa26;color:var(--accent-primary);border:1px solid rgba(0,212,170,.3)}.role-badge.user{background:#0ea5e926;color:var(--accent-secondary);border:1px solid rgba(14,165,233,.3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.125rem;font-weight:600;margin:0}.modal-close{width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.success-message{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--accent-success);padding:.875rem 1rem;border-radius:var(--radius-md);font-size:.9rem}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--accent-danger);padding:.875rem 1rem;border-radius:var(--radius-md);font-size:.9rem}.user-card-avatar[data-role=customer]{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}.role-badge.customer{background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.user-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;margin-left:auto}.user-card-buttons{display:flex;gap:.5rem}.icon-btn{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.9rem}.icon-btn.edit-btn{background:#0ea5e926;color:var(--accent-secondary);border:1px solid rgba(14,165,233,.3)}.icon-btn.edit-btn:hover{background:#0ea5e940;transform:translateY(-1px)}.icon-btn.delete-btn{background:#ef444426;color:var(--accent-danger);border:1px solid rgba(239,68,68,.3)}.icon-btn.delete-btn:hover{background:#ef444440;transform:translateY(-1px)}.quotations-header{margin-bottom:2rem}.quotations-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.quotations-header p{color:var(--text-muted);margin:0}.quotation-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;max-width:500px}.quotation-stats .stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem}.quotation-stats .stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.quotation-stats .stat-icon.pending{background:#f59e0b26;color:#f59e0b}.quotation-stats .stat-icon.quoted{background:#0ea5e926;color:#0ea5e9}.quotation-stats .stat-content{display:flex;flex-direction:column}.quotation-stats .stat-value{font-size:1.75rem;font-weight:600;line-height:1}.quotation-stats .stat-label{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.375rem;background:var(--bg-secondary);border-radius:var(--radius-md);width:fit-content;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a202cf2;box-shadow:0 2px 8px #0000001a}.filter-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.quotations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.quotation-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;text-decoration:none;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem}.quotation-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:var(--shadow-lg),0 0 30px #2dd4bf1a}.quotation-card-header{display:flex;align-items:center;justify-content:space-between}.quotation-card .card-arrow{color:var(--text-muted);transition:all .2s ease}.quotation-card:hover .card-arrow{color:var(--primary);transform:translate(4px)}.quotation-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.quotation-part{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);margin:0}.quotation-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.quotation-meta .meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.quotation-meta .meta-item.deadline{color:#ef4444;font-weight:500}.quotation-files{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);width:fit-content}.quotation-price{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#10b981;font-weight:600;padding:.5rem .75rem;background:#10b9811a;border-radius:var(--radius-sm);width:fit-content}.quotation-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.action-hint{font-size:.8rem;color:#22c55e;font-weight:500;cursor:pointer}.quoted-date{font-size:.8rem;color:var(--text-muted)}.badge-accepted{background:#10b98126;color:#10b981}.badge-rejected{background:#ef444426;color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{margin:0}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}@media (max-width: 768px){.quotations-page{padding:1rem}.quotations-grid{grid-template-columns:1fr}.filter-tabs{width:100%;overflow-x:auto}}.quotation-detail-page{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.customer-note-alert{display:flex;gap:1rem;margin:1.5rem 2rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#0ea5e91a,#06b6d41a);border:1px solid rgba(14,165,233,.3);border-left:4px solid #0ea5e9;border-radius:var(--radius-lg)}.customer-note-alert .alert-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0ea5e933;border-radius:var(--radius-md);color:#0ea5e9}.customer-note-alert .alert-content{flex:1}.customer-note-alert .alert-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;color:#0ea5e9;font-size:.9rem}.customer-note-alert .alert-header strong{font-weight:600}.customer-note-alert .alert-date{font-size:.75rem;color:var(--text-muted);font-weight:400}.customer-note-alert .alert-text{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.6;white-space:pre-wrap}.quote-form-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.quote-form-header h2{display:flex;align-items:center;gap:.5rem;margin:0}.submitted-quote-compact{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md)}.submitted-quote-compact .compact-info{display:flex;flex-direction:column;gap:.125rem}.submitted-quote-compact .compact-price{font-size:1.1rem;font-weight:700;color:#10b981;line-height:1}.submitted-quote-compact .compact-date{font-size:.75rem;color:var(--text-muted)}.btn-compact-view{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#10b981;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-compact-view:hover{background:#059669;transform:translateY(-1px)}.btn-compact-view:active{transform:translateY(0)}.quotation-modal{max-width:800px}.quotation-modal .modal-title{display:flex;align-items:center;gap:.75rem;color:#10b981}.quotation-modal .modal-title h2{margin:0}.quotation-modal .summary-main-info{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.quotation-modal .summary-total{display:flex;align-items:baseline;gap:1rem}.quotation-modal .summary-label{font-size:1rem;color:var(--text-secondary)}.quotation-modal .summary-total-price{font-size:2rem;font-weight:700;color:#10b981}.quotation-modal .summary-meta-row{display:flex;gap:2rem;flex-wrap:wrap}.quotation-modal .summary-delivery,.quotation-modal .summary-date-sent{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.quotation-modal .summary-items h4{margin:0 0 1rem;font-size:.95rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.quotation-modal .summary-items-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.quotation-modal .summary-item-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:1rem;flex-wrap:wrap}.quotation-modal .summary-item-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:200px}.quotation-modal .summary-item-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary)}.quotation-modal .summary-item-note{font-size:.85rem;color:var(--text-muted);font-style:italic}.quotation-modal .summary-item-calc{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-secondary);flex-shrink:0}.quotation-modal .summary-item-price{font-weight:600;color:var(--text-primary)}.quotation-modal .summary-item-multiply,.quotation-modal .summary-item-equals{color:var(--text-muted)}.quotation-modal .summary-item-qty{font-weight:500}.quotation-modal .summary-item-total{font-weight:700;color:#10b981;margin-left:.25rem}.quotation-modal .summary-general-note{display:flex;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:var(--radius-md)}.quotation-modal .summary-general-note p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.6}.header-left{display:flex;align-items:center;gap:1.5rem}.back-link{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s}.back-link:hover{color:var(--primary)}.header-info{display:flex;flex-direction:column;gap:.5rem}.header-top{display:flex;align-items:center;gap:1rem}.header-top h1{margin:0;font-size:1.5rem;font-weight:600}.header-meta{display:flex;flex-wrap:wrap;gap:1rem}.header-meta .meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.header-meta .meta-item.deadline{color:#ef4444;font-weight:500}.detail-content{display:grid;grid-template-columns:1fr 400px;flex:1;overflow:hidden}.viewer-panel{display:flex;flex-direction:column;border-right:1px solid var(--border-color);overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.panel-header h2{margin:0;font-size:1rem;font-weight:600}.file-count{font-size:.85rem;color:var(--text-muted)}.viewer-container{flex:1;overflow:auto;background:var(--bg-tertiary)}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1.5rem;overflow-y:auto}.project-file-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.project-file-card:hover{border-color:var(--primary);background:var(--bg-card)}.file-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.file-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.file-card-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-desc{font-size:.75rem;color:var(--text-muted)}.file-card-meta{display:flex;align-items:center;gap:.5rem}.file-card-qty{font-size:.75rem;color:var(--primary)}.file-card-revision{font-size:.75rem;color:#8b5cf6;font-weight:600;padding:.1rem .4rem;background:#8b5cf61a;border-radius:var(--radius-sm)}.file-card-badge{font-size:.65rem;font-weight:600;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-muted)}.file-card-view{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s}.file-card-view:hover{background:var(--primary);color:#fff}.back-to-files{display:flex;align-items:center;gap:.25rem;background:transparent;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:color .2s}.back-to-files:hover{color:var(--primary)}.file-viewer-header{display:flex;align-items:center;gap:1rem}.file-viewer-header .file-name-display{flex:1;font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);text-align:center;padding:0 1rem}.download-file-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-decoration:none;flex-shrink:0}.download-file-btn:hover{background:var(--primary);border-color:var(--primary);color:var(--bg-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00d4aa4d}.file-notes{padding:1rem 1.5rem;background:#2dd4bf14;border-top:1px solid var(--border-color);font-size:.9rem}.pdf-preview{width:100%;height:100%;border:none}.image-preview{max-width:100%;max-height:100%;object-fit:contain;display:block;margin:auto}.excel-preview,.file-preview-placeholder,.no-model{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted)}.quote-panel{display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-secondary)}.quote-form-section{padding:1.5rem;border-bottom:1px solid var(--border-color)}.quote-form-section h2{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:var(--primary)}.quote-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.price-input-wrapper{display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s}.price-input-wrapper:focus-within{border-color:var(--primary)}.price-input-wrapper .currency{padding:0 1rem;font-size:1rem;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border-right:1px solid var(--border-color)}.price-input-wrapper input{flex:1;padding:.875rem 1rem;font-size:1.1rem;font-weight:600;background:transparent;border:none;color:var(--text-primary)}.price-input-wrapper input:focus{outline:none}.price-input-wrapper input::placeholder{color:var(--text-muted)}.date-input-wrapper{position:relative}.date-input-wrapper .date-input{width:100%;padding:.875rem 1rem;font-size:.95rem;font-family:inherit;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all .2s;cursor:pointer}.date-input-wrapper .date-input:hover{border-color:var(--primary)}.date-input-wrapper .date-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b9811a}.date-input-wrapper .date-input::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;margin-left:.5rem;padding:.25rem;filter:invert(.7);transition:all .2s}.date-input-wrapper .date-input::-webkit-calendar-picker-indicator:hover{filter:invert(.5);background:#ffffff1a}.date-input-wrapper .date-input:not(:placeholder-shown){color:var(--text-primary);font-weight:500}.date-input-wrapper .date-input::-webkit-datetime-edit-text,.date-input-wrapper .date-input::-webkit-datetime-edit-month-field,.date-input-wrapper .date-input::-webkit-datetime-edit-day-field,.date-input-wrapper .date-input::-webkit-datetime-edit-year-field{color:var(--text-primary)}.date-input-wrapper .date-input:invalid{color:var(--text-muted)}.quote-form textarea{width:100%;padding:.875rem;font-size:.9rem;font-family:inherit;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);resize:vertical;transition:border-color .2s}.quote-form textarea:focus{outline:none;border-color:var(--primary)}.quote-form textarea::placeholder{color:var(--text-muted)}.btn-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;margin-top:.5rem}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.validation-warning{margin:.75rem 0 0;padding:.5rem .75rem;font-size:.8rem;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);text-align:center}.quoted-info{margin:1rem 0 0;font-size:.8rem;color:var(--text-muted);text-align:center}.checklist-preview-section{padding:1.5rem;flex:1}.checklist-preview-section h2{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1rem;font-weight:600}.checklist-info{font-size:.8rem;color:var(--text-muted);margin:0 0 1rem}.checklist-items-preview{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.checklist-group-preview{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.checklist-item-preview{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.8rem}.checklist-item-preview.parent-item{font-weight:600;background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(16,185,129,.08) 100%);border-left:3px solid var(--primary);padding:.6rem .75rem}.checklist-item-preview .children-count{font-weight:400;font-size:.75rem;color:var(--text-muted);margin-left:.5rem}.checklist-children-preview{display:flex;flex-direction:column;gap:.2rem;margin-left:2rem;padding-left:.5rem;border-left:2px solid var(--border-color)}.checklist-item-preview.child-item{padding:.5rem .75rem;font-size:.75rem;opacity:.85;background:transparent;border-radius:0}.checklist-item-preview .item-number{color:var(--text-muted);font-weight:500;min-width:28px;font-size:.75rem}.checklist-item-preview .item-title{color:var(--text-secondary)}.checklist-item-preview .checked-icon{margin-left:auto;color:var(--success)}.file-checklist-section{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;margin:1rem 1rem 1.5rem;position:relative;z-index:1}.file-checklist-section .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.file-checklist-section .panel-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600}.file-checklist-section .progress-text{font-size:.85rem;color:var(--text-muted);font-weight:500}.badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-full)}.badge-pending{background:#f59e0b26;color:#f59e0b}.badge-quoted{background:#0ea5e926;color:#0ea5e9}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.detail-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.viewer-panel{border-right:none;border-bottom:1px solid var(--border-color)}.files-grid{grid-template-columns:1fr}}@media (max-width: 768px){.detail-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.header-left{flex-direction:column;align-items:flex-start}.customer-note-alert{margin:1rem;flex-direction:column}.quote-form-header{flex-direction:column}.submitted-quote-compact{width:100%;justify-content:space-between}.quotation-modal .summary-item-row{flex-direction:column;align-items:flex-start}.quotation-modal .summary-item-calc{width:100%;justify-content:space-between}}.quotation-items-section{margin-bottom:1.5rem}.items-header{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.quotation-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem}.quotation-item.extra-item{border-color:#3b82f64d;background:#3b82f60d}.quotation-item .item-header{margin-bottom:1rem}.quotation-item .item-header .form-group{margin-bottom:0}.quotation-item .item-header input{width:100%;padding:.75rem 1rem;font-size:.95rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all .2s}.quotation-item .item-header input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b9811a}.file-item-title{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);padding:.5rem 0;flex:1;min-width:0}.file-item-title>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.item-revision{font-size:.75rem;color:var(--text-muted);background:#8b5cf61a;padding:.125rem .5rem;border-radius:var(--radius-sm)}.item-inputs{display:grid;grid-template-columns:1fr 100px 140px;gap:.75rem;margin-bottom:.75rem}.item-inputs.single-item{grid-template-columns:1fr}.item-inputs-with-calculation{display:flex;flex-direction:column;gap:1rem;margin-bottom:.75rem}.calculation-display{display:flex;align-items:center;gap:1rem;padding:1rem;background:#34d39914;border:1px solid rgba(52,211,153,.2);border-radius:8px}.quantity-info,.total-info{display:flex;flex-direction:column;gap:.25rem}.quantity-info .label,.total-info .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.quantity-info .value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.total-info .value{font-size:1.5rem;font-weight:700;color:var(--accent-primary)}.multiply-symbol{font-size:1.5rem;font-weight:700;color:var(--text-secondary);margin:0 .5rem}.item-calculation-display{display:flex;align-items:center;gap:.4rem;font-size:.85rem;white-space:nowrap;flex-shrink:0}.item-calculation-display .unit-price{color:var(--text-primary);font-weight:500;font-size:.85rem}.item-calculation-display .multiply{color:var(--text-secondary);font-size:.8rem}.item-calculation-display .total-price{color:var(--accent-primary);font-weight:700;font-size:.95rem}.item-calculation-display .no-price{color:var(--text-secondary);font-style:italic;font-size:.85rem}.quotation-item.summary-item{padding:1rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color)}.item-summary-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.item-price-display{font-size:1.1rem;font-weight:700;color:var(--accent-primary);white-space:nowrap;flex-shrink:0}.item-notes-display{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-secondary);font-style:italic}.single-file-quotation{margin-bottom:1.5rem}.single-file-quotation .items-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.viewer-mode-info{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:8px;color:var(--accent-primary);font-size:.85rem;margin-top:1rem}.viewer-mode-info svg{flex-shrink:0;margin-top:2px}.viewer-mode-info.saving{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}.viewer-mode-info.saving .saving-icon{animation:pulse 1s ease-in-out infinite}.viewer-mode-info.saved .saved-icon{color:#10b981}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.item-summary-row{flex-direction:column;align-items:flex-start}.item-calculation-display{width:100%;justify-content:flex-end}.file-item-title{max-width:100%}}.quotation-item .form-group{gap:.375rem}.quotation-item .form-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.quotation-item .form-group input,.quotation-item .form-group textarea{width:100%;padding:.625rem .875rem;font-size:.95rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all .2s}.quotation-item .form-group input:focus,.quotation-item .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b9811a}.quotation-item .form-group input::placeholder,.quotation-item .form-group textarea::placeholder{color:var(--text-muted)}.price-group .price-input-wrapper{background:var(--bg-secondary)}.price-group .price-input-wrapper .currency{background:var(--bg-tertiary);padding:0 .75rem;font-size:.9rem}.price-group .price-input-wrapper input{padding:.625rem .875rem;font-size:.95rem;font-weight:600}.subtotal-group{min-width:120px}.subtotal-display{display:flex;align-items:center;height:38px;padding:0 .875rem;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);font-weight:700;color:var(--accent-primary);font-size:.95rem}.notes-group{grid-column:1 / -1}.notes-group textarea{resize:vertical;min-height:60px;font-family:inherit}.btn-remove-item{margin-top:.5rem;padding:.5rem .875rem;background:#ef44441a;color:#ef4444;border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-remove-item:hover{background:#ef444433}.btn-add-extra{width:100%;padding:.875rem;background:#3b82f61a;color:#3b82f6;border:1px dashed rgba(59,130,246,.3);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem}.btn-add-extra:hover{background:#3b82f626;border-color:#3b82f680}.quote-summary{background:linear-gradient(135deg,#10b9810d,#10b9811a);border:2px solid rgba(16,185,129,.2);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.total-price{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}.total-price span:first-child{font-weight:600;color:var(--text-secondary)}.total-amount{font-size:1.75rem;font-weight:700;color:var(--accent-primary);letter-spacing:-.5px}:root{--bg-primary: #0a0b0d;--bg-secondary: #12141a;--bg-tertiary: #1a1d26;--bg-card: #15171f;--bg-hover: #1e2130;--accent-primary: #00d4aa;--accent-secondary: #0ea5e9;--accent-warning: #f59e0b;--accent-danger: #ef4444;--accent-success: #10b981;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #2a2f3d;--border-light: #3a4050;--status-pending: #f59e0b;--status-reviewing: #0ea5e9;--status-completed: #10b981;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 212, 170, .15);--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(0,212,170,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(14,165,233,.03) 0%,transparent 50%),linear-gradient(180deg,var(--bg-primary) 0%,#080910 100%);pointer-events:none;z-index:-1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-sans);font-size:.9rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#00b894);color:#000;box-shadow:var(--shadow-md),0 0 20px #00d4aa33}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 30px #00d4aa4d}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-light)}.btn-danger{background:var(--accent-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.input{padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease}.input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d4aa1a}.input::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .2s ease}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:9999px}.badge-pending{background:#f59e0b26;color:var(--status-pending);border:1px solid rgba(245,158,11,.3)}.badge-reviewing{background:#0ea5e926;color:var(--status-reviewing);border:1px solid rgba(14,165,233,.3)}.badge-completed{background:#10b98126;color:var(--status-completed);border:1px solid rgba(16,185,129,.3)}.progress-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:3px;transition:width .3s ease}.layout{display:flex;min-height:100vh}.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem}.main-content{flex:1;padding:2rem;overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.page-title{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.page-subtitle{font-size:.95rem;color:var(--text-secondary);margin-top:.25rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.sidebar{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease}.animate-slide-up{animation:slideUp .4s ease}.stagger-children>*{animation:slideUp .4s ease backwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.checkbox-wrapper{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-wrapper input[type=checkbox]{display:none}.checkbox-custom{width:22px;height:22px;border:2px solid var(--border-light);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.checkbox-wrapper input[type=checkbox]:checked+.checkbox-custom{background:var(--accent-primary);border-color:var(--accent-primary)}.checkbox-custom svg{width:14px;height:14px;color:#000;opacity:0;transform:scale(.5);transition:all .2s ease}.checkbox-wrapper input[type=checkbox]:checked+.checkbox-custom svg{opacity:1;transform:scale(1)}.checkbox-label{font-size:.95rem;color:var(--text-primary);line-height:1.4}.checkbox-wrapper input[type=checkbox]:checked~.checkbox-label{color:var(--text-secondary);text-decoration:line-through}.file-upload{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease}.file-upload:hover{border-color:var(--accent-primary);background:#00d4aa08}.file-upload.active{border-color:var(--accent-primary);background:#00d4aa0d}.file-upload input[type=file]{display:none}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:1000}.toast{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.5rem;margin-top:.5rem;box-shadow:var(--shadow-lg);animation:slideUp .3s ease;display:flex;align-items:center;gap:.75rem}.toast-success{border-color:var(--accent-success)}.toast-error{border-color:var(--accent-danger)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state-icon{width:64px;height:64px;margin:0 auto 1rem;opacity:.5}.empty-state-title{font-size:1.25rem;color:var(--text-secondary);margin-bottom:.5rem}
