@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-base: #fafaf9;--bg-surface: #ffffff;--bg-hover: #f5f5f4;--bg-input: #ffffff;--border-subtle: #f5f5f4;--border-default: #e7e5e4;--border-hover: #d6d3d1;--border-focus: #a8a29e;--text-primary: #1c1917;--text-secondary: #57534e;--text-tertiary: #a8a29e;--primary: #1c1917;--primary-hover: #292524;--primary-text: #ffffff;--success: #10b981;--success-hover: #059669;--danger: #ef4444;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--sidebar-w: 240px;--shadow-pop: 0 8px 30px rgba(0,0,0,.04);--shadow-btn: 0 4px 14px rgba(0,0,0,.08);--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-primary);background-color:var(--bg-base);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:600;color:var(--text-primary);line-height:1.2}p{color:var(--text-secondary)}.app-container{display:flex;max-width:1280px;margin:0 auto;min-height:100vh;padding:2rem;gap:3rem}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:2.5rem;position:sticky;top:2rem;height:max-content}.logo{display:flex;align-items:center;gap:.5rem;padding:0 .5rem}.logo h2{font-size:1.2rem;font-weight:700;letter-spacing:-.04em;color:var(--text-primary)}.badge{background:var(--text-primary);color:var(--primary-text);font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.05em}.nav-steps{list-style:none;display:flex;flex-direction:column;gap:.25rem}.step{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius-md);color:var(--text-secondary);transition:all .15s var(--ease-out);cursor:pointer;font-size:.875rem;font-weight:500}.step:hover{background:var(--bg-hover);color:var(--text-primary)}.step.active{background:var(--bg-hover);color:var(--text-primary);font-weight:500}.step.completed{color:var(--text-secondary)}.step-num{width:20px;height:20px;border-radius:50%;background:transparent;border:1px solid var(--border-hover);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:.7rem;color:var(--text-secondary)}.step.active .step-num{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-surface)}.step.completed .step-num{background:transparent;border-color:var(--border-focus);color:transparent;position:relative}.step.completed .step-num:after{content:"";position:absolute;width:8px;height:4px;border-left:1.5px solid var(--border-focus);border-bottom:1.5px solid var(--border-focus);transform:translateY(-1px) rotate(-45deg)}.content{flex-grow:1;background:var(--bg-surface);border-radius:var(--radius-lg);padding:3rem 4rem;border:1px solid var(--border-default);min-height:calc(100vh - 4rem);width:100%;max-width:800px;box-shadow:0 8px 30px #00000005}.step-content{display:none;animation:fadeIn .2s var(--ease-out);width:100%}.step-content.active{display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.step-header{margin-bottom:2.5rem;text-align:left;border-bottom:1px solid var(--border-default);padding-bottom:1.5rem}.step-header h1{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.step-header p{font-size:.95rem;color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem;width:100%}.form-group{display:flex;flex-direction:column;gap:.4rem;min-width:0}.form-group.full-width{grid-column:1 / -1}label{font-size:.8rem;color:var(--text-primary);font-weight:500}.input-modern{background:var(--bg-input);border:1px solid var(--border-default);padding:.6rem .75rem;border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:all .2s ease;outline:none;width:100%}.input-modern::placeholder{color:var(--text-tertiary)}.input-modern:hover{border-color:var(--border-hover);background:var(--bg-hover)}.input-modern:focus{border-color:var(--border-focus);background:var(--bg-surface)}.input-modern.error{border-color:#ef444466;background:#ef444408}.input-modern.error:focus{border-color:var(--danger);background:#fff}select.input-modern option{background-color:var(--bg-surface);color:var(--text-primary)}textarea.input-modern{resize:vertical;min-height:100px;line-height:1.5}small{color:var(--text-tertiary);font-size:.75rem;margin-top:.15rem}.form-group h3{font-size:1rem;color:var(--text-primary);font-weight:600;margin-top:1rem}.button-row{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-default)}.btn{padding:.6rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--primary);color:var(--primary-text);box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #0000001f}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-accent{background:var(--success);color:#fff;box-shadow:0 4px 14px #10b98133}.btn-accent:hover{background:var(--success-hover);transform:translateY(-1px);box-shadow:0 6px 16px #10b98140}.btn-large{padding:.75rem 1.5rem;font-size:.95rem;border-radius:var(--radius-md)}.btn-dashed{border:1px dashed var(--border-default);background:transparent;color:var(--text-secondary);width:100%;padding:.875rem;border-radius:var(--radius-md);font-weight:500}.btn-dashed:hover{border-color:var(--border-focus);color:var(--text-primary);background:var(--bg-hover)}.adset-card{padding:1.5rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);position:relative;margin-bottom:1.5rem;transition:border-color .2s ease;box-shadow:0 2px 8px #00000005}.adset-card:hover{border-color:var(--border-hover)}.btn-remove{position:absolute;top:1rem;right:1rem;width:28px;height:28px;background:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove:hover{color:var(--danger);border-color:#ef44444d;background:#fff}.upload-zone{border:1px dashed var(--border-default);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;transition:all .2s ease;cursor:pointer;position:relative;background:transparent}.upload-zone:hover,.upload-zone.dragover{border-color:var(--border-focus);background:var(--bg-hover)}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--text-secondary)}.upload-prompt p{font-weight:500;font-size:.95rem;color:var(--text-primary)}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1.5rem}.preview-item{aspect-ratio:1;border-radius:var(--radius-md);background-size:cover;background-position:center;border:1px solid var(--border-default)}.interest-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:250px;overflow-y:auto;z-index:20;box-shadow:var(--shadow-pop)}.interest-dropdown-item{padding:.6rem 1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;transition:background .15s}.interest-dropdown-item:hover{background:var(--bg-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{width:90%;max-width:440px;padding:2.5rem 2rem;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:20px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .2s cubic-bezier(.16,1,.3,1)}.modal h2{font-size:1.15rem;font-weight:600;text-align:left}.progress-bar-container{width:100%;height:6px;background:var(--bg-hover);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);width:0%;transition:width .4s var(--ease-out)}.status-msg{color:var(--text-secondary);font-size:.85rem;font-weight:500}.results-box{max-height:200px;overflow-y:auto;background:var(--bg-base);padding:.75rem;border-radius:var(--radius-md);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;white-space:pre-wrap;color:var(--text-secondary);border:1px solid var(--border-default)}@media (max-width: 960px){.app-container{flex-direction:column;padding:1rem;gap:1rem}.sidebar{width:100%;position:static;flex-direction:row;align-items:center;padding:0;gap:1.5rem;overflow-x:auto}.nav-steps{flex-direction:row;gap:.5rem}.step-label{display:none}.content{padding:1.5rem}}@media (max-width: 640px){.content{padding:1.25rem}.form-grid{grid-template-columns:1fr;gap:1.25rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-base);position:relative;overflow:hidden;color:var(--text-primary)}.login-card{position:relative;z-index:10;background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:0 12px 40px #0000000d;border-radius:20px;padding:3.5rem 3rem;width:100%;max-width:400px;display:flex;flex-direction:column;gap:2rem;animation:slideUpFade .6s cubic-bezier(.16,1,.3,1) forwards;transform:translateY(20px);opacity:0}@keyframes slideUpFade{to{transform:translateY(0);opacity:1}}.logo-section{text-align:center;display:flex;flex-direction:column;gap:.5rem}.logo-section h1{font-size:2.25rem;font-weight:800;letter-spacing:-.04em;color:var(--text-primary);margin:0}.logo-section p{color:var(--text-secondary);font-size:.95rem;font-weight:400}#google-auth-container{display:flex;justify-content:center;margin-top:.5rem;border-radius:8px;padding:2px;background:transparent;transition:transform .2s ease}#google-auth-container:hover{transform:translateY(-2px)}.login-divider{display:flex;align-items:center;text-align:center;color:var(--text-tertiary);font-size:.85rem;font-weight:500;margin:.5rem 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-default)}.login-divider span{padding:0 1rem}.btn-fb{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.9rem;font-size:1rem;font-weight:600;color:#fff;background:#1877f2;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #1877f233}.btn-fb:hover{background:#166ae0;transform:translateY(-1px);box-shadow:0 4px 12px #1877f24d}.btn-fb svg{width:22px;height:22px}.login-status{padding:1rem;border-radius:8px;font-size:.9rem;font-weight:500;text-align:center;animation:fadeIn .2s ease}.login-status.info{background:#00000008;color:var(--text-secondary);border:1px solid var(--border-default)}.login-status.success{background:#22c55e0d;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.login-status.error{background:#ef44440d;color:#dc2626;border:1px solid rgba(239,68,68,.2)}
