:root{--primary-hue: 250;--primary-sat: 85%;--primary-light: 60%;--color-primary: hsl(var(--primary-hue), var(--primary-sat), var(--primary-light));--color-primary-dark: hsl(var(--primary-hue), var(--primary-sat), 45%);--color-primary-light: hsl(var(--primary-hue), var(--primary-sat), 75%);--secondary-hue: 180;--secondary-sat: 90%;--secondary-light: 50%;--color-secondary: hsl(var(--secondary-hue), var(--secondary-sat), var(--secondary-light));--bg-hue: 220;--bg-sat: 20%;--bg-dark: hsl(var(--bg-hue), var(--bg-sat), 10%);--bg-card: hsl(var(--bg-hue), var(--bg-sat), 15%);--bg-light: #ffffff;--text-main: hsl(var(--bg-hue), 10%, 95%);--text-muted: hsl(var(--bg-hue), 10%, 70%);--text-inverted: hsl(var(--bg-hue), 10%, 10%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-glow: 0 0 20px -5px var(--color-primary);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-main);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:hidden}body{min-height:100vh;display:flex;flex-direction:column}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{line-height:1.1;font-weight:700;color:#fff}h1{font-size:2.2rem;letter-spacing:-.02em}@media(min-width:768px){h1{font-size:3.5rem}}h2{font-size:2.5rem;letter-spacing:-.01em}h3{font-size:1.75rem}a{font-weight:500;color:var(--color-primary-light);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-secondary)}button{cursor:pointer;border:none;outline:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-full);font-weight:600;transition:all .3s ease;font-size:1rem}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 15px -3px var(--color-primary-dark)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px var(--color-primary);background:var(--color-primary-light)}.glass-panel{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.hero-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;padding:2rem 0}@media(min-width:768px){.hero-layout{grid-template-columns:1fr 1fr;gap:4rem}}.hero-title{font-size:2.2rem;margin-bottom:1rem}@media(min-width:768px){.hero-title{font-size:4rem;margin-bottom:1.5rem}}.hero-buttons{display:flex;flex-direction:column;gap:1rem;width:100%}@media(min-width:480px){.hero-buttons{flex-direction:row;width:auto}}.hero-btn{padding:.75rem 1rem}@media(min-width:768px){.hero-btn{padding:1rem 2.5rem}}.hero-bg-blur-1,.hero-bg-blur-2{position:absolute;border-radius:50%;z-index:-1}.hero-bg-blur-1{top:0;right:-20%;width:300px;height:300px;background:var(--color-primary);filter:blur(100px);opacity:.3}.hero-bg-blur-2{bottom:0;left:-20%;width:300px;height:300px;background:var(--color-secondary);filter:blur(100px);opacity:.2}@media(min-width:768px){.hero-bg-blur-1{top:-20%;right:-10%;width:600px;height:600px;filter:blur(150px);opacity:.2}.hero-bg-blur-2{bottom:-10%;left:-10%;width:500px;height:500px;filter:blur(150px);opacity:.15}}.header-layout{display:flex;flex-direction:column;gap:1rem;align-items:center}@media(min-width:768px){.header-layout{flex-direction:row;justify-content:space-between;width:100%;max-width:1600px}}.nav-icon{display:none}.nav-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;gap:0px}@media(max-width:767px){.nav-icon{display:block;margin-bottom:2px}.nav-text{font-size:.65rem}.header-nav{position:fixed;bottom:0;left:0;width:100%;background:#0a0a14f2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid rgba(255,255,255,.1);padding:.8rem 0 calc(.8rem + env(safe-area-inset-bottom,0px));justify-content:space-evenly;gap:0;z-index:1000}.header-layout{padding-bottom:.5rem}}@media(min-width:768px){.nav-link{flex-direction:row;gap:.4rem}.header-nav{display:flex;flex-wrap:nowrap;gap:1.25rem;justify-content:center;align-items:center;white-space:nowrap}}@media(min-width:1200px){.header-nav{gap:1.5rem}}.header-actions{display:flex;flex-wrap:nowrap;gap:.5rem;justify-content:center;align-items:center;white-space:nowrap}.signup-container{min-height:calc(100vh - 80px);background:var(--bg-dark);background:radial-gradient(circle at top center,#eef2ff,#dbeafe);display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;color:#1e293b}.signup-header{text-align:center;margin-bottom:3rem}.signup-header h1{font-size:2.5rem;font-weight:800;color:#1e3a8a;margin-bottom:.5rem}.signup-header p{color:#64748b;font-size:1.1rem}.signup-content{display:flex;gap:2rem;width:100%;max-width:900px;justify-content:center;transition:all .3s ease}.signup-card{background:#fff;border-radius:20px;padding:3rem 2rem;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden}.signup-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.signup-card.active{flex:2;border-color:#3b82f6;cursor:default;transform:none}.signup-card.inactive{flex:.8;opacity:.6;transform:scale(.95)}.icon-wrapper{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.homeowner-icon{background:#dbeafe;color:#2563eb}.professional-icon{background:#ffedd5;color:#ea580c}.signup-card h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#0f172a}.signup-card .description{color:#64748b;margin-bottom:2rem;line-height:1.6}.benefits-list{list-style:none;padding:0;margin:0;width:100%;text-align:left}.benefits-list li{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:#475569;font-size:.95rem}.benefits-list li svg{color:#3b82f6;flex-shrink:0}.signup-form{margin-top:2rem;width:100%;animation:fadeIn .5s ease-out;border-top:1px solid #e2e8f0;padding-top:2rem;display:flex;flex-direction:column;gap:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.signup-form h3{margin-bottom:1rem;color:#334155;font-size:1.2rem}.signup-form input{padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:8px;width:100%;font-size:1rem;transition:border-color .2s}.signup-form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;margin-top:0!important}.password-toggle:hover{color:#64748b;background:transparent}.signup-form button{background:#2563eb;color:#fff;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:.5rem}.signup-form button:hover{background:#1d4ed8}.back-btn{margin-top:2rem;background:transparent;border:none;color:#64748b;cursor:pointer;font-size:.9rem;text-decoration:underline;padding:.5rem}.back-btn:hover{color:#334155}@media(max-width:768px){.signup-content{flex-direction:column}}.login-container{min-height:calc(100vh - 80px);background:radial-gradient(circle at top center,#eef2ff,#f1f5f9);display:flex;align-items:center;justify-content:center;padding:2rem;color:#1e293b}.login-card{background:#fff;border-radius:20px;padding:3rem;width:100%;max-width:450px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-header .icon-wrapper{width:70px;height:70px;background:#eff6ff;color:#2563eb;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.login-header h1{font-size:1.8rem;font-weight:800;color:#1e293b;margin-bottom:.5rem}.login-header p{color:#64748b}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.form-group label{font-size:.9rem;font-weight:600;color:#334155}.form-group input{padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{width:100%}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:#64748b}.form-actions{display:flex;justify-content:flex-end}.forgot-password{color:#2563eb;font-size:.9rem;text-decoration:none}.forgot-password:hover{text-decoration:underline}.login-btn{background:#2563eb;color:#fff;padding:.8rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s;margin-top:.5rem}.login-btn:hover{background:#1d4ed8}.login-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;color:#64748b}.login-footer a{color:#2563eb;font-weight:600;text-decoration:none;margin-left:.25rem}.login-footer a:hover{text-decoration:underline}.onboarding-container{max-width:800px;margin:0 auto;padding:2rem;color:#fff;min-height:80vh}.onboarding-header{text-align:center;margin-bottom:2rem}.progress-bar{background:#ffffff1a;height:8px;border-radius:4px;margin-top:1rem;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;transition:width .3s ease}.step-card{background:#1e1e1e99;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.95rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#f3f4f6}.input-group input[type=text],.input-group input[type=email],.input-group input[type=tel],.input-group input[type=date],.input-group select,.input-group textarea{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:1rem;transition:border-color .2s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#3b82f680;outline:none}.input-group select option{background-color:var(--bg-card, #1e293b);color:#fff}.input-group small{display:block;color:var(--text-muted);margin-top:.4rem;font-size:.85rem}.checkbox-grid{display:flex;flex-wrap:wrap;gap:.75rem}.checkbox-pill{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.checkbox-pill.selected{background:#3b82f633;border-color:#3b82f680;color:#60a5fa}.checkbox-pill input[type=checkbox]{accent-color:#3b82f6}.upload-box{border:1px dashed rgba(255,255,255,.2);border-radius:8px;padding:2.5rem;text-align:center;background:#ffffff05;position:relative;transition:border-color .2s}.upload-box:hover{border-color:#fff6}.upload-content input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.file-success{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#22c55e;font-weight:600}.onboarding-footer{display:flex;justify-content:space-between;margin-top:2rem}.btn-secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;transition:background .2s}.btn-secondary:hover{background:#ffffff1a}.btn-primary{display:flex;align-items:center}.fade-in{animation:fadeIn .4s ease-in}.toggle-switch{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px}.toggle-switch-label div{font-weight:600}.toggle-switch-label small{color:var(--text-muted)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#fff3;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#22c55e}input:checked+.slider:before{transform:translate(20px)}.bg-check-banner{background:#3b82f626;border:1px solid rgba(59,130,246,.4);padding:1rem;border-radius:8px;color:#93c5fd;font-size:.95rem;margin-bottom:1rem}.day-picker{display:flex;gap:.5rem;flex-wrap:wrap}.day-box{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem;-webkit-user-select:none;user-select:none;transition:all .2s}.day-box:hover{background:#ffffff1a}.day-box.selected{background:#3b82f6;border-color:#60a5fa;color:#fff}.options-list .toggle-switch{border:none;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;padding:1.2rem 0;background:transparent}.options-list .toggle-switch:last-child{border-bottom:none}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:600px){.photo-grid{grid-template-columns:repeat(2,1fr)}}.photo-upload-box{aspect-ratio:1;border:1px dashed rgba(255,255,255,.2);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff05;cursor:pointer;position:relative;transition:all .2s;overflow:hidden}.photo-upload-box:hover{border-color:#fff6;background:#ffffff0d}.photo-upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-upload-box .icon{font-size:1.5rem;color:var(--text-muted)}.photo-upload-box span{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.photo-preview{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.dynamic-item{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;position:relative;margin-bottom:1rem}.dynamic-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:#9ca3af;font-size:.9rem;font-weight:600}.close-btn{background:transparent;border:none;color:#ef4444;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.7;transition:opacity .2s;padding:0 .5rem}.close-btn:hover{opacity:1}.add-btn{background:transparent;border:1px dashed rgba(59,130,246,.5);color:#60a5fa;width:100%;padding:1rem;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.add-btn:hover{background:#3b82f61a;border-color:#3b82f6}.range-container{display:flex;align-items:center;gap:1.5rem;padding:.5rem 0}.range-container input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent;padding:0;border:none}.range-container input[type=range]:focus{outline:none;border:none}.range-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:20px;width:20px;border-radius:50%;background:#60a5fa;cursor:pointer;margin-top:-8px;border:2px solid #1e1e1e}.range-container input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;background:#fff3;border-radius:2px}.range-value{white-space:nowrap;font-weight:600;font-size:1.1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
