:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#fff;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary, #1a1a1a)}#root{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary, #1a1a1a)}a{font-weight:500;color:#667eea;text-decoration:none}a:hover{color:#5a67d8;text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-secondary, #2d2d2d);color:var(--text-primary, #ffffff);cursor:pointer;transition:all .2s ease}button:hover{background-color:var(--bg-tertiary, #333333)}button:focus,button:focus-visible{outline:2px solid #667eea;outline-offset:2px}:root{--primary-color: #667eea;--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .05);--accent-color: #4CAF50;--bg-color: #ffffff;--text-color: #000000}.app.light{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #ffffff;--text-primary: #212529;--text-secondary: #495057;--text-muted: #6c757d;--border-color: #e9ecef;--border-bottom: #e9ecef;--tab-hover: #e9ecef;--shadow: rgba(0, 0, 0, .05);--shadow-strong: rgba(0, 0, 0, .1);--header-bg: #ffffff;--header-text: #000000}.app.dark{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #333333;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #a0a0a0;--border-color: #404040;--border-bottom: #404040;--tab-hover: #404040;--shadow: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .5);--header-bg: #000000;--header-text: #ffffff}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.header{text-align:center;padding:2rem 1rem;background:var(--header-bg);color:var(--header-text);box-shadow:0 2px 10px var(--shadow-strong);position:relative;border-bottom:1px solid var(--border-color)}.contact-button{position:absolute;top:1rem;left:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all .2s ease;min-width:100px;text-align:center}.request-project-button{position:absolute;top:1rem;left:130px;background:linear-gradient(135deg,#00d4ff,#0f8);border:none;border-radius:6px;padding:.5rem 1.5rem;cursor:pointer;font-size:.875rem;font-weight:600;color:#000;transition:all .2s ease;text-align:center}.dashboard-button,.login-button{position:absolute;top:1rem;left:320px;background:#00d4ff33;border:2px solid var(--primary-color, #00d4ff);border-radius:6px;padding:.5rem 1.5rem;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--primary-color, #00d4ff);transition:all .2s ease;text-align:center}.dashboard-button:hover,.login-button:hover{background:#00d4ff4d;transform:translateY(-2px)}.request-project-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff66}.request-project-button:active,.dashboard-button:active,.login-button:active{transform:translateY(0)}.contact-button:hover{background:var(--tab-hover);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow)}.contact-button:active{transform:translateY(0)}.contact-bubble{position:absolute;top:4rem;left:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-strong);padding:0;min-width:280px;z-index:1000;animation:fadeIn .2s ease-out}.contact-content{padding:1.5rem;position:relative}.contact-content h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.contact-content p{margin:0;color:var(--text-secondary);line-height:1.5}.contact-content a{color:var(--primary-color);text-decoration:none;font-weight:500}.contact-content a:hover{text-decoration:underline}.close-button{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:var(--tab-hover);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.header-content{display:flex;flex-direction:column;align-items:center}.theme-toggle{position:absolute;top:1rem;right:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:all .2s ease;min-width:80px;text-align:center}.theme-toggle:hover{background:var(--tab-hover);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow)}.theme-toggle:active{transform:translateY(0)}.header h1{margin:0;font-size:2.5rem;font-weight:600;letter-spacing:-.02em}.tagline{margin:.5rem 0 0;font-size:1.1rem;opacity:.9;font-weight:300}.tab-navigation{display:flex;background-color:var(--bg-secondary);border-bottom:2px solid var(--border-bottom);padding:0;margin:0;overflow-x:auto;box-shadow:0 2px 4px var(--shadow)}.tab-button{flex:1;min-width:180px;padding:1rem 1.5rem;border:none;background:transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease;border-bottom:3px solid transparent;white-space:nowrap}.tab-button:hover{background-color:var(--tab-hover);color:var(--text-primary)}.tab-button.active{background-color:var(--bg-tertiary);color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.main-content{flex:1;padding:1.5rem 1rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.tab-content{min-height:400px;padding:1.5rem;background:var(--bg-tertiary);border-radius:8px;box-shadow:0 2px 8px var(--shadow);border:1px solid var(--border-color);font-size:1rem;color:var(--text-primary);line-height:1.6}.tab-content h2{color:var(--primary-color);font-size:1.8rem;font-weight:600;margin:0 0 1rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem;text-align:center}.tab-content h3{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:1.5rem 0 .8rem;text-align:center}.tab-content h4{color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin:1rem 0 .5rem}.tab-content p{margin:0 0 1rem;color:var(--text-secondary)}.tab-content ul{margin:.5rem 0 1rem 1.5rem;padding:0}.tab-content li{margin:.3rem 0;color:var(--text-secondary)}.tab-content strong{color:var(--text-primary);font-weight:600}.mission-statement{text-align:center;font-size:1.2rem;color:var(--text-secondary);margin:0 0 1.5rem;font-style:italic;max-width:800px;margin-left:auto;margin-right:auto}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:1rem 0;justify-items:center}.expertise-card{background:var(--bg-secondary);padding:1.2rem;border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease;text-align:center;width:100%;max-width:380px;box-shadow:0 2px 8px var(--shadow)}.expertise-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow-strong)}.expertise-card h3{margin:0 0 .8rem;color:var(--primary-color);font-size:1.2rem;font-weight:600;text-align:center}.expertise-card p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.5;text-align:left;font-size:.95rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.8rem}.tech-tags span{background:linear-gradient(135deg,var(--primary-color),#5a7cf0);color:#fff;padding:.3rem .6rem;border-radius:16px;font-size:.8rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.tech-tags span:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.project-highlight{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:2px solid var(--primary-color);margin:1.5rem 0;box-shadow:0 4px 16px var(--shadow)}.project-highlight h3{margin:0 0 .8rem;color:var(--primary-color);font-size:1.3rem;font-weight:600;text-align:center}.project-highlight p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.5;text-align:left;font-size:.95rem}.repo-grid,.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0;justify-items:center}.repo-card,.project-card{background:var(--bg-secondary);padding:1.2rem;border-radius:6px;border:1px solid var(--border-color);transition:all .2s ease;text-align:center;width:100%;max-width:320px;box-shadow:0 2px 6px var(--shadow)}.repo-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.repo-card h4,.project-card h4{margin:0 0 .8rem;color:var(--primary-color);font-size:1.1rem;font-weight:600}.repo-card p,.project-card p{margin:0;color:var(--text-secondary);line-height:1.5;font-size:.95rem;text-align:left}.status{margin-top:1rem;padding:.5rem;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:6px;color:#4caf50;font-weight:500;font-size:.9rem}.client-tags span:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.project-image{width:100%;max-width:500px;height:auto;border-radius:6px;margin:.8rem 0;box-shadow:0 3px 10px var(--shadow);border:1px solid var(--border-color);transition:transform .3s ease}.project-image:hover{transform:scale(1.02);cursor:pointer}.image-container{text-align:center;margin:1rem 0}.image-caption{font-size:.85rem;color:var(--text-secondary);margin-top:.4rem;font-style:italic}.client-focus{margin:2rem 0;text-align:center}.client-tags{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:1rem 0}.client-tags span{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid var(--border-color);transition:all .2s ease}.project-links{margin:1rem 0}.project-features{display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem}@media (max-width: 768px){.contact-button{padding:.4rem .8rem;font-size:.8rem;min-width:80px;top:.8rem;left:.8rem}.contact-bubble{top:3.5rem;left:.8rem;right:.8rem;min-width:auto;max-width:calc(100vw - 1.6rem)}.theme-toggle{padding:.4rem .8rem;font-size:.8rem;min-width:70px;top:.8rem;right:.8rem}.header h1{font-size:2rem}.tagline{font-size:1rem}.tab-navigation{flex-direction:column}.tab-button{min-width:auto;text-align:center}.main-content{padding:1rem .8rem}.tab-content{padding:1rem;min-height:300px}.expertise-grid,.services-grid,.client-grid,.repo-grid,.projects-grid{gap:.8rem}}@media (max-width: 480px){.header{padding:1.5rem 1rem}.contact-button{padding:.3rem .6rem;font-size:.75rem;min-width:70px;top:.7rem;left:.7rem}.contact-bubble{top:3.2rem;left:.7rem;right:.7rem}.theme-toggle{padding:.3rem .6rem;font-size:.75rem;min-width:60px;top:.7rem;right:.7rem}.header h1{font-size:1.8rem}.tab-button{padding:.8rem 1rem;font-size:.9rem}}.services-grid,.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0;justify-items:center}.service-card,.client-card{background:var(--bg-secondary);padding:1.2rem;border-radius:6px;border:1px solid var(--border-color);transition:all .2s ease;text-align:center;width:100%;max-width:320px}.service-card:hover,.client-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.service-card h4,.client-card h4{margin:0 0 .8rem;color:var(--primary-color);font-size:1.1rem;font-weight:600}.service-card p,.client-card p{margin:0;color:var(--text-secondary);line-height:1.5;font-size:.95rem}.project-links{margin:1rem 0;text-align:center}.demo-link{display:inline-block;padding:6px 12px;background:var(--accent-color);color:var(--bg-color);text-decoration:none;border-radius:5px;font-weight:600;transition:all .3s ease;font-size:.9rem}.live-demo-button{padding:12px 32px!important;font-size:1.1rem!important;min-width:280px;text-align:center;display:inline-block;box-shadow:0 4px 8px #4caf504d}.live-demo-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #4caf5066}.project-features{display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem;justify-content:center}.project-features span{background:#4caf501a;color:#4caf50;padding:3px 6px;border-radius:3px;font-size:.8rem;border:1px solid rgba(76,175,80,.3)}.images-side-by-side{display:flex;gap:1rem;margin:1rem 0;justify-content:center}.images-side-by-side img{width:calc(50% - .5rem);height:auto;border-radius:8px;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.images-side-by-side img.clickable{cursor:pointer}.images-side-by-side img.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.fullscreen-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:none;justify-content:center;align-items:center;z-index:1000;cursor:pointer}.fullscreen-overlay.active{display:flex}.fullscreen-overlay img,.fullscreen-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;display:block}.close-fullscreen{position:absolute;top:20px;right:30px;color:#fff;font-size:2rem;cursor:pointer;z-index:1001;background:#00000080;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.main-content{padding:1rem .8rem}.tab-content{padding:1rem;min-height:300px}.expertise-grid,.services-grid,.client-grid,.repo-grid,.projects-grid{gap:.8rem}.images-side-by-side{flex-direction:column;gap:.8rem}.images-side-by-side img{width:100%}.close-fullscreen{top:10px;right:15px;font-size:1.5rem;width:35px;height:35px}}.admin-panel-modal{position:fixed;inset:0;background:#000c;z-index:1000;display:flex;flex-direction:column;align-items:center;padding:2rem;overflow-y:auto}.admin-panel{background:var(--bg-secondary);border-radius:12px;padding:2rem;max-width:1200px;width:100%;margin-top:1rem}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:1rem}.admin-panel-header h3{margin:0;color:var(--text-primary)}.admin-request-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.admin-request-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px);transition:all .2s ease}.expertise-carousel{position:relative;display:flex;align-items:center;gap:1rem;margin:2rem 0;min-height:350px}.carousel-track-container{flex:1;overflow:hidden;padding:0 1rem;margin:0 .5rem}.carousel-track{display:flex;gap:1.5rem;transition:transform .4s ease-in-out}.carousel-slide{min-width:calc((100% - 3rem) / 3);flex-shrink:0}.carousel-slide .expertise-card{padding-right:1.5rem}.carousel-btn{background:var(--primary-action);border:none;color:#fff;font-size:2.5rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0;box-shadow:0 2px 8px #00d4ff4d}.carousel-btn:hover{background:var(--selected-state);transform:scale(1.1);box-shadow:0 4px 16px #00d4ff80}.carousel-btn:active{transform:scale(.95)}.carousel-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-btn:disabled:hover{transform:none;background:var(--primary-action)}.carousel-indicators{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.carousel-indicators .indicator{width:12px;height:12px;border-radius:50%;border:2px solid var(--primary-action);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.carousel-indicators .indicator:hover{background:#00d4ff4d;transform:scale(1.2)}.carousel-indicators .indicator.active{background:var(--primary-action);transform:scale(1.3);box-shadow:0 0 8px #00d4ff99}@media (max-width: 768px){.carousel-btn{width:40px;height:40px;font-size:2rem}.expertise-carousel{min-height:400px}.carousel-slide{min-width:100%}.carousel-track{gap:1rem}}@media (max-width: 1024px) and (min-width: 769px){.carousel-slide{min-width:calc(50% - .75rem)}}:root{--primary-action: #0EA5E9;--primary-hover: #0284C7;--secondary: #64748B;--selected-state: #8B5CF6;--bg-base: #0F172A;--bg-card: #1E293B;--border: #334155;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--success: #10B981;--warning: #F59E0B;--error: #EF4444}.configurator-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.configurator-modal{background:var(--bg-card);border-radius:16px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #0009;position:relative;animation:slideUp .3s ease-out;border:1px solid var(--border)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.close-btn{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease-in-out}.close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.configurator-header{padding:32px 32px 16px;border-bottom:1px solid var(--border)}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.clear-progress-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease-in-out}.clear-progress-btn:hover{border-color:var(--text-secondary);color:var(--text-primary);background:#ffffff0d}.configurator-header h2{margin:0 0 24px;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.progress-bar{width:100%;height:6px;background:var(--border);border-radius:6px;overflow:hidden;margin-bottom:16px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-action),var(--selected-state));transition:width .3s ease-in-out;border-radius:6px}.step-indicator{color:var(--text-secondary);font-size:14px;font-weight:500;opacity:.8;margin:0}.configurator-body{padding:32px;min-height:400px}.step-content h3{margin-top:0;margin-bottom:16px;font-size:20px;font-weight:600;color:var(--text-primary);line-height:1.3}.step-content p,.hint{font-size:15px;line-height:1.6;color:var(--text-secondary);margin-bottom:24px}.hint{color:#fff9;margin:-8px 0 16px;font-size:14px}.project-types-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.project-type-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:24px;cursor:pointer;transition:all .15s ease-in-out;text-align:left;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.project-type-card:hover{border-color:var(--primary-action);background:#0ea5e90d;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.project-type-card.selected{border:2px solid var(--selected-state);background:#8b5cf61a;transform:translateY(-1px)}.type-label{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.type-desc{font-size:13px;color:var(--text-secondary);opacity:.8;line-height:1.4}.description-input{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;color:var(--text-primary);font-size:15px;font-family:inherit;resize:vertical;min-height:200px;line-height:1.6;transition:border-color .15s ease-in-out}.description-input:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #0ea5e91a}.description-input::placeholder{color:var(--text-secondary);opacity:.7}.features-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.feature-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:10px 16px;cursor:pointer;transition:all .15s ease-in-out;font-size:14px;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;height:44px;min-width:0}.feature-chip:hover{border-color:var(--primary-action);background:#0ea5e90d;transform:scale(1.02)}.feature-chip.selected{border-color:var(--selected-state);background:var(--selected-state);color:#fff;font-weight:500}.feature-chip.selected .feature-hours{background:#fff3;color:#fff}.feature-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feature-hours{font-size:12px;color:var(--text-secondary);font-weight:500;padding:2px 6px;background:#0003;border-radius:4px;flex-shrink:0}.timeline-budget-section{display:flex;flex-direction:column;gap:32px}.timeline-budget-section h4{margin-bottom:16px;color:var(--text-color, #ffffff)}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.option-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .15s ease-in-out;font-size:15px;color:var(--text-primary);text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center}.option-btn:hover{border-color:var(--primary-action);background:#0ea5e90d;transform:translateY(-1px)}.option-btn.selected{border-color:var(--selected-state);background:#8b5cf626;color:var(--text-primary);font-weight:500}.contact-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.contact-form input{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;color:var(--text-primary);font-size:15px;height:48px;transition:border-color .15s ease-in-out}.contact-form input:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #0ea5e91a}.contact-form input::placeholder{color:var(--text-secondary);opacity:.7}.contact-form input:focus{outline:none;border-color:var(--primary-color, #00d4ff)}.consent-options{display:flex;flex-direction:column;gap:16px;margin:24px 0}.estimate-disclaimer-banner{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border:2px solid var(--warning);border-radius:8px;padding:16px 20px;margin-bottom:24px;text-align:center}.estimate-disclaimer-banner strong{display:block;color:var(--warning);font-size:15px;margin-bottom:8px;letter-spacing:.5px}.estimate-disclaimer-banner p{color:var(--text-primary);font-size:13px;margin:0;line-height:1.5}.hosting-disclaimer{background:#0ea5e914;border:1px solid var(--primary-action);border-radius:8px;padding:16px;margin-top:24px}.hosting-disclaimer strong{display:block;color:var(--primary-action);font-size:14px;margin-bottom:8px}.hosting-disclaimer p{color:var(--text-secondary);font-size:13px;margin:0;line-height:1.5}.final-estimate-reminder{background:#f59e0b1a;border:2px solid var(--warning);border-radius:8px;padding:20px;margin-top:24px}.final-estimate-reminder strong{display:block;color:var(--warning);font-size:15px;margin-bottom:8px}.final-estimate-reminder p{color:var(--text-primary);font-size:14px;margin:0;line-height:1.6}.config-section{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.config-section>label:first-child:not(.checkbox-label){font-weight:600;color:var(--text-primary);font-size:15px;margin-bottom:8px}.checkbox-label{display:flex;flex-direction:column;cursor:pointer;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:all .15s ease-in-out;gap:8px;position:relative}.checkbox-label:hover{background:#8b5cf60d;border-color:var(--selected-state)}.checkbox-label input[type=checkbox]{appearance:none;width:20px;height:20px;border:2px solid var(--border);border-radius:4px;background:var(--bg-card);cursor:pointer;position:absolute;top:16px;left:16px;transition:all .15s ease-in-out;flex-shrink:0}.checkbox-label input[type=checkbox]:checked{background:var(--selected-state);border-color:var(--selected-state)}.checkbox-label input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.checkbox-label span{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.4;padding-left:36px}.checkbox-label small{color:var(--text-secondary);font-size:13px;line-height:1.4;padding-left:36px;opacity:.8}.number-input{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;color:var(--text-primary);font-size:15px;font-family:inherit;transition:border-color .15s ease-in-out}.number-input:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #0ea5e91a}.consent-checkbox{display:flex;align-items:flex-start;cursor:pointer;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:all .15s ease-in-out;gap:12px}.consent-checkbox:hover{background:#8b5cf60d;border-color:var(--selected-state)}.consent-checkbox input[type=checkbox]{appearance:none;width:20px;height:20px;border:2px solid var(--border);border-radius:4px;background:var(--bg-card);cursor:pointer;position:relative;transition:all .15s ease-in-out;flex-shrink:0;margin-top:2px}.consent-checkbox input[type=checkbox]:checked{background:var(--selected-state);border-color:var(--selected-state)}.consent-checkbox input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.consent-checkbox span{color:var(--text-primary);font-size:15px;line-height:1.5;flex:1}.privacy-intro{color:var(--text-secondary);margin-bottom:24px;font-size:15px;line-height:1.6}.privacy-note{margin-top:24px;color:var(--success);font-size:14px;font-weight:500}.mandatory-consent{margin-top:24px;padding:20px;background:#00d4ff0d;border:2px solid rgba(0,212,255,.3);border-radius:12px}.required-consent{background:transparent!important;padding:0!important}.required-consent span{font-size:16px;font-weight:500;color:var(--text-color)!important}.privacy-link{background:none;border:none;color:var(--primary-color, #00d4ff);text-decoration:underline;cursor:pointer;font-size:inherit;font-weight:600;padding:0;transition:color .2s}.privacy-link:hover{color:#0f8}.inclusive-note{margin-top:24px;padding:16px 20px;background:#8b5cf614;border:1px solid var(--selected-state);border-radius:8px;color:var(--text-primary);font-size:14px;line-height:1.6;text-align:center}.configurator-footer{padding:24px 32px 32px;border-top:1px solid var(--border)}.button-group{display:flex;justify-content:space-between;gap:16px}.btn-primary,.btn-secondary{padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease-in-out;border:none;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-primary{background:var(--primary-action);color:#fff;flex:1}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 8px 25px #0ea5e966}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:#ffffff0d;border-color:var(--text-secondary);color:var(--text-primary)}.error-message{color:#f44;padding:12px;background:#ff44441a;border-radius:8px;margin-bottom:16px;text-align:center}.success-modal{max-width:500px}.success-content{padding:64px 32px;text-align:center}.success-icon{font-size:64px;margin-bottom:24px}.success-content h2{color:var(--primary-color, #00d4ff);margin-bottom:16px}.success-content p{color:#fffc;margin-bottom:32px;font-size:16px}.loading{text-align:center;padding:32px;color:#fff9}.error{text-align:center;padding:32px;color:#f44}.estimate-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;margin-top:24px}.estimate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border)}.tier-badge{padding:6px 12px;border-radius:16px;font-weight:500;font-size:13px;background:#8b5cf626;color:var(--selected-state);border:1px solid var(--selected-state)}.complexity-score{font-size:14px;color:var(--text-secondary);font-weight:500}.estimate-details{margin-bottom:32px}.estimate-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.estimate-row:last-child{border-bottom:none}.estimate-row.primary{background:#0ea5e914;padding:20px 16px;margin:16px -16px;border-radius:8px;border:none;border-bottom:none}.estimate-row.total{background:#8b5cf614;padding:16px;margin:8px -16px;border-radius:8px;border:none;font-weight:600;border-bottom:none}.estimate-row.urgent{background:#f59e0b14;padding:12px 16px;margin:4px -16px;border-radius:6px;border:none;border-bottom:none}.estimate-row.urgent .value{color:var(--warning)}.estimate-row.primary .label{font-size:17px;font-weight:600;color:var(--text-primary)}.estimate-row.primary .value{font-size:18px;font-weight:700;color:var(--primary-action)}.estimate-row .label{color:var(--text-secondary);font-size:14px;font-weight:500}.estimate-row .value{color:var(--text-primary);font-weight:600;font-size:15px}.complexity-breakdown{border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.complexity-breakdown h4{color:var(--text-primary);font-size:16px;margin-bottom:16px;font-weight:600}.complexity-breakdown ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.complexity-breakdown li{color:var(--text-secondary);font-size:14px;padding:8px 0 8px 20px;position:relative;border-bottom:1px solid rgba(255,255,255,.05)}.complexity-breakdown li:before{content:"•";position:absolute;left:0;color:var(--selected-state);font-weight:700}.complexity-breakdown li:last-child{border-bottom:none}.estimate-note{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--border)}.tier-indicator{display:flex;justify-content:space-between;align-items:center;background:#8b5cf614;padding:12px 16px;border-radius:8px;margin-bottom:24px;border:1px solid var(--selected-state)}.tier-badge-small{padding:6px 12px;border-radius:16px;font-weight:500;font-size:13px;background:#8b5cf626;color:var(--selected-state)}.tier-rate{font-weight:600;font-size:15px;color:var(--text-primary)}.live-estimate-preview{position:sticky;top:16px;background:var(--bg-card);border:1px solid var(--selected-state);border-radius:8px;padding:16px;margin-bottom:24px;box-shadow:0 4px 12px #8b5cf61a}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.preview-title{font-size:14px;font-weight:600;color:var(--selected-state)}.preview-price{font-size:16px;font-weight:700;color:var(--text-primary)}.preview-details{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.smart-recommendations{background:#8b5cf60d;border:1px solid var(--selected-state);border-radius:8px;padding:16px;margin-bottom:24px}.recommendation-text{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.recommendation-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.recommendation-chip{background:#8b5cf61a;color:var(--selected-state);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.apply-recommendations-btn{background:var(--selected-state);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.apply-recommendations-btn:hover{background:#7c3aed;transform:translateY(-1px)}.feature-chip.recommended{border-color:var(--selected-state);background:#8b5cf60d}.description-helper{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:24px}.helper-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.helper-section strong{color:var(--text-primary);font-size:14px;display:block;margin-bottom:8px}.helper-section ul{margin:0;padding-left:16px;color:var(--text-secondary);font-size:13px;line-height:1.5}.example-text{color:var(--text-secondary);font-size:13px;font-style:italic;line-height:1.5;margin:0;padding:8px 12px;background:#8b5cf60d;border-radius:4px;border-left:3px solid var(--selected-state)}.description-input-container{position:relative}.input-stats{display:flex;justify-content:flex-end;margin-top:8px}.word-count{font-size:12px;color:var(--text-secondary)}.word-count.warning{color:var(--warning)}.word-count.good{color:var(--success)}.timeline-visualization{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.timeline-visualization h4{color:var(--text-primary);margin:0 0 20px;font-size:18px;font-weight:600}.timeline-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.phase{display:flex;align-items:center;gap:12px;padding:16px;background:#8b5cf60d;border-radius:8px;border:1px solid rgba(139,92,246,.1)}.phase-icon{font-size:24px;flex-shrink:0}.phase-info{display:flex;flex-direction:column;gap:4px}.phase-title{font-weight:600;color:var(--text-primary);font-size:14px}.phase-duration{font-size:12px;color:var(--text-secondary)}@media (max-width: 640px){.live-estimate-preview{position:static;margin-top:0}.helper-sections{grid-template-columns:1fr;gap:16px}.timeline-phases{grid-template-columns:1fr}}.privacy-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:20px}.privacy-modal{background:var(--background-secondary, #1a1a2e);border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .3s ease-out}.close-btn{position:sticky;top:16px;right:16px;float:right;background:transparent;border:none;font-size:28px;cursor:pointer;color:var(--text-color, #ffffff);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;z-index:10}.close-btn:hover{background:#ffffff1a}.privacy-content{padding:48px 48px 24px;color:var(--text-color, #ffffff)}.privacy-content h1{font-size:36px;margin-bottom:8px;color:var(--primary-color, #00d4ff)}.last-updated{color:#ffffff80;font-size:14px;margin-bottom:32px}.privacy-content section{margin-bottom:32px}.privacy-content h2{font-size:24px;color:var(--primary-color, #00d4ff);margin-bottom:16px;margin-top:24px}.privacy-content p{line-height:1.6;margin-bottom:12px;color:#ffffffe6}.privacy-content ul{list-style:disc;padding-left:24px;margin-bottom:16px}.privacy-content li{line-height:1.8;margin-bottom:8px;color:#ffffffd9}.privacy-content strong{color:var(--text-color, #ffffff);font-weight:600}.delete-account-section{background:#ff44441a;border:2px solid rgba(255,68,68,.3);border-radius:12px;padding:24px;margin-top:32px}.delete-account-section h2{color:#ff6b6b;margin-top:0}.privacy-footer{padding:24px 48px 48px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.btn-primary{background:linear-gradient(135deg,#00d4ff,#0f8);color:#000;padding:14px 48px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00d4ff66}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.privacy-modal::-webkit-scrollbar{width:10px}.privacy-modal::-webkit-scrollbar-track{background:#0003}.privacy-modal::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:5px}.privacy-modal::-webkit-scrollbar-thumb:hover{background:#00d4ff80}@media (max-width: 768px){.privacy-content{padding:32px 24px 16px}.privacy-footer{padding:16px 24px 32px}.privacy-content h1{font-size:28px}.privacy-content h2{font-size:20px}}.auth-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:var(--background-secondary, #1a1a2e);border-radius:16px;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .3s ease-out}.auth-header{padding:32px 32px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.auth-header h2{margin:0 0 8px;font-size:28px;color:var(--primary-color, #00d4ff)}.auth-header p{margin:0;color:#fff9;font-size:14px}.auth-form{padding:32px;display:flex;flex-direction:column;gap:16px}.auth-form input{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:14px;color:var(--text-color, #ffffff);font-size:16px;transition:border-color .2s}.auth-form input:focus{outline:none;border-color:var(--primary-color, #00d4ff)}.password-hint{color:#ffffff80;font-size:13px;margin:-8px 0 0}.auth-toggle{padding:16px 32px 32px;text-align:center;border-top:1px solid rgba(255,255,255,.1)}.auth-toggle p{color:#fff9;margin:0}.auth-toggle button{background:none;border:none;color:var(--primary-color, #00d4ff);cursor:pointer;font-weight:600;text-decoration:underline;padding:0;margin-left:4px}.auth-toggle button:hover{color:#0f8}.message-thread-overlay{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:flex-start;z-index:11000;padding:24px;overflow-y:auto}.message-thread-container{background:#1a1a1a;border-radius:8px;width:100%;max-width:900px;height:calc(100vh - 48px);max-height:800px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1)}.message-thread-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.message-thread-header h3{margin:0;color:#fff;font-size:16px;font-weight:600}.btn-close-thread{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.btn-close-thread:hover{background:#ffffff1a;color:#fff}.messages-container{flex:1;overflow-y:auto;padding:20px 24px;background:#ffffff05}.loading-messages,.error-messages,.empty-messages{text-align:center;padding:48px 24px;font-size:14px;color:#ffffff80}.empty-messages p{margin:8px 0}.empty-messages .hint{color:#fff6;font-size:13px}.error-messages{color:#ef4444}.messages-list{display:flex;flex-direction:column;gap:1rem}.message-bubble{padding:1rem 1.25rem;border-radius:12px;max-width:75%;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.own-message{align-self:flex-end;background:#3b82f626;border:1px solid rgba(59,130,246,.3);margin-left:auto}.other-message{align-self:flex-start;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.quote-message{border:1px solid rgba(34,197,94,.4)!important;background:#22c55e1a!important}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.sender-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.admin-badge{background:#dc2626;color:#fff}.user-badge{background:#3b82f6;color:#fff}.message-sender{font-weight:500;color:#fff;font-size:13px}.message-time{color:#fff6;font-size:12px;margin-left:auto}.quote-highlight{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:4px;padding:12px;margin-bottom:10px}.quote-label{font-size:11px;font-weight:600;color:#22c55e;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.quote-amount{font-size:20px;font-weight:600;color:#22c55e;margin-bottom:4px}.quote-timeline{font-size:13px;color:#22c55ecc}.message-text{color:#ffffffe6;line-height:1.6;word-wrap:break-word;white-space:pre-wrap}.message-input-container{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05}.quote-toggle{margin-bottom:12px}.quote-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#ffffffb3;font-size:13px;font-weight:500}.quote-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.quote-field{display:flex;flex-direction:column;gap:.5rem}.quote-field label{font-size:12px;font-weight:500;color:#fff9}.quote-input{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:13px}.quote-input:focus{outline:none;border-color:#ffffff4d}.message-input-container{display:flex;flex-direction:column;gap:.5rem}.message-input-row{display:flex;gap:1rem;align-items:flex-end}.message-char-count{display:flex;justify-content:flex-end;font-size:.85rem;color:#ffffff80;padding:0 .5rem}.message-char-count .warning{color:orange;font-weight:500}.message-textarea{flex:1;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-family:inherit;font-size:13px;line-height:1.5;resize:none;transition:all .15s}.message-textarea:focus{outline:none;border-color:#ffffff4d}.message-textarea::placeholder{color:#fff6}.btn-send{background:#3b82f6;border:none;border-radius:4px;padding:10px 20px;cursor:pointer;font-size:13px;font-weight:500;color:#fff;transition:all .15s;white-space:nowrap}.btn-send:hover:not(:disabled){background:#2563eb}.btn-send:disabled{opacity:.5;cursor:not-allowed}.file-upload-section{margin:12px 0}.btn-attach-file{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:8px 14px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.btn-attach-file:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn-attach-file:disabled{opacity:.5;cursor:not-allowed}.selected-files-preview{margin-top:12px;display:flex;flex-direction:column;gap:8px}.file-preview-item{display:flex;align-items:center;gap:8px;background:#ffffff0d;padding:8px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.file-icon{font-size:18px}.file-name{flex:1;color:var(--text-color);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#ffffff80;font-size:12px}.btn-remove-file{background:#f443;border:none;color:#f44;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}.btn-remove-file:hover{background:#f446}.message-attachments{margin-top:12px;display:flex;flex-direction:column;gap:8px}.attachment-item{display:flex;align-items:center;gap:8px;background:#3b82f61a;padding:10px 14px;border-radius:4px;border:1px solid rgba(59,130,246,.2);text-decoration:none;color:#fff;transition:all .15s}.attachment-item:hover{background:#3b82f626;border-color:#3b82f64d}.attachment-icon{font-size:20px}.attachment-name{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:#ffffff80;font-size:12px}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.message-thread-overlay{padding:0}.message-thread-container{max-width:100%;height:100vh;border-radius:0}.message-bubble{max-width:85%}.quote-fields{grid-template-columns:1fr}.message-input-row{flex-direction:column;align-items:stretch}.btn-send{width:100%}}.file-preview-overlay{position:fixed;inset:0;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:12000;padding:24px}.file-preview-modal{background:#1a1a1a;border-radius:8px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);overflow:hidden}.file-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:#222}.file-preview-title{color:#fff;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:16px}.file-preview-actions{display:flex;gap:12px;align-items:center}.btn-download-file{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:13px;cursor:pointer;text-decoration:none;transition:background .15s}.btn-download-file:hover{background:#2563eb}.btn-close-preview{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;width:32px;height:32px;border-radius:4px;cursor:pointer;font-size:16px;transition:all .15s}.btn-close-preview:hover{background:#ffffff1a;color:#fff}.file-preview-content{flex:1;display:flex;justify-content:center;align-items:center;padding:24px;overflow:auto;background:#111}.file-preview-content img{max-width:100%;max-height:calc(90vh - 100px);object-fit:contain;border-radius:4px}.file-preview-content iframe{width:100%;height:calc(90vh - 100px);border:none;border-radius:4px;background:#fff}.file-preview-unsupported{text-align:center;color:#fff9;padding:48px}.file-preview-unsupported p{font-size:18px;margin-bottom:24px}.file-preview-loading{color:#ffffffb3;font-size:16px}@media (max-width: 768px){.file-preview-overlay{padding:0}.file-preview-modal{max-width:100%;max-height:100vh;border-radius:0}.file-preview-header{padding:12px 16px}.file-preview-content{padding:16px}}.dashboard-container{max-width:1400px;margin:0 auto;padding:24px 32px;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-actions{display:flex;gap:8px;align-items:center}.dashboard-header h2{margin:0 0 4px;font-size:20px;font-weight:600;color:#fff}.user-greeting{margin:0;font-size:13px;color:#ffffff80}.dashboard-content{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:14px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.request-count{background:#ffffff1a;color:#ffffffb3;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.empty-state{text-align:center;padding:48px 24px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:6px}.empty-state p{color:#ffffff80;margin:0 0 16px;font-size:14px}.requests-table-container{border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden}.requests-table{width:100%;border-collapse:collapse;font-size:14px}.requests-table thead{background:#ffffff0d}.requests-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;border-bottom:1px solid rgba(255,255,255,.1)}.requests-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05);color:#ffffffe6}.request-row:hover{background:#ffffff08}.request-row:last-child td{border-bottom:none}.cell-status{display:flex;align-items:center;gap:8px;text-transform:capitalize;font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cell-date,.cell-timeline{color:#fff9;font-size:13px}.btn-table-action{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn-table-action:hover{background:#ffffff1a;border-color:#ffffff4d}.loading,.error{text-align:center;padding:32px;font-size:14px}.loading{color:#ffffff80}.error{color:#ef4444}@media (max-width: 768px){.requests-table-container{overflow-x:auto}.requests-table{min-width:500px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}}.btn-primary{background:#3b82f6;color:#fff;padding:8px 16px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary:hover{background:#2563eb}.btn-secondary{background:transparent;color:#fffc;padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:#ffffff1a}.btn-plain{background:transparent;color:#fff9;padding:8px 16px;border:none;font-size:13px;cursor:pointer;transition:all .15s}.btn-plain:hover{color:#ffffffe6}.admin-panel-overlay{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:flex-start;z-index:10000;padding:24px;overflow-y:auto}.admin-panel-container{background:#1a1a1a;border-radius:8px;width:100%;max-width:1400px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1)}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-panel-header h2{margin:0;color:#fff;font-size:18px;font-weight:600}.header-buttons{display:flex;gap:8px}.btn-close-dashboard,.btn-logout{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.btn-close-dashboard:hover,.btn-logout:hover{background:#ffffff1a;color:#fff}.admin-filters{display:flex;gap:12px;padding:12px 24px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.search-input{flex:1;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:13px}.search-input::placeholder{color:#fff6}.status-filter{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:13px;cursor:pointer;min-width:140px}.status-filter option{background:#1a1a1a;color:#fff}.loading-state,.error-state,.empty-state{padding:48px 24px;text-align:center;font-size:14px;color:#ffffff80}.error-state{color:#ef4444}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table thead{background:#ffffff08}.admin-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;border-bottom:1px solid rgba(255,255,255,.1)}.admin-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);color:#ffffffe6;vertical-align:middle}.admin-row{cursor:pointer;transition:background .1s}.admin-row:hover{background:#ffffff08}.admin-row.expanded{background:#3b82f60d}.cell-expand{color:#fff6;font-size:16px;font-weight:300}.cell-type{font-weight:500;text-transform:capitalize}.cell-client{display:flex;flex-direction:column;gap:2px}.client-name{color:#fff;font-weight:500}.client-email{color:#ffffff80;font-size:12px}.cell-status{min-width:130px}.status-select-inline{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:4px 8px;color:#ffffffe6;font-size:12px;cursor:pointer;text-transform:capitalize;width:100%}.status-select-inline option{background:#1a1a1a;color:#fff}.cell-date{color:#ffffff80;font-size:12px;white-space:nowrap}.cell-actions{text-align:right}.btn-table-action{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:5px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn-table-action:hover{background:#ffffff1a}.unread-count{background:#3b82f6;color:#fff;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:600}.details-row{background:#ffffff05}.details-row td{padding:0}.expanded-content{padding:20px 24px;border-top:1px solid rgba(255,255,255,.05)}.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.detail-col{display:flex;flex-direction:column;gap:4px}.detail-col label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#fff6}.detail-col span{font-size:13px;color:#ffffffe6}.detail-section{margin-bottom:16px}.detail-section label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin-bottom:8px}.detail-section p{margin:0;font-size:13px;color:#fffc;line-height:1.5}.admin-notes-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.admin-notes-section>label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin-bottom:8px}.notes-display{display:flex;align-items:flex-start;gap:12px}.notes-display p{flex:1;margin:0;padding:8px 12px;background:#ffffff08;border-radius:4px;font-size:13px;color:#ffffffb3}.notes-display em{color:#fff6;font-style:italic}.notes-edit{display:flex;flex-direction:column;gap:8px}.notes-textarea{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-family:inherit;font-size:13px;line-height:1.5;resize:vertical}.notes-textarea::placeholder{color:#fff6}.notes-buttons{display:flex;gap:8px}.btn-small{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:5px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.btn-small:hover{background:#ffffff1a}.btn-small.btn-primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-small.btn-primary:hover{background:#2563eb}.admin-panel-footer{padding:12px 24px;border-top:1px solid rgba(255,255,255,.1);text-align:right;font-size:12px;color:#fff6}@media (max-width: 768px){.admin-panel-overlay{padding:12px}.admin-filters{flex-direction:column}.details-grid{grid-template-columns:repeat(2,1fr)}.admin-table{min-width:600px}}
