:root{--bg: #fbfbfb;--card: #e6f1ff;--card-alpha: rgba(230,241,255,.94);--primary: #5379f4;--primary-hover: #4060e0;--primary-dark: #403c8b;--orange: #f26f37;--text-dark: #232323;--text-body: #343434;--text-muted: #6a7380;--text-step: #8280a7;--input-bg: #ffffff;--input-border: #c1c1c8;--input-focus: #5379f4;--color-error: #ef4444;--color-success: #22c55e;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 8px 32px rgba(83,121,244,.1);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-dark);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit}.fd-page{min-height:100vh;background:var(--bg);position:relative;overflow:hidden}.fd-blob-tr{position:fixed;top:-80px;right:-80px;width:360px;height:300px;background:radial-gradient(ellipse at 70% 30%,#c8e4f6 0%,#b4eb50 40%,rgba(244,246,139,.6) 70%,transparent 100%);border-radius:50% 40% 60%;pointer-events:none;z-index:0}.fd-blob-bl{position:fixed;bottom:-60px;left:-60px;width:280px;height:240px;background:radial-gradient(ellipse at 30% 70%,rgba(180,235,80,.55) 0%,rgba(244,246,139,.5) 60%,transparent 100%);border-radius:40% 60%;pointer-events:none;z-index:0}.fd-ring{position:fixed;border-radius:50%;border:2px solid var(--orange);pointer-events:none;z-index:0}.fd-dot{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--orange);pointer-events:none;z-index:0}.fd-label{display:block;font-size:.85rem;font-weight:700;color:var(--text-body);margin-bottom:.4rem}.fd-input{width:100%;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-dark);font-size:.9rem;padding:.7rem 1rem;transition:border-color .15s,box-shadow .15s;outline:none}.fd-input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #5379f41f}.fd-input::placeholder{color:#b0b8c4}.fd-input.error{border-color:var(--color-error)}.fd-input-wrap{position:relative}.fd-eye{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0;display:flex;align-items:center}select.fd-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a7380' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}textarea.fd-input{resize:vertical;min-height:90px}.fd-group{margin-bottom:1rem}.fd-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;padding:.8rem 1.5rem;cursor:pointer;transition:background .15s,transform .1s;text-decoration:none}.fd-btn:hover:not(:disabled){background:var(--primary-hover)}.fd-btn:active:not(:disabled){transform:scale(.99)}.fd-btn:disabled{opacity:.5;cursor:not-allowed}.fd-btn-ghost{background:none;border:none;color:var(--primary);font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem 0;text-decoration:underline;display:block;text-align:center;width:100%}.fd-btn-ghost:hover{color:var(--primary-dark)}.fd-alert{padding:.7rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem}.fd-alert-error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--color-error)}.fd-alert-success{background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:var(--color-success)}.spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.fd-divider{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:var(--text-muted);font-size:.82rem}.fd-divider:before,.fd-divider:after{content:"";flex:1;height:1px;background:var(--input-border)}.fd-sso-row{display:flex;gap:.75rem}.fd-sso-btn{flex:1;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);padding:.65rem .75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s}.fd-sso-btn:hover{border-color:var(--primary)}.fd-check{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1rem}.fd-check input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.fd-check label{font-size:.85rem;color:var(--text-muted);cursor:pointer;line-height:1.4}.fd-upload{border:2px dashed var(--input-border);border-radius:var(--radius-md);padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fff9}.fd-upload:hover{border-color:var(--primary);background:#5379f40a}.fd-upload.has-file{border-color:var(--color-success)}.fd-upload-icon{font-size:1.4rem;margin-bottom:.35rem;color:var(--text-muted)}.fd-upload-title{font-size:.9rem;font-weight:600;color:var(--text-body)}.fd-upload-sub{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.fd-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.fd-tag{display:flex;align-items:center;gap:.3rem;background:#5379f41a;border:1px solid rgba(83,121,244,.3);border-radius:20px;padding:.2rem .65rem;font-size:.8rem;font-weight:500;color:var(--primary)}.fd-tag-x{background:none;border:none;cursor:pointer;color:var(--primary);font-size:.9rem;line-height:1;padding:0;margin-left:.1rem}.fd-steps{display:flex;flex-direction:column;gap:0;width:160px;flex-shrink:0}.fd-step{display:flex;align-items:flex-start;gap:.65rem;position:relative}.fd-step:not(:last-child) .fd-step-line{position:absolute;left:10px;top:22px;width:2px;height:44px;background:#dde3f0;z-index:0}.fd-step-circle{width:22px;height:22px;border-radius:50%;border:2px solid #c1c1c8;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;z-index:1;position:relative}.fd-step.active .fd-step-circle{border-color:var(--primary-dark)}.fd-step.active .fd-step-circle:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary-dark)}.fd-step.done .fd-step-circle{border-color:var(--primary-dark);background:var(--primary-dark)}.fd-step.done .fd-step-circle:after{content:"✓";font-size:.65rem;color:#fff;font-weight:700}.fd-step-info{padding-bottom:2rem}.fd-step-num{font-size:.82rem;font-weight:700;color:var(--text-step)}.fd-step.active .fd-step-num,.fd-step.done .fd-step-num{color:var(--primary-dark)}.fd-step-sub{font-size:.75rem;color:var(--text-step);margin-top:.1rem}.fd-setup-page{min-height:100vh;background:var(--bg);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.fd-setup-inner{position:relative;z-index:2;display:flex;align-items:flex-start;gap:3rem;max-width:1100px;width:100%}.fd-setup-card{flex:0 0 480px;background:var(--card);border-radius:var(--radius-xl);padding:2.25rem 2rem;box-shadow:var(--shadow-card)}.fd-setup-card-title{font-size:1.5rem;font-weight:800;color:var(--text-dark);margin-bottom:.5rem;line-height:1.25}.fd-setup-card-sub{font-size:.875rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5}.fd-setup-illus{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px}.fd-modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.fd-modal{background:#fff;border-radius:var(--radius-xl);padding:2.5rem 2rem;max-width:420px;width:100%;text-align:center;position:relative;animation:fd-pop .25s ease-out}@keyframes fd-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.fd-modal-icon{width:80px;height:80px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;position:relative}.fd-modal-icon-check{font-size:2rem;color:#fff}.fd-modal-hat{position:absolute;top:-16px;left:50%;transform:translate(-30%);font-size:1.5rem}.fd-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:var(--radius-xl)}.fd-confetti span{position:absolute;width:6px;height:6px;border-radius:1px;animation:fd-fall 1.2s ease-in forwards}@keyframes fd-fall{0%{opacity:1;transform:translateY(-10px) rotate(0)}to{opacity:0;transform:translateY(160px) rotate(360deg)}}.fd-modal-title{font-size:1.3rem;font-weight:800;color:var(--text-dark);margin-bottom:.6rem}.fd-modal-sub{font-size:.875rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg);position:relative;overflow:hidden}.auth-box{width:100%;max-width:460px;background:var(--card);border-radius:var(--radius-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-card);position:relative;z-index:2}.auth-title{font-size:1.6rem;font-weight:800;color:var(--text-dark);margin-bottom:.35rem}.auth-subtitle{font-size:.875rem;color:var(--text-muted);margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:700;color:var(--text-body);margin-bottom:.4rem}.form-input{width:100%;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-dark);font-size:.9rem;padding:.7rem 1rem;transition:border-color .15s;outline:none}.form-input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #5379f41f}.form-input::placeholder{color:#b0b8c4}.form-input.error{border-color:var(--color-error)}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a7380' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}textarea.form-input{resize:vertical;min-height:90px}.form-error{font-size:.78rem;color:var(--color-error);margin-top:.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;padding:.75rem 1.25rem;transition:all .15s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:#f1f5f9;color:var(--text-dark);border:1.5px solid var(--input-border)}.btn-secondary:hover:not(:disabled){background:#e8edf5}.btn-full{width:100%}.btn-sm{padding:.4rem .85rem;font-size:.82rem}.divider{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:var(--text-muted);font-size:.82rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--input-border)}.sso-group{display:flex;gap:.75rem;margin-bottom:1.1rem}.btn-sso{flex:1;background:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);padding:.6rem .75rem;display:flex;align-items:center;justify-content:center;gap:.45rem;color:var(--text-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s}.btn-sso:hover{border-color:var(--primary)}.auth-link-row{text-align:center;font-size:.85rem;color:var(--text-muted);margin-top:1.25rem}.auth-link-row a{color:var(--primary);font-weight:600}.alert{padding:.7rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem}.alert-error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--color-error)}.alert-success{background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:var(--color-success)}.form-check{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.75rem}.form-check input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--primary);flex-shrink:0}.form-check label{font-size:.85rem;color:var(--text-muted);cursor:pointer;line-height:1.4}
