*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body[data-theme=light]{--bg-page:#f8fafc;--bg-card:#fff;--bg-input:#fff;--bg-hover:#eef2ff;--bg-subtle:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-focus:#6366f1;--accent:#4f46e5;--accent-light:#eef2ff;--accent-text:#4f46e5;--navbar-bg:#1e293b;--navbar-text:#fff;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 6px 20px #6366f11a}body[data-theme=dark]{--bg-page:#0f172a;--bg-card:#1e293b;--bg-input:#1e293b;--bg-hover:#312e81;--bg-subtle:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#334155;--border-focus:#818cf8;--accent:#818cf8;--accent-light:#1e1b4b;--accent-text:#a5b4fc;--navbar-bg:#0f172a;--navbar-text:#f1f5f9;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 6px 20px #0006}#root,body,html{background:var(--bg-page);color:var(--text-primary);margin:0;padding:0;transition:background .3s ease,color .3s ease}.advisor-container,.history-card,.modal-content,.profile-card,.result-card{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-primary)!important}input,select,textarea{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}input::placeholder{color:var(--text-muted)!important}.detail-label,.history-concerns,.history-date,.modal-date,.profile-email,.step-subtitle{color:var(--text-secondary)!important}.detail-row{border-bottom-color:var(--border)!important}.modal-product-item,.modal-summary{background:var(--bg-subtle)!important;border-color:var(--border)!important}.empty-history{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-muted)!important}.advisor-wrapper,.profile-container{background:var(--bg-page)!important}#skin-advisor-scope{align-items:flex-start;background:var(--bg-page);display:flex;font-family:Prompt,sans-serif,Arial;justify-content:center;min-height:100vh;padding:40px 20px;transition:background .3s ease;width:100%}#skin-advisor-scope,#skin-advisor-scope *{box-sizing:border-box}#skin-advisor-scope .advisor-wrapper{display:flex;justify-content:center;width:100%}#skin-advisor-scope .advisor-container{background:var(--bg-card);border-radius:24px;box-shadow:var(--shadow-sm);color:var(--text-primary);max-width:1100px;padding:40px;position:relative;transition:background .3s ease,color .3s ease;width:100%}#skin-advisor-scope .progress-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:20px;margin-top:6px;text-align:right}#skin-advisor-scope .progress-container{background:var(--bg-subtle);border-radius:20px;height:8px;margin-bottom:30px;width:100%}#skin-advisor-scope .progress-bar{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:20px;height:100%;transition:width .5s ease}#skin-advisor-scope .step-title{color:var(--text-primary);font-size:26px;font-weight:700;line-height:1.4;margin-bottom:10px;text-align:center}#skin-advisor-scope .step-subtitle{color:var(--text-secondary);font-size:16px;margin-bottom:35px;text-align:center}#skin-advisor-scope .button-group{display:flex;gap:15px;justify-content:center;margin-top:30px;width:100%}#skin-advisor-scope .btn-back,#skin-advisor-scope .btn-next,#skin-advisor-scope .btn-submit{border-radius:12px;cursor:pointer;font-family:Kanit,sans-serif;font-size:16px;font-weight:600;outline:none;padding:12px 30px;transition:transform .2s}#skin-advisor-scope .btn-back{background:var(--bg-card);border:2px solid var(--border);color:var(--text-secondary)}#skin-advisor-scope .btn-back:hover{background:var(--bg-subtle)}#skin-advisor-scope .btn-next,#skin-advisor-scope .btn-submit{background:linear-gradient(135deg,#4f46e5,#8b5cf6);border:none;box-shadow:0 5px 15px #4f46e54d;color:#fff}#skin-advisor-scope .btn-next:hover,#skin-advisor-scope .btn-submit:hover{filter:brightness(1.1);transform:translateY(-2px)}#skin-advisor-scope .btn-next:disabled,#skin-advisor-scope .btn-submit:disabled{background:var(--bg-subtle);box-shadow:none;color:var(--text-muted);cursor:not-allowed;transform:none}@media (max-width:600px){#skin-advisor-scope{align-items:flex-start;padding:10px}#skin-advisor-scope .advisor-container{padding:25px 20px}}#skin-advisor-scope .step-content{animation:sa-fadeIn .4s ease-out}@keyframes sa-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.skin-type-grid{flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.skin-type-card{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:16px;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:130px;overflow:hidden;padding:20px;position:relative;transition:all .25s ease}.skin-type-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm);transform:translateY(-3px)}.skin-type-card.selected{background-color:var(--accent-light);border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;color:var(--accent-text);font-weight:600}.icon-wrapper{font-size:32px;margin-bottom:10px}.label-text{font-size:15px;font-weight:500}.shared-grid{grid-gap:14px;display:grid;gap:14px;margin-bottom:30px}.shared-grid-3{grid-template-columns:repeat(3,1fr)}.shared-grid-4{grid-template-columns:repeat(4,1fr)}.shared-grid-5{grid-template-columns:repeat(5,1fr)}.shared-card{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:16px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-family:Kanit,sans-serif;justify-content:flex-start;padding:18px 12px;text-align:center;transition:all .2s ease}.shared-card:hover{background:var(--bg-hover);border-color:var(--border-focus);box-shadow:var(--shadow-sm);transform:translateY(-3px)}.shared-card.selected{background:var(--accent-light);border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;color:var(--accent-text)}.shared-card-tall{min-height:140px}.shared-icon{font-size:28px;line-height:1;margin-bottom:8px}.shared-icon-lg{font-size:36px;margin-bottom:10px}.shared-label{font-size:15px;font-weight:700;line-height:1.3;margin-bottom:4px}.shared-sub{color:var(--text-muted);font-size:12px;font-weight:400;line-height:1.4}.shared-card.selected .shared-sub{color:var(--accent-text);opacity:.8}.shared-tip{background:#6366f11f;border-radius:8px;color:#4f46e5;font-size:11px;font-weight:500;line-height:1.4;margin-top:10px;padding:4px 8px}@media (max-width:600px){.shared-grid-5{grid-template-columns:repeat(3,1fr)}.shared-grid-4{grid-template-columns:repeat(2,1fr)}.shared-grid-3{grid-template-columns:repeat(1,1fr)}.shared-card-tall{min-height:auto}}@media (max-width:400px){.shared-grid-5{grid-template-columns:repeat(2,1fr)}}.concerns-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:30px}.concern-card{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:16px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:15px;transition:all .2s ease}.concern-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm);transform:translateY(-3px)}.concern-card.selected{background-color:var(--accent-light);border-color:#6366f1;color:var(--accent-text);font-weight:600}.concern-icon{font-size:28px;margin-bottom:8px}.concern-label{font-size:14px;text-align:center}.price-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:500px}.price-card{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:16px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;padding:18px 25px;text-align:left;transition:all .2s ease}.price-card:hover{background:var(--bg-subtle);border-color:var(--border-focus);transform:translateX(5px)}.price-card.selected{background-color:var(--accent-light);border-color:#6366f1;color:var(--accent-text);font-weight:600}.rv-trigger{align-items:center;background:var(--bg-card);border:1.5px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:Kanit,sans-serif;font-size:12px;font-weight:600;gap:4px;padding:5px 10px;transition:border-color .2s,color .2s,background .2s;white-space:nowrap}.rv-trigger.reviewed,.rv-trigger:hover{background:#fffbeb;border-color:#fbbf24;color:#d97706}.rv-trigger-stars{font-size:11px;letter-spacing:-1px}.rv-trigger-label{font-size:11px}.rv-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.rv-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:460px;padding:30px;position:relative;width:100%}.rv-close{align-items:center;background:var(--bg-subtle);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:background .2s,color .2s;width:32px}.rv-close:hover{background:#ef4444;color:#fff}.rv-modal-title{color:var(--text-primary);font-size:20px;font-weight:800;margin:0 0 4px}.rv-modal-product{color:var(--text-muted);font-size:13px;margin:0 0 20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-stars-row{align-items:center;display:flex;gap:4px;margin-bottom:20px}.rv-star{background:none;border:none;color:#e2e8f0;cursor:pointer;font-size:32px;line-height:1;padding:0;transition:color .15s}.rv-star.active{color:#fbbf24}.rv-star-label{color:var(--text-secondary);font-size:13px;font-weight:600;margin-left:8px}.rv-input{background:var(--bg-input);border:2px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-family:Kanit,sans-serif;font-size:14px;margin-bottom:12px;outline:none;padding:12px 14px;transition:border-color .2s;width:100%}.rv-input:focus{border-color:var(--border-focus)}.rv-textarea{background:var(--bg-input);border:2px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-family:Kanit,sans-serif;font-size:14px;line-height:1.6;outline:none;padding:12px 14px;resize:vertical;transition:border-color .2s;width:100%}.rv-textarea:focus{border-color:var(--border-focus)}.rv-char-count{color:var(--text-muted);font-size:11px;margin-bottom:20px;margin-top:4px;text-align:right}.rv-modal-actions{display:flex;gap:10px;justify-content:flex-end}.rv-btn-save{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:10px;box-shadow:0 4px 12px #fbbf244d;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-size:14px;font-weight:700;padding:10px 24px;transition:filter .2s}.rv-btn-save:hover{filter:brightness(1.08)}.rv-btn-save:disabled{cursor:not-allowed;filter:none;opacity:.5}.rv-btn-delete{background:#fef2f2;border:2px solid #fca5a5;border-radius:10px;color:#ef4444;cursor:pointer;font-family:Kanit,sans-serif;font-size:14px;font-weight:600;padding:10px 18px;transition:background .2s,color .2s}.rv-btn-delete:hover{background:#ef4444;color:#fff}.prv-empty,.prv-loading{color:var(--text-muted);font-size:13px;padding:10px 0;text-align:center}.prv-container{margin-top:16px}.prv-summary{background:var(--bg-subtle);border-radius:14px;gap:20px;margin-bottom:16px;padding:16px}.prv-avg-block,.prv-summary{align-items:center;display:flex}.prv-avg-block{flex-direction:column;gap:4px;min-width:70px}.prv-avg-num{color:var(--text-primary);font-size:36px;font-weight:800;line-height:1}.prv-total{color:var(--text-muted);font-size:12px;font-weight:500}.prv-dist{display:flex;flex:1 1;flex-direction:column;gap:5px}.prv-dist-row{align-items:center;display:flex;gap:8px}.prv-dist-label{color:var(--text-secondary);flex-shrink:0;font-size:12px;text-align:right;width:20px}.prv-dist-track{background:var(--bg-card);border-radius:20px;flex:1 1;height:8px;overflow:hidden}.prv-dist-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:20px;height:100%;transition:width .6s ease}.prv-dist-count{color:var(--text-muted);flex-shrink:0;font-size:12px;text-align:right;width:16px}.prv-list{display:flex;flex-direction:column;gap:12px}.prv-item{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;transition:border-color .2s}.prv-item:hover{border-color:#fbbf24}.prv-item-header{gap:10px;margin-bottom:8px}.prv-avatar,.prv-item-header{align-items:center;display:flex}.prv-avatar{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;color:#fff;flex-shrink:0;font-size:15px;font-weight:700;height:34px;justify-content:center;text-transform:uppercase;width:34px}.prv-item-meta{flex:1 1}.prv-item-name{color:var(--text-primary);font-size:13px;font-weight:700;margin-bottom:2px}.prv-item-date{color:var(--text-muted);font-size:12px;white-space:nowrap}.prv-item-title{color:var(--text-primary);font-size:14px;font-weight:700;margin-bottom:4px}.prv-item-body{line-height:1.6}.prv-item-body,.prv-more-btn{color:var(--text-secondary);font-size:13px}.prv-more-btn{background:var(--bg-card);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;font-family:Kanit,sans-serif;font-weight:600;margin-top:10px;padding:10px;transition:all .2s;width:100%}.prv-more-btn:hover{background:#fffbeb;border-color:#fbbf24;color:#d97706}.section-header{margin-bottom:24px}.section-title{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 4px}.section-subtitle{color:var(--text-secondary);font-size:13px;margin:0}.results-grid{display:flex;flex-direction:column;gap:20px;margin-top:12px}.results-grid-mb{margin-bottom:40px}.result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;will-change:transform}.result-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-main{align-items:stretch;display:flex;min-height:300px}.card-left{border-right:1px solid var(--border);flex:0 0 280px;flex-direction:column;gap:10px;padding:20px}.card-badge-row,.card-left{display:flex}.match-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;box-shadow:0 2px 8px #6366f166;color:#fff;font-size:12px;font-weight:700;padding:4px 14px}.card-img-wrap{display:flex;justify-content:center}.card-img-thumb{object-fit:contain}.card-img-placeholder,.card-img-thumb{background:var(--bg-subtle);border-radius:12px;height:110px;width:110px}.card-img-placeholder{align-items:center;display:flex;font-size:48px;justify-content:center;opacity:.3}.brand-name{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase}.product-name{color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.4;margin:0}.card-tags{display:flex;flex-wrap:wrap;gap:5px}.card-tag{background:var(--bg-subtle);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:11px;font-weight:600;padding:3px 9px}.card-footer{align-items:flex-end;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:auto;padding-top:14px}.price-tag{color:var(--accent);font-size:22px;font-weight:800;letter-spacing:-.5px}.card-actions{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.card-right{align-items:center;display:flex;flex:1 1;justify-content:center;padding:20px 24px}.chart-container{height:280px;position:relative;width:100%}.card-reviews-toggle{background:var(--bg-subtle);border-top:1px dashed var(--border);padding:8px 20px}.rv-toggle-btn{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-family:Kanit,sans-serif;font-size:11px;font-weight:600;gap:4px;padding:0;transition:color .2s}.rv-toggle-btn:hover{color:#fbbf24}.card-reviews-body{padding:12px 20px 16px}.results-divider{border:none;border-top:1px dashed var(--border);margin:16px 0 32px}.results-empty{background:var(--bg-subtle);border-radius:12px;color:var(--text-secondary);padding:30px;text-align:center}.routine-list,.routine-mb{margin-bottom:30px}.routine-list{display:flex;flex-direction:column;gap:10px}.routine-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .2s}.routine-card:hover{border-color:var(--border-focus)}.routine-card-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#8b5cf6);display:flex;gap:10px;padding:10px 18px}.routine-step-icon{font-size:20px}.routine-step-num{color:#ffffffa6;font-size:10px;font-weight:600}.routine-step-label{color:#fff;font-size:14px;font-weight:700}.routine-step-info{flex:1 1}.routine-card-body{align-items:center;display:flex;gap:14px;padding:12px 18px}.routine-img-box{align-items:center;background:var(--bg-subtle);border-radius:10px;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;width:56px}.routine-img{height:100%;object-fit:contain;width:100%}.routine-img-placeholder{font-size:22px}.routine-product-info{flex:1 1;min-width:0}.routine-brand{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.routine-name{color:var(--text-primary);font-size:14px;font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-tags{display:flex;flex-wrap:wrap;gap:5px}.routine-tag{background:var(--bg-subtle);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:10px;padding:2px 7px}.routine-price-col{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.routine-price{color:var(--accent);font-size:16px;font-weight:800}.loading-screen{color:var(--text-secondary);padding:60px 20px;text-align:center}.loading-screen h3{color:var(--text-primary);margin:16px 0 8px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top:3px solid #6366f1;height:44px;margin:0 auto;width:44px}@media (max-width:700px){.card-main{flex-direction:column}.card-left{border-bottom:1px solid var(--border);border-right:none;flex:none}.chart-container{height:220px}}.admin-container{margin:40px auto;max-width:1000px;padding:0 20px}.admin-header{margin-bottom:30px;text-align:center}.admin-title{color:#1e293b;margin-bottom:20px}.admin-tabs{background:#f1f5f9;border-radius:10px;display:inline-flex;padding:5px}.tab-btn{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-family:Kanit,sans-serif;font-size:16px;padding:10px 25px;transition:.3s}.tab-btn.active{background:#fff;box-shadow:0 2px 5px #0000001a;color:#4f46e5;font-weight:700}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{background:#fff;border-radius:15px;border-top:5px solid #0000;box-shadow:0 4px 15px #0000000d;padding:25px;text-align:center}.stat-card.blue{border-color:#3b82f6}.stat-card.green{border-color:#10b981}.stat-card.purple{border-color:#4f46e5}.stat-card .number{color:#1e293b;font-size:3rem;font-weight:700;margin:10px 0}.chart-section{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000000d;margin:0 auto;max-width:500px;padding:30px;text-align:center}.pie-chart-wrapper{margin:20px auto;max-width:300px}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.users-view{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000000d;padding:30px}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e2e8f0;padding:15px;text-align:left}.role-badge{border-radius:20px;font-size:12px;font-weight:700;padding:5px 12px}.role-badge.admin{background:#e0e7ff;color:#4f46e5}.role-badge.user{background:#dcfce7;color:#166534}.btn-delete{background:#fee2e2;border:none;border-radius:6px;color:#ef4444;cursor:pointer;font-weight:700;padding:8px 16px}.btn-delete:hover{background:#ef4444;color:#fff}.btn-refresh{background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;padding:8px 16px}.fadeIn{animation:fadeIn .5s ease-in-out}.login-container{align-items:center;background:var(--bg-page);display:flex;font-family:Kanit,sans-serif;justify-content:center;min-height:100vh;padding:40px 20px;position:relative;transition:background .3s ease}.login-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23667eea' fill-opacity='.02' fill-rule='evenodd'/%3E%3C/svg%3E");content:"";inset:0;position:absolute}.login-card{animation:slideUp .5s ease-out;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-sm);max-width:450px;padding:45px 40px;position:relative;transition:background .3s,border-color .3s;width:100%;z-index:1}.login-card:hover{box-shadow:var(--shadow-md)}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin-bottom:30px;text-align:center}.error-message{animation:shake .4s ease;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;border-radius:12px;color:#991b1b;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.login-form{gap:16px;margin-bottom:25px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:var(--text-secondary);font-size:14px;font-weight:600;padding-left:4px}.form-input{background:var(--bg-input);border:2px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:Kanit,sans-serif;font-size:15px;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 4px #667eea1a}.form-input::placeholder{color:var(--text-muted)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-size:16px;font-weight:700;margin-top:8px;padding:16px;transition:all .3s ease;width:100%}.btn-primary:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.toggle-container{border-top:1px solid var(--border);color:var(--text-secondary);font-size:14px;margin-top:20px;padding-top:20px;text-align:center}.toggle-link{color:#667eea;cursor:pointer;font-weight:700;transition:all .2s}.toggle-link:hover{color:#764ba2;text-decoration:underline}.divider{border-top:1px solid var(--border);margin-top:25px;padding-top:25px;position:relative}.divider:before{background:var(--bg-card);color:var(--text-muted);content:"หรือ";font-size:13px;font-weight:600;left:50%;padding:0 12px;position:absolute;top:-12px;transform:translateX(-50%)}.btn-guest{background:var(--bg-card);border:2px solid #667eea;border-radius:12px;color:#667eea;cursor:pointer;font-family:Kanit,sans-serif;font-size:15px;font-weight:700;padding:14px;transition:all .3s ease;width:100%}.btn-guest:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 6px 16px #667eea40;color:#fff;transform:translateY(-2px)}.btn-guest:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.success-message{animation:slideDown .4s ease;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7;border-radius:12px;color:#065f46;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px 16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.login-container{padding:20px 15px}.login-card{padding:35px 25px}.login-title{font-size:28px}}.profile-container{align-items:center;background:var(--bg-page);display:flex;flex-direction:column;font-family:Kanit,sans-serif;min-height:100vh;padding:40px 20px 60px;transition:background .3s ease}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-sm);max-width:520px;overflow:hidden;position:relative;text-align:center;transition:all .3s ease;width:100%;z-index:1}.profile-card:hover{box-shadow:var(--shadow-md)}.profile-header-bg{background:linear-gradient(135deg,#667eea,#764ba2);height:140px;overflow:hidden;position:relative}.profile-header-bg:before{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.profile-info{border-bottom:1px solid var(--border);margin-top:-70px;padding-bottom:25px;position:relative;z-index:2}.profile-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:6px solid var(--bg-card);border-radius:50%;box-shadow:0 8px 24px #667eea4d;color:#fff;display:flex;font-size:56px;font-weight:700;height:120px;justify-content:center;margin:0 auto 15px;overflow:hidden;position:relative;transition:border-color .3s;width:120px}.profile-avatar:before{animation:shine 3s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shine{0%{left:-100%}to{left:100%}}.profile-name{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.profile-email{color:var(--text-secondary);font-size:15px;margin:8px 0 0}.profile-details{background:var(--bg-card);padding:25px 35px;transition:background .3s}.detail-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:15px;justify-content:space-between;padding:16px 0;transition:all .2s}.detail-row:hover{background:var(--bg-hover);border-bottom-color:#0000;border-radius:8px;padding-left:10px;padding-right:10px}.detail-row:last-child{border-bottom:none}.detail-label{align-items:center;color:var(--text-secondary);display:flex;font-size:16px;font-weight:600;gap:10px}.detail-value{color:var(--text-primary);font-size:16px;font-weight:700}.profile-actions{background:var(--bg-card);display:flex;gap:15px;justify-content:center;padding:25px 35px 30px;transition:background .3s}.btn-action{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-family:Kanit,sans-serif;font-size:15px;font-weight:700;padding:14px 20px;transition:all .3s ease}.btn-logout{background:var(--bg-card);border:2px solid #ef4444;color:#ef4444}.btn-logout:hover{background:#ef4444;box-shadow:0 6px 16px #ef444440;color:#fff;transform:translateY(-2px)}.btn-analyze{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea40;color:#fff}.btn-analyze:hover{box-shadow:0 8px 20px #667eea59;transform:translateY(-2px)}.history-section{margin-top:35px;max-width:520px;position:relative;text-align:left;width:100%;z-index:1}.history-title{border-left:5px solid #667eea;color:var(--text-primary);font-size:22px;font-weight:700;margin-bottom:20px;padding-left:15px}.history-list{display:flex;flex-direction:column;gap:18px}.history-card{background:var(--bg-card);border:2px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);cursor:pointer;padding:20px;transition:all .3s ease}.history-card:hover{border-color:#667eea;box-shadow:var(--shadow-md);transform:translateY(-4px)}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.history-date{color:var(--text-secondary);font-size:14px;font-weight:600}.skin-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea40;color:#fff;font-size:13px;font-weight:700;padding:6px 14px}.history-concerns{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:10px}.click-hint{color:#667eea;font-size:13px;font-weight:600;margin-top:12px;opacity:0;text-align:right;transition:opacity .3s ease}.history-card:hover .click-hint{opacity:1}.empty-history{background:var(--bg-card);border:2px dashed var(--border);border-radius:16px;color:var(--text-muted);padding:50px 30px;text-align:center}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:0 20px 60px #0006;max-height:85vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;transition:background .3s;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{align-items:center;background:var(--bg-subtle);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px}.modal-close:hover{background:#ef4444;color:#fff;transform:rotate(90deg)}.modal-title{color:var(--text-primary);font-size:26px;font-weight:700;margin:0 0 8px;padding-right:50px}.modal-date{color:var(--text-secondary);font-size:14px;margin-bottom:25px}.modal-summary{background:var(--bg-subtle);border:2px solid var(--border);border-radius:16px;margin-bottom:30px;padding:20px}.skin-badge-large{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:25px;color:#fff;display:inline-block;font-size:16px;font-weight:700;margin-bottom:12px;padding:10px 20px}.modal-summary p{color:var(--text-secondary);font-size:15px;margin:12px 0 0}.modal-results h3,.modal-summary strong{color:var(--text-primary)}.modal-results h3{border-left:4px solid #667eea;font-size:20px;margin:0 0 20px;padding-left:12px}.modal-product-item{background:var(--bg-subtle);border:2px solid var(--border);border-radius:14px;margin-bottom:15px;padding:18px;transition:all .3s ease}.modal-product-item:hover{background:var(--bg-card);border-color:#667eea;box-shadow:0 4px 16px #667eea1f;transform:translateX(6px)}.modal-prod-brand{color:var(--text-muted);font-size:13px;font-weight:600;margin-bottom:4px}.modal-prod-name{color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.4;margin-bottom:6px}.modal-prod-price{color:#667eea;font-size:15px;font-weight:700}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:10px}@media (max-width:640px){.profile-container{padding:20px 15px 40px}.profile-card{max-width:100%}.profile-actions{flex-direction:column;gap:12px}.btn-action{width:100%}.modal-content{border-radius:20px;max-height:90vh;padding:25px 20px}.modal-title{font-size:22px}}.guide-page{align-items:center;background:var(--bg-page);display:flex;flex-direction:column;font-family:Kanit,sans-serif;justify-content:center;min-height:100vh;padding:50px 20px;position:relative;transition:background .3s ease}.guide-page:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23667eea' fill-opacity='.02' fill-rule='evenodd'/%3E%3C/svg%3E");content:"";inset:0;position:absolute;z-index:0}.guide-header{margin-bottom:40px;max-width:600px;position:relative;text-align:center;z-index:1}.guide-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2.2rem;font-weight:700;margin:0 0 15px}.guide-header p{color:var(--text-secondary);font-size:1.1rem;font-weight:500;line-height:1.6}.cards-container{align-items:stretch;flex-wrap:wrap;gap:25px;justify-content:center;max-width:1250px;width:100%;z-index:1}.cards-container,.guide-card{display:flex;position:relative}.guide-card{animation:fadeInUp .5s ease-out;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-sm);flex:1 1;flex-direction:column;height:100%;min-width:340px;overflow:hidden;padding:30px;transition:all .3s cubic-bezier(.4,0,.2,1)}.guide-card:before{background:linear-gradient(90deg,#0000,#667eea0d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.guide-card:hover:before{left:100%}.guide-card:hover{border-color:#667eea;box-shadow:var(--shadow-md);transform:translateY(-8px)}.card-top{border-bottom:2px solid var(--border);margin-bottom:20px;min-height:240px;padding-bottom:20px}.card-title,.card-top{display:flex;flex-direction:column}.card-title{color:var(--text-primary);font-size:1.4rem;font-weight:700;justify-content:flex-start;line-height:1.4;margin-bottom:15px;margin-top:0;min-height:75px}.card-title span{color:#667eea;display:block;font-size:.95rem;font-weight:600;margin-top:6px}.card-steps{color:var(--text-secondary);flex-grow:1;font-size:1rem;line-height:1.7;margin-bottom:0}.card-steps b{color:#667eea;font-weight:700}.skin-type-grid{display:flex;flex-direction:column;flex-grow:1;gap:12px}.type-box{align-items:center;background-color:var(--bg-card);border:2px solid;border-radius:14px;display:flex;gap:15px;padding:16px 20px;transition:all .3s ease}.type-box:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-3px)}.box-icon{flex-shrink:0;font-size:1.8rem}.type-box div{display:flex;flex-direction:column;gap:4px}.type-box strong{font-size:1.05rem;font-weight:700}.type-box span{font-size:.9rem;line-height:1.4;opacity:.85}.box-oily{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-color:#fbbf24;color:#92400e}.box-dry{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;border-color:#60a5fa;color:#1e3a8a}.box-combi{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)!important;border-color:#818cf8;color:#3730a3}.box-normal{background:linear-gradient(135deg,#d1fae5,#a7f3d0)!important;border-color:#34d399;color:#065f46}.box-sensitive{background:linear-gradient(135deg,#fce7f3,#fbcfe8)!important;border-color:#f472b6;color:#831843}.box-warning{background:linear-gradient(135deg,#fed7aa,#fdba74)!important;border-color:#f97316;color:#7c2d12}.box-warning strong{color:#ea580c;font-weight:700}.guide-footer{margin-top:50px;position:relative;text-align:center;z-index:1}.btn-start{align-items:center;animation:btnPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;box-shadow:0 6px 20px #667eea59;color:#fff;cursor:pointer;display:inline-flex;font-family:Kanit,sans-serif;font-size:1.2rem;font-weight:700;gap:10px;padding:16px 45px;transition:all .3s ease}.btn-start:hover{box-shadow:0 10px 30px #667eea73;transform:translateY(-4px)}@keyframes btnPulse{0%,to{box-shadow:0 6px 20px #667eea59}50%{box-shadow:0 6px 30px #667eea8c}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.guide-card:first-child{animation-delay:.1s}.guide-card:nth-child(2){animation-delay:.2s}.guide-card:nth-child(3){animation-delay:.3s}@media (max-width:1024px){.cards-container{align-items:center;flex-direction:column}.guide-card{max-width:500px;width:100%}.card-title,.card-top{min-height:auto}}@media (max-width:768px){.guide-page{padding:30px 15px}.guide-header h1{font-size:1.8rem}.guide-header p{font-size:1rem}.guide-card{padding:25px 20px}.btn-start{font-size:1.1rem;padding:14px 35px;width:100%}}.search-page{background:var(--bg-page);font-family:Kanit,sans-serif;min-height:100vh;padding:40px 20px;transition:background .3s ease}.search-inner{margin:0 auto;max-width:800px}.search-header{margin-bottom:24px;text-align:center}.search-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 6px}.search-header p{color:var(--text-secondary);margin:0}.search-box-row{display:flex;gap:10px;margin-bottom:12px}.search-input{background:var(--bg-input);border:2px solid var(--border);border-radius:12px;color:var(--text-primary);flex:1 1;font-family:Kanit,sans-serif;font-size:16px;outline:none;padding:14px 18px;transition:border-color .2s,background .3s}.search-input:focus{border-color:var(--border-focus)}.search-btn{background:linear-gradient(135deg,#4f46e5,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-size:15px;font-weight:600;padding:14px 22px;transition:opacity .2s}.search-btn:disabled{cursor:not-allowed;opacity:.5}.filter-toggle-btn{background:var(--bg-card);border:2px solid var(--border);border-radius:12px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:15px;font-weight:600;padding:14px 18px;transition:all .2s}.filter-toggle-btn.active{background:var(--accent-light);border-color:var(--border-focus);color:var(--accent-text)}.filter-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.filter-group-label{color:var(--text-muted);font-size:13px;font-weight:700;margin:0 0 8px}.filter-group{margin-bottom:16px}.filter-pills{display:flex;flex-wrap:wrap;gap:6px}.filter-pill{background:var(--bg-subtle);border:none;border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:500;padding:7px 14px;transition:all .15s;white-space:nowrap}.filter-pill:hover{background:var(--accent-light);color:var(--accent-text)}.filter-pill.active{background:linear-gradient(135deg,#4f46e5,#8b5cf6);color:#fff;font-weight:700}.filter-reset-btn{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#ef4444;cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:600;margin-top:4px;padding:6px 16px}.quick-tags-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:24px;padding:20px}.quick-tags-title{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0 0 14px}.quick-tag-group{margin-bottom:14px}.quick-tag-group:last-child{margin-bottom:0}.quick-tag-group-label{color:var(--text-muted);font-size:12px;font-weight:700;margin:0 0 8px}.quick-tag-pills{display:flex;flex-wrap:wrap;gap:6px}.quick-tag-btn{background:var(--bg-card);border:2px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s}.quick-tag-btn.active,.quick-tag-btn:hover{background:var(--accent-light);border-color:var(--border-focus);color:var(--accent-text)}.result-meta-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.result-meta-text{color:var(--text-secondary);font-size:14px;margin:0}.clear-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:12px;padding:5px 12px}.search-product-list{display:flex;flex-direction:column;gap:10px}.search-product-card{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:16px 18px;transition:all .2s}.search-product-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-img-box{align-items:center;background:var(--bg-subtle);border-radius:10px;display:flex;flex-shrink:0;height:62px;justify-content:center;overflow:hidden;width:62px}.product-img-box img{height:100%;object-fit:contain;width:100%}.product-info{flex:1 1;min-width:0}.product-brand-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.product-name-label{color:var(--text-primary);font-size:15px;font-weight:700;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-tags{display:flex;flex-wrap:wrap;gap:5px}.product-tag-cat{background:var(--accent-light);color:var(--accent-text);font-weight:600}.product-tag-cat,.product-tag-skin{border-radius:20px;font-size:11px;padding:2px 8px}.product-tag-skin{background:var(--bg-subtle);color:var(--text-secondary)}.product-price-col{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.product-price{color:var(--accent);font-size:18px;font-weight:800}.search-empty,.search-loading{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;color:var(--text-secondary);padding:60px 20px;text-align:center}.search-empty p,.search-loading p{color:var(--text-secondary)}.search-empty h3{color:var(--text-primary);margin:8px 0 6px}.search-back-row{margin-top:36px;text-align:center}.back-btn{background:none;border:2px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:14px;padding:9px 22px;transition:all .2s}.back-btn:hover{border-color:var(--border-focus);color:var(--accent-text)}.bookmark-page{background:var(--bg-page);font-family:Kanit,sans-serif;min-height:100vh;padding:40px 20px;transition:background .3s ease}.bookmark-inner{margin:0 auto;max-width:800px}.bookmark-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.bookmark-header h1{color:var(--text-primary);font-size:26px;font-weight:700;margin:0 0 4px}.bookmark-header p{margin:0}.bookmark-back-btn,.bookmark-header p{color:var(--text-secondary);font-size:14px}.bookmark-back-btn{background:none;border:2px solid var(--border);border-radius:10px;cursor:pointer;font-family:Kanit,sans-serif;padding:8px 16px;transition:all .2s}.bookmark-back-btn:hover{border-color:var(--border-focus);color:var(--accent-text)}.bookmark-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.bookmark-filter-btn{background:var(--bg-subtle);border:none;border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:600;padding:7px 16px;transition:all .2s}.bookmark-filter-btn:hover{background:var(--accent-light);color:var(--accent-text)}.bookmark-filter-btn.active{background:linear-gradient(135deg,#4f46e5,#8b5cf6);color:#fff}.bookmark-loading{color:var(--text-secondary);padding:80px;text-align:center}.bookmark-empty{background:var(--bg-card);border:2px dashed var(--border);border-radius:20px;padding:80px 30px;text-align:center}.bookmark-empty h3{color:var(--text-primary);margin:0 0 8px}.bookmark-empty p{color:var(--text-secondary);margin:0 0 24px}.bookmark-empty-actions{display:flex;gap:10px;justify-content:center}.btn-primary-gradient{background:linear-gradient(135deg,#4f46e5,#8b5cf6);border:none;border-radius:10px;color:#fff}.btn-outline-accent,.btn-primary-gradient{cursor:pointer;font-family:Kanit,sans-serif;font-size:14px;font-weight:600;padding:10px 24px}.btn-outline-accent{background:var(--bg-card);border:2px solid var(--border-focus);border-radius:10px;color:var(--accent-text)}.bookmark-list{display:flex;flex-direction:column;gap:12px}.bookmark-card{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:18px 20px;transition:all .2s}.bookmark-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md)}.bookmark-img-box{align-items:center;background:var(--bg-subtle);border-radius:12px;display:flex;flex-shrink:0;height:65px;justify-content:center;overflow:hidden;width:65px}.bookmark-img-box img{height:100%;object-fit:contain;width:100%}.bookmark-product-info{flex:1 1;min-width:0}.bookmark-brand{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.bookmark-name{color:var(--text-primary);font-size:15px;font-weight:700;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-tags{display:flex;flex-wrap:wrap;gap:6px}.bookmark-tag-cat{background:var(--accent-light);color:var(--accent-text);font-weight:600}.bookmark-tag-cat,.bookmark-tag-skin{border-radius:20px;font-size:12px;padding:2px 10px}.bookmark-tag-skin{background:var(--bg-subtle);color:var(--text-secondary)}.bookmark-price-col{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.bookmark-price{color:var(--accent);font-size:18px;font-weight:800}.dash-page{background:var(--bg-page);font-family:Kanit,sans-serif;min-height:100vh;padding:40px 20px;transition:background .3s}.dash-inner{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:900px}.dash-header{align-items:flex-start;display:flex;justify-content:space-between}.dash-title{color:var(--text-primary);font-size:26px;font-weight:800;margin:0 0 4px}.dash-subtitle{margin:0}.dash-back-btn,.dash-subtitle{color:var(--text-secondary);font-size:14px}.dash-back-btn{background:none;border:2px solid var(--border);border-radius:10px;cursor:pointer;font-family:Kanit,sans-serif;padding:8px 16px;transition:all .2s;white-space:nowrap}.dash-back-btn:hover{border-color:var(--border-focus);color:var(--accent-text)}.dash-summary-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.dash-stat-card{border:1px solid var(--border);border-radius:18px;padding:20px 16px;text-align:center;transition:transform .2s,box-shadow .2s}.dash-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.dash-stat-purple{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.dash-stat-indigo{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.dash-stat-violet{background:linear-gradient(135deg,#f3e8ff,#e9d5ff)}.dash-stat-fuchsia{background:linear-gradient(135deg,#fdf4ff,#f5d0fe)}[data-theme=dark] .dash-stat-purple{background:linear-gradient(135deg,#2d1b69,#3b2082)}[data-theme=dark] .dash-stat-indigo{background:linear-gradient(135deg,#1e1b4b,#2d2a6b)}[data-theme=dark] .dash-stat-violet{background:linear-gradient(135deg,#2e1065,#3b0764)}[data-theme=dark] .dash-stat-fuchsia{background:linear-gradient(135deg,#2d0a3c,#4a0d5c)}.dash-stat-icon{font-size:26px;margin-bottom:8px}.dash-stat-num{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.2;margin-bottom:4px}.dash-stat-label{color:var(--text-secondary);font-size:12px;font-weight:600}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm);padding:24px;transition:background .3s}.dash-card-title{border-left:4px solid #6366f1;color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 18px;padding-left:12px}.dash-empty-text{color:var(--text-muted);font-size:14px}.dash-grid-2{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.dash-bar-row{align-items:center;display:flex;gap:10px;margin-bottom:12px}.dash-bar-row:last-child{margin-bottom:0}.dash-bar-label{align-items:center;color:var(--text-primary);display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;width:130px}.dash-bar-track{background:var(--bg-subtle);border-radius:20px;flex:1 1;height:10px;overflow:hidden}.dash-bar-fill{border-radius:20px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.dash-bar-count{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:700;text-align:right;width:24px}.dash-timeline{display:flex;flex-direction:column;gap:0}.dash-timeline-item{border-bottom:1px solid var(--border);display:flex;gap:14px;padding:12px 0;position:relative}.dash-timeline-item:last-child{border-bottom:none}.dash-timeline-dot{border-radius:50%;box-shadow:0 0 0 3px var(--bg-card);flex-shrink:0;height:12px;margin-top:4px;width:12px}.dash-timeline-body{flex:1 1;min-width:0}.dash-timeline-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.dash-timeline-skin{font-size:14px;font-weight:700}.dash-timeline-date{color:var(--text-muted);font-size:12px}.dash-timeline-concerns{display:flex;flex-wrap:wrap;gap:5px}.dash-concern-chip{background:var(--bg-subtle);border-radius:20px;color:var(--text-secondary);font-size:11px;font-weight:500;padding:2px 8px}.dash-product-list{display:flex;flex-direction:column;gap:10px}.dash-product-row{align-items:center;background:var(--bg-subtle);border-radius:12px;display:flex;gap:12px;padding:10px 12px;transition:background .15s}.dash-product-row:hover{background:var(--bg-hover)}.dash-product-img{align-items:center;background:var(--bg-card);border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;overflow:hidden;width:46px}.dash-product-img img{height:100%;object-fit:contain;width:100%}.dash-product-info{flex:1 1;min-width:0}.dash-product-brand{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.dash-product-name{color:var(--text-primary);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-product-price{color:var(--accent);flex-shrink:0;font-size:15px;font-weight:800}.dash-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:10px 0 20px}.dash-btn-primary{background:linear-gradient(135deg,#4f46e5,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 14px #4f46e54d;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-size:15px;font-weight:700;padding:12px 28px;transition:all .2s}.dash-btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.dash-btn-outline{background:var(--bg-card);border:2px solid var(--border);border-radius:12px;color:var(--text-secondary);cursor:pointer;font-family:Kanit,sans-serif;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.dash-btn-outline:hover{border-color:var(--border-focus);color:var(--accent-text)}.dash-empty,.dash-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.dash-empty-icon{font-size:64px}.dash-empty h2{color:var(--text-primary);font-size:22px;margin:0}.dash-empty p{font-size:15px;margin:0}.dash-spinner{animation:spin .8s linear infinite;border:4px solid var(--border);border-radius:50%;border-top:4px solid #6366f1;height:44px;width:44px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.dash-summary-row{grid-template-columns:repeat(2,1fr)}.dash-grid-2{grid-template-columns:1fr}}@media (max-width:480px){.dash-summary-row{gap:10px;grid-template-columns:repeat(2,1fr)}.dash-stat-card{padding:14px 10px}.dash-stat-num{font-size:18px}}.compare-page{background:var(--bg-page);box-sizing:border-box;font-family:Kanit,sans-serif;min-height:100vh;padding:40px 20px;width:100%}.compare-inner{margin:0 auto;max-width:1100px}.compare-empty{color:var(--text-secondary);padding:100px 20px;text-align:center}.compare-empty-icon{font-size:64px;margin-bottom:20px}.compare-empty h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 10px}.compare-empty p{font-size:14px;margin:0 0 28px}.compare-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:28px}.compare-header h1{color:var(--text-primary);font-size:24px;font-weight:800;margin:0 0 4px}.compare-header p{color:var(--text-muted);font-size:13px;margin:0}.cmp-hint{color:#6366f1;font-weight:600}.compare-header-actions{display:flex;gap:10px}.cmp-back-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:700;padding:9px 18px;transition:filter .2s}.cmp-back-btn:hover{filter:brightness(1.15)}.cmp-clear-btn{background:#0000;border:1.5px solid #fca5a5;border-radius:10px;color:#ef4444;cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:600;padding:9px 18px;transition:all .2s}.cmp-clear-btn:hover{background:#ef4444;border-color:#ef4444;color:#fff}.cmp-card-row{display:flex;gap:16px;margin-bottom:20px}.cmp-product-card{align-items:center;background:var(--bg-card);border:2px solid #6366f1;border:2px solid var(--accent-col,#6366f1);border-radius:16px;box-shadow:0 0 0 4px color-mix(in srgb,#6366f1 10%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-col,#6366f1) 10%,#0000);display:flex;flex:1 1;flex-direction:column;gap:8px;padding:20px 16px;position:relative;text-align:center;transition:transform .2s}.cmp-product-card:hover{transform:translateY(-2px)}.cmp-remove-btn{align-items:center;background:var(--bg-subtle);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:16px;height:26px;justify-content:center;line-height:1;position:absolute;right:10px;top:10px;transition:all .2s;width:26px}.cmp-remove-btn:hover{background:#ef4444;color:#fff}.cmp-product-img{align-items:center;background:var(--bg-subtle);border-radius:14px;display:flex;height:90px;justify-content:center;overflow:hidden;width:90px}.cmp-product-img img{height:100%;object-fit:contain;width:100%}.cmp-product-img span{font-size:36px;opacity:.35}.cmp-product-brand{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.cmp-product-name{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.4}.cmp-product-price{color:var(--accent);color:var(--accent-col,var(--accent));font-size:20px;font-weight:800}.cmp-table{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:24px;overflow:hidden}.cmp-table-row{border-bottom:1px solid var(--border);display:flex}.cmp-table-row:last-child{border-bottom:none}.cmp-table-label{background:var(--bg-subtle);color:var(--text-muted);flex:0 0 150px;font-size:12px;font-weight:700;letter-spacing:.4px;padding:14px 18px;text-transform:uppercase}.cmp-table-cell,.cmp-table-label{align-items:center;border-right:1px solid var(--border);display:flex}.cmp-table-cell{color:var(--text-secondary);flex:1 1;font-size:13px;line-height:1.5;padding:14px 16px}.cmp-table-cell:last-child{border-right:none}.cmp-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px}.cmp-chart-card h3{color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 24px}.cmp-chart-wrap{height:380px;margin:0 auto;max-width:520px}.compare-btn{align-items:center;background:var(--bg-card);border:1.5px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:Kanit,sans-serif;font-size:12px;font-weight:600;gap:4px;padding:5px 11px;transition:all .2s;white-space:nowrap}.compare-btn:hover{background:#6366f114;border-color:#6366f1;color:#6366f1}.compare-btn.active{background:#6366f124;border-color:#6366f1;color:#6366f1}.compare-btn:disabled{cursor:not-allowed;opacity:.38}.compare-bar{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;bottom:28px;box-shadow:0 8px 32px #00000059;display:flex;font-family:Kanit,sans-serif;gap:12px;left:50%;padding:10px 18px;position:fixed;transform:translateX(-50%);z-index:1000}.compare-bar-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;color:#fff;font-size:12px;font-weight:700;padding:3px 10px}.compare-bar-text{color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap}.compare-bar-thumbs{display:flex;gap:6px}.compare-bar-thumb{align-items:center;background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:8px;cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;overflow:hidden;transition:border-color .2s;width:34px}.compare-bar-thumb:hover{border-color:#ef4444}.compare-bar-thumb img{height:100%;object-fit:contain;width:100%}.compare-bar-go{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-size:13px;font-weight:700;padding:7px 16px;transition:filter .2s;white-space:nowrap}.compare-bar-go:hover{filter:brightness(1.12)}.compare-bar-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1;padding:0;transition:color .2s}.compare-bar-clear:hover{color:#ef4444}@media (max-width:700px){.cmp-card-row{flex-wrap:wrap}.cmp-table-label{flex:0 0 100px;font-size:10px;padding:10px}.cmp-table-cell{font-size:12px;padding:10px}.cmp-chart-wrap{height:280px}}.navbar{background:#1e293b;background:var(--navbar-bg,#1e293b);box-shadow:0 4px 6px -1px #0003;color:#fff;color:var(--navbar-text,#fff);justify-content:space-between;padding:15px 30px;position:-webkit-sticky;position:sticky;top:0;transition:background .3s ease;z-index:1000}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:15px}.navbar-title{color:#818cf8;cursor:pointer;margin:0}.navbar-user{border-left:1px solid #475569;font-size:14px;opacity:.8;padding-left:15px}.admin-badge{color:#facc15;margin-left:5px}.navbar-right{align-items:center;display:flex;gap:10px}.nav-btn{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-family:Kanit,sans-serif;font-weight:500;padding:8px 16px;transition:.2s}.nav-btn.active{background:#4f46e5;color:#fff}.nav-btn:hover{background:#334155;color:#fff}.logout-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Kanit,sans-serif;font-weight:700;margin-left:4px;padding:8px 16px;transition:background .2s}.logout-btn:hover{background:#dc2626}.theme-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0}.theme-toggle-track{align-items:center;background:#334155;border-radius:20px;display:flex;height:28px;padding:3px;position:relative;transition:background .3s ease;width:52px}body[data-theme=dark] .theme-toggle-track{background:#312e81}.theme-toggle-thumb{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;display:flex;font-size:13px;height:22px;justify-content:center;left:3px;position:absolute;transition:left .3s cubic-bezier(.34,1.56,.64,1);width:22px}body[data-theme=dark] .theme-toggle-thumb{left:27px}
/*# sourceMappingURL=main.4771ee9f.css.map*/