:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--text:#475569;--text-h:#0f172a;--bg:#f8fafc;--card-bg:#fff;--header-bg:#fffc;--border:#e2e8f0cc;--accent:#6366f1;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--shadow:0 20px 40px #0f172a0d;--input-bg:#fff;--button-bg:#0f172a;--button-text:#fff;--secondary-button-bg:#f1f5f9}[data-theme=dark]{--text:#94a3b8;--text-h:#f1f5f9;--bg:#0f172a;--card-bg:#1e293b;--header-bg:#0f172acc;--border:#33415580;--accent:#818cf8;--accent-gradient:linear-gradient(135deg, #818cf8 0%, #c084fc 100%);--shadow:0 20px 40px #0000004d;--input-bg:#0f172a;--button-bg:#f1f5f9;--button-text:#0f172a;--secondary-button-bg:#334155}body{background-color:var(--bg);color:var(--text);font-family:var(--sans);margin:0;transition:background-color .3s,color .3s}#root{justify-content:center;align-items:center;width:100%;min-height:100vh;margin:0;padding:0;display:flex;overflow-x:hidden}h1,h2,h3{font-family:var(--heading);color:var(--text-h)}.app-main{z-index:1;box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:100vh;padding:0;display:flex;position:relative}.app-header{background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;justify-content:center;width:100%;padding:16px 24px;display:flex;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;width:min(100%,1200px);display:flex}.header-nav-group{align-items:center;gap:20px;display:flex}.language-select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:6px 10px;font-size:.85rem;font-weight:600;transition:all .2s}.language-select:hover{border-color:var(--accent)}.theme-toggle-button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background .2s,transform .2s;display:flex}.theme-toggle-button:hover{background:var(--secondary-button-bg);transform:rotate(15deg)}.header-user-nav{border-left:1px solid var(--border);align-items:center;gap:16px;padding-left:20px;display:flex}.user-name-text{color:var(--text);font-size:.9rem;font-weight:600}.logout-button{background:var(--secondary-button-bg);color:var(--text);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.logout-button:hover{background:var(--border);color:var(--text-h)}.logo-link{text-decoration:none}.logo-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;margin:0;font-size:1.25rem;font-weight:800}.app-stack{width:min(100%,560px);padding:40px 24px}.landing-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:20px;padding:48px 32px;display:flex}.landing-card h2{color:var(--text-h);margin:0;font-size:1.75rem}.landing-card p{color:var(--text);margin:0;line-height:1.6}.cta-button{background:var(--button-bg);color:var(--button-text);cursor:pointer;border:none;border-radius:12px;margin-top:12px;padding:14px 32px;font-size:1rem;font-weight:600;transition:transform .2s,background .2s}.cta-button:hover{opacity:.9;transform:translateY(-2px)}.verifying-overlay{min-height:200px;color:var(--text);justify-content:center;align-items:center;font-weight:500;display:flex}.dashboard-layout{box-sizing:border-box;width:100%;min-height:100vh;display:flex}.dashboard-content-area{box-sizing:border-box;flex:1;justify-content:center;align-items:flex-start;min-height:100vh;margin-left:280px;padding:48px 40px;display:flex}.dashboard-main-view{flex-direction:column;gap:32px;width:min(100%,640px);display:flex}@media (width<=768px){.dashboard-layout{flex-direction:column}.dashboard-content-area{align-items:center;margin-left:0;padding:24px 16px}.dashboard-main-view{width:100%}}.modal-content{background:var(--card-bg);text-align:center;width:90%;max-width:400px;box-shadow:var(--shadow), 0 20px 40px #0003;border:1px solid var(--border);border-radius:24px;padding:40px;animation:.3s cubic-bezier(.16,1,.3,1) forwards modalSlideIn;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.close-modal{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background .2s;display:flex;position:absolute;top:15px;right:15px}.close-modal:hover{background:var(--secondary-button-bg)}.modal-icon{margin-bottom:20px;font-size:3rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards popIcon}@keyframes popIcon{0%{transform:scale(.5)}to{transform:scale(1)}}.modal-content h2{color:var(--text-h);margin-bottom:10px;font-weight:800}.modal-content p{color:var(--text);margin-bottom:24px;line-height:1.5}.success-cta-button{background:var(--button-bg);color:var(--button-text);cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px 28px;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s}.modal-icon-container{justify-content:center;align-items:center;margin-bottom:24px;display:flex}.modal-icon-wrapper{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards popIcon;display:flex;box-shadow:0 8px 24px #6366f14d}.checkout-success-page{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:40px 24px;display:flex;position:relative;overflow:hidden}.checkout-success-page:before{content:"";z-index:0;background:radial-gradient(circle at 20% 30%,#6366f114 0%,#0000 50%),radial-gradient(circle at 80% 70%,#a855f714 0%,#0000 50%),radial-gradient(circle,#6366f10a 0%,#0000 70%);width:200%;height:200%;animation:12s ease-in-out infinite alternate bgFloat;position:absolute;top:-50%;left:-50%}@keyframes bgFloat{0%{transform:translate(0)rotate(0)}to{transform:translate(-3%,-3%)rotate(2deg)}}.success-card{z-index:1;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow), 0 0 80px #6366f10f;text-align:center;opacity:0;border-radius:28px;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:480px;padding:56px 40px;animation:.7s cubic-bezier(.16,1,.3,1) forwards cardSlideUp;display:flex;position:relative;transform:translateY(40px)}@keyframes cardSlideUp{to{opacity:1;transform:translateY(0)}}.success-icon-wrapper{background:var(--accent-gradient);opacity:0;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;animation:.5s cubic-bezier(.34,1.56,.64,1) .3s forwards iconPop;display:flex;transform:scale(.5);box-shadow:0 8px 32px #6366f14d}@keyframes iconPop{to{opacity:1;transform:scale(1)}}.success-icon-wrapper svg{color:#fff}.success-title{background:var(--accent-gradient);-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;margin:0;font-size:1.75rem;font-weight:800;animation:.5s .5s forwards fadeIn}.success-subtitle{color:var(--text);opacity:0;margin:0;font-size:1rem;line-height:1.7;animation:.5s .65s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.success-features{opacity:0;flex-direction:column;gap:12px;width:100%;padding:20px 0;animation:.5s .8s forwards fadeIn;display:flex}.success-feature-item{background:var(--secondary-button-bg);border:1px solid var(--border);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:transform .2s,box-shadow .2s;display:flex}.success-feature-item:hover{transform:translate(4px);box-shadow:0 4px 12px #6366f11a}.feature-icon{background:var(--accent-gradient);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.feature-icon svg{color:#fff}.feature-text{color:var(--text-h);font-size:.9rem;font-weight:600}.success-cta-button{background:var(--button-bg);color:var(--button-text);cursor:pointer;opacity:0;border:none;border-radius:14px;width:100%;padding:16px 40px;font-size:1.05rem;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;animation:.5s 1s forwards fadeIn;position:relative;overflow:hidden}.success-cta-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:200%;height:100%;animation:2.5s 1.5s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.success-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f140}.confetti-container{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:10px;height:10px;animation:linear forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--card-bg);text-align:center;border-radius:24px;width:90%;max-width:400px;padding:40px;position:relative;box-shadow:0 20px 40px #0003}.close-modal{cursor:pointer;color:var(--text);background:0 0;border:none;position:absolute;top:15px;right:15px}.modal-icon{margin-bottom:20px;font-size:3rem}.modal-content h2{color:var(--text-h);margin-bottom:10px}.modal-content p{color:var(--text);margin-bottom:20px}.dashboard-sidebar{background:var(--card-bg);border-right:1px solid var(--border);box-sizing:border-box;z-index:10;flex-direction:column;width:280px;height:100vh;padding:24px;transition:transform .3s,background-color .3s;display:flex;position:fixed;top:0;left:0}.sidebar-brand-wrapper{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.sidebar-brand{cursor:pointer}.sidebar-brand .logo-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.25rem;font-weight:800}.sidebar-settings{align-items:center;gap:12px;display:flex}.theme-toggle-btn{color:var(--text);cursor:pointer;border:none;border:1px solid var(--border);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:background-color .2s;display:flex}.theme-toggle-btn:hover{background-color:var(--secondary-button-bg)}.language-select-sidebar{border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:4px 8px;font-size:.75rem;font-weight:600;transition:all .2s}.sidebar-menu{flex-direction:column;flex:1;gap:8px;display:flex}.menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.menu-item:hover{background-color:var(--secondary-button-bg);color:var(--text-h)}.menu-item.active{background-color:var(--accent);color:#fff;font-weight:600}.sidebar-user-card{background:#18181b;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;margin-top:auto;padding:16px;display:flex;box-shadow:0 10px 25px #0003}[data-theme=light] .sidebar-user-card{background:#27272a}.user-info-section{align-items:center;gap:12px;display:flex}.sidebar-user-avatar{object-fit:cover;border:2px solid #ffffff1a;border-radius:50%;width:44px;height:44px}.fallback-avatar{color:#fff;background-color:#64748b;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.user-text-details{flex-direction:column;display:flex;overflow:hidden}.user-display-name{color:#fff;font-size:.95rem;font-weight:600}.user-email-address{color:#a1a1aa;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.upgrade-cta-button{color:#000;cursor:pointer;box-sizing:border-box;background-color:#fff;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:6px;width:100%;margin:16px 0 12px;padding:10px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.upgrade-cta-button:hover{background-color:#f4f4f5;transform:translateY(-1px)}.premium-badge-button{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:9999px;justify-content:center;align-items:center;gap:6px;width:100%;margin:16px 0 12px;padding:10px 12px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 0 12px #f59e0b4d}.manage-subscription-button{color:#fff;cursor:pointer;box-sizing:border-box;background-color:#0000;border:1px solid #ffffff26;border-radius:9999px;justify-content:center;align-items:center;gap:6px;width:100%;margin:0 0 12px;padding:10px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.manage-subscription-button:hover:not(:disabled){background-color:#ffffff14;border-color:#ffffff4d}.manage-subscription-button:disabled{opacity:.5;cursor:not-allowed}.star-icon{color:currentColor}.card-divider{background-color:#ffffff14;border:0;width:100%;height:1px;margin:0 0 10px}.sidebar-signout-row{color:#a1a1aa;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 4px;font-size:.85rem;font-weight:500;transition:color .2s;display:flex}.sidebar-signout-row:hover{color:#fff}.signout-icon{color:currentColor}@media (width<=768px){.dashboard-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;justify-content:space-between;align-items:center;width:100%;height:auto;padding:16px 20px;position:relative}.sidebar-brand-wrapper{margin-bottom:0}.sidebar-menu{display:none}.sidebar-user-card{flex-direction:row;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px}.user-info-section{flex:1}.upgrade-cta-button,.premium-badge-button,.manage-subscription-button{width:auto;margin:0;padding:8px 14px;font-size:.8rem}.card-divider{display:none}.sidebar-signout-row{background-color:#ffffff0d;border-radius:8px;width:auto;padding:8px 12px}}.report-wrapper{box-sizing:border-box;justify-content:center;width:100%;padding:20px;display:flex}.report-container{background:var(--card-bg);border:1px solid var(--border);width:min(100%,980px);box-shadow:var(--shadow);text-align:left;box-sizing:border-box;border-radius:20px;margin:20px auto;padding:32px}.report-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:22px;padding-bottom:18px;display:flex}.report-header h2{color:var(--text-h);letter-spacing:0;margin:0;font-size:1.6rem;font-weight:800}.scissors-icon{color:var(--accent);flex:none}.consulting-report{color:var(--text);line-height:1.75}.consulting-report h1,.consulting-report h2,.consulting-report h3{color:var(--text-h);letter-spacing:0}.consulting-report h1{margin:0 0 18px;font-size:1.55rem}.consulting-report h2{margin:30px 0 10px;font-size:1.24rem;font-weight:800}.consulting-report h3{margin:22px 0 8px;font-size:1.05rem;font-weight:800}.consulting-report p,.consulting-report ul,.consulting-report ol{margin:0 0 14px}.consulting-report ul,.consulting-report ol{padding-left:22px}.consulting-report li+li{margin-top:6px}.hair-result-section{border-top:1px solid var(--border);margin-top:34px;padding-top:28px}.hair-result-section h3{color:var(--text-h);letter-spacing:0;margin:0 0 16px;font-size:1.25rem;font-weight:800}.grid-result img{object-fit:contain;border:1px solid var(--border);background:#000;border-radius:12px;width:100%;max-height:76vh;display:block}.style-name-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.style-name-item{background:var(--bg);border:1px solid var(--border);min-height:42px;color:var(--text-h);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:.92rem;font-weight:700;display:flex}.style-name-item span{background:var(--accent);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.78rem;display:inline-flex}.report-actions{border-top:1px solid var(--border);gap:12px;margin-top:26px;padding-top:22px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 14px;font-weight:800;transition:opacity .2s,transform .2s;display:flex}.primary-button{background:var(--button-bg);color:var(--button-text);border:none}.primary-button:hover{opacity:.9;transform:translateY(-1px)}.secondary-button{background:var(--secondary-button-bg);color:var(--text);border:1px solid var(--border)}.secondary-button:hover{background:var(--border)}@media (width<=700px){.report-container{padding:20px}.style-name-grid{grid-template-columns:1fr}.report-actions{flex-direction:column}}@media print{.report-actions{display:none}.report-wrapper,.report-container{box-shadow:none;border:none;padding:0}}.profile-container{background:var(--card-bg);border:1px solid var(--border);width:min(100%,520px);box-shadow:var(--shadow);text-align:center;box-sizing:border-box;border-radius:20px;margin:40px auto;padding:32px}.profile-title{color:var(--text-h);letter-spacing:0;margin:0 0 10px;font-size:2rem;font-weight:800}.profile-subtitle{color:var(--text);margin:0 0 28px;line-height:1.6}.photo-upload-area{aspect-ratio:4/5;border:2px dashed var(--border);background:var(--bg);width:100%;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0 0 24px;padding:0;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.photo-upload-area:hover:not(:disabled){border-color:var(--accent);background:var(--secondary-button-bg)}.photo-upload-area:disabled{cursor:not-allowed;opacity:.78}.photo-preview{object-fit:contain;background:#000;width:100%;height:100%}.upload-placeholder{flex-direction:column;align-items:center;gap:10px;font-weight:700;display:flex}.hidden-file-input{display:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.form-field{text-align:left;flex-direction:column;gap:8px;display:flex}.form-field.full{grid-column:1/-1}.form-field>span{color:var(--text-h);font-size:.9rem;font-weight:800}.input-wrapper{border:1px solid var(--border);background:var(--input-bg);min-height:48px;color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-gradient)}.input-wrapper input,.input-wrapper select{min-width:0;color:var(--text-h);font:inherit;background:0 0;border:0;outline:0;flex:1}.input-wrapper em{color:var(--text);font-size:.85rem;font-style:normal}.submit-button{background:var(--button-bg);width:100%;min-height:52px;color:var(--button-text);cursor:pointer;border:none;border-radius:12px;padding:14px 18px;font-size:1rem;font-weight:800;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 12px 24px #0f172a1a}.submit-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.submit-button:disabled{background:var(--secondary-button-bg);color:var(--text);cursor:not-allowed;box-shadow:none}.button-content{justify-content:center;align-items:center;gap:8px;display:flex}.spinner{animation:1.4s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.error-message{color:#ef4444;text-align:left;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin:0 0 16px;padding:12px;font-size:.92rem}@media (width<=600px){.profile-container{margin:20px auto;padding:22px}.form-grid{grid-template-columns:1fr}}.payment-panel{background:var(--card-bg);border:1px solid var(--border);width:min(100%,520px);box-shadow:var(--shadow);box-sizing:border-box;border-radius:20px;margin:24px auto 0;padding:32px}.payment-copy{text-align:left;margin-bottom:24px}.payment-copy h2{color:var(--text-h);margin:0 0 8px;font-size:1.25rem;line-height:1.3}.payment-copy p{color:var(--text);margin:0;font-size:.94rem;line-height:1.55}.payment-success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33;border-radius:8px;margin-top:12px;padding:12px;font-size:.9rem;font-weight:700}.payment-error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-top:12px;padding:12px;font-size:.9rem;font-weight:700}.payment-form{gap:16px;display:grid}.payment-form label{text-align:left;gap:8px;display:grid}.payment-form label span{color:var(--text-h);font-size:.88rem;font-weight:800}.payment-form input{border:1px solid var(--border);background:var(--input-bg);min-height:48px;color:var(--text-h);font:inherit;box-sizing:border-box;border-radius:12px;padding:0 16px;transition:border-color .2s}.payment-form input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #6366f11a}.payment-form button{background:var(--button-bg);min-height:52px;color:var(--button-text);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-weight:800;transition:opacity .2s,transform .2s;display:inline-flex}.payment-form button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.payment-form button:disabled{background:var(--secondary-button-bg);color:var(--text);cursor:not-allowed}.payment-spinner{animation:1.4s linear infinite payment-rotate}@keyframes payment-rotate{to{transform:rotate(360deg)}}
