.app-container{min-height:100vh;background:var(--color-neutral-canvas);position:relative}.logo-container{display:flex;align-items:center;gap:var(--spacing-3);padding-left:var(--spacing-6)}.logo{width:40px;height:40px;background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);box-shadow:var(--shadow-sm)}.logo-text{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-neutral-text)}.auth-header{padding:var(--spacing-8) var(--container-padding-desktop);display:flex;justify-content:space-between;align-items:center;background:var(--color-neutral-surface);border-bottom:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle)}.landing-header{position:absolute;top:0;left:0;right:0;z-index:100;padding:var(--spacing-6) 0;transition:all .4s cubic-bezier(.4,0,.2,1)}.landing-header.sticky{position:fixed;top:10px;left:10px;right:10px;width:auto;padding:var(--spacing-4) 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-radius:0;box-sizing:border-box}.landing-header-container{width:100%;max-width:100%;margin:0;padding:var(--spacing-3) 36px;background:transparent;border-radius:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.landing-header-container .logo-container{justify-self:start;padding-left:0}.landing-header-container .header-nav{justify-self:center}.landing-header-container .header-actions{justify-self:end}.landing-header.sticky .landing-header-container{background:#cacecab3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--spacing-3) 36px;margin-left:0;margin-right:0;width:100%;border-radius:16px;box-shadow:0 2px 12px #00000014}.landing-header .logo-text{color:#fff;font-size:1.5rem;font-weight:var(--font-weight-semibold);transition:color .4s ease}.landing-header.sticky .logo-text{color:#fff;font-size:1.5rem;display:inline-flex;align-items:center;background:#000000e0;padding:6px 12px;border-radius:9999px;line-height:1;box-shadow:0 6px 18px #0000002e;border:1px solid rgba(255,255,255,.08)}.landing-header .logo{background:#08d685;color:#fff}.landing-header .nav-link{color:#fff;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:color .4s ease}.landing-header.sticky .nav-link,.landing-header.sticky .nav-link.active{color:#03150c}.landing-header .nav-link:hover,.landing-header .nav-link.active{color:#08d685}.btn-header-signin{background:transparent;color:#fff;border:2px solid #ffffff;padding:var(--spacing-2) var(--spacing-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:all .4s ease}.landing-header.sticky .btn-header-signin{color:#03150c;border-color:#03150c}.btn-header-signin:hover{background:#fff;color:#03150c}.landing-header.sticky .btn-header-signin:hover{background:#03150c;color:#fff}.landing-page{background:#f6f7f4;font-family:var(--font-family-ui)}.dashboard-header{padding:var(--spacing-6) var(--container-padding-desktop);display:flex;justify-content:space-between;align-items:center;background:var(--color-neutral-surface);border-bottom:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle);box-shadow:var(--shadow-xs)}.header-nav{display:flex;gap:var(--spacing-8)}.nav-link{color:var(--color-neutral-text-subtle);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);transition:color var(--duration-fast) var(--easing-standard)}.nav-link:hover{color:var(--color-neutral-text)}.header-actions{display:flex;gap:var(--spacing-4);align-items:center}.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 100px);padding:var(--spacing-8)}.auth-content{max-width:600px;width:100%;text-align:center}.auth-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-text);line-height:var(--line-height-2xl);margin-bottom:var(--spacing-12);text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-6);max-width:400px;margin:0 auto}.input-group{width:100%}.auth-input{width:100%;height:36px;padding:0 var(--spacing-4);font-size:var(--font-size-base);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border);border-radius:var(--radius-md);background:var(--color-neutral-surface);transition:all var(--duration-base) var(--easing-standard);outline:none;color:var(--color-neutral-text)}.auth-input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-focus-ring)}.auth-input::placeholder{color:var(--color-neutral-text-muted)}.btn-primary{width:100%}.btn-link{background:transparent;border:none;color:var(--color-brand-primary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;padding:var(--spacing-2);transition:color var(--duration-fast) var(--easing-standard);font-weight:var(--font-weight-regular)}.btn-link:hover{color:var(--color-brand-primary-hover)}.error-message{background:var(--color-semantic-danger-bg);color:var(--color-semantic-danger-text);padding:var(--spacing-4);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-danger-border);font-size:var(--font-size-sm)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-4)}.loading-screen .logo{animation:pulse var(--duration-slow) var(--easing-standard) infinite}.dashboard-main{padding:var(--spacing-8) var(--container-padding-desktop);max-width:var(--container-max-width);margin:0 auto}.dashboard-hero{text-align:center;margin-bottom:var(--spacing-16)}.dashboard-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-text);margin-bottom:var(--spacing-4)}.dashboard-subtitle{font-size:var(--font-size-md);color:var(--color-neutral-text-subtle)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-6)}.dashboard-card{background:var(--color-neutral-surface);padding:var(--spacing-6);border-radius:var(--radius-lg);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle);box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--easing-standard)}.dashboard-card:hover{box-shadow:var(--shadow-md)}.dashboard-card h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-neutral-text);margin-bottom:var(--spacing-4)}.dashboard-card p{color:var(--color-neutral-text-subtle);line-height:var(--line-height-base)}.session-info{margin-top:var(--spacing-6);padding:var(--spacing-4);background:var(--color-brand-primary-soft-bg);border-radius:var(--radius-md);border:var(--border-width-hairline) var(--border-style) #D6DCFF}.session-info p{color:var(--color-neutral-text);font-weight:var(--font-weight-medium)}@media (max-width: 768px){.auth-title,.dashboard-title{font-size:var(--font-size-xl)}.dashboard-header{flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-4)}.header-nav{flex-wrap:wrap;justify-content:center;gap:var(--spacing-4)}.dashboard-main,.auth-header{padding:var(--spacing-6) var(--container-padding-mobile)}}.user-email{color:var(--color-neutral-text-subtle);font-size:var(--font-size-sm);margin-right:var(--spacing-2)}@font-face{font-family:DMSans-ExtraBold;src:url(/assets/fonts/DMSans-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:PublicSans-Regular;src:url(/assets/fonts/PublicSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PublicSans-Bold;src:url(/assets/fonts/PublicSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.landing-main{background:#f6f7f4}.landing-hero{background-color:#03150c;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-16) var(--spacing-10) 0 var(--spacing-10);position:relative;border-radius:24px;width:calc(100% - 20px);margin:50px auto 0;overflow:hidden}.landing-hero-container{max-width:1200px;width:100%;margin:0 auto;padding-top:calc(var(--spacing-16) + var(--spacing-4));position:relative;z-index:1}.landing-hero-content{width:100%;text-align:center;z-index:1}.landing-title{font-family:DMSans-ExtraBold,sans-serif;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;color:#fff;margin-bottom:var(--spacing-6);line-height:1.2;letter-spacing:-.07em}.landing-title-highlight{color:#08d685}.landing-subtitle{font-family:var(--font-family-ui);font-size:clamp(1rem,1.9vw,1.2rem);font-weight:400;color:#fff;margin-bottom:var(--spacing-6);max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6}.landing-cta{display:flex;gap:var(--spacing-4);justify-content:center;flex-wrap:wrap;margin-bottom:48px}.btn-hero-primary{background-color:#08d685;color:#fff;border:none;padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:all var(--duration-base) var(--easing-standard)}.btn-hero-primary:hover{background-color:#06b870;transform:translateY(-2px);box-shadow:0 4px 12px #08d6854d;color:#000}.btn-hero-secondary{background-color:transparent;color:#fff;border:2px solid #ffffff;padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:all var(--duration-base) var(--easing-standard)}.btn-hero-secondary:hover{background-color:#ffffff1a;border-color:#08d685;color:#08d685}.landing-intro{background:transparent;padding:var(--spacing-16) var(--spacing-6);padding-bottom:80px}.landing-intro-container{max-width:1140px;width:100%;box-sizing:border-box;margin:0 auto;display:grid;grid-template-columns:minmax(280px,560px) 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}.landing-intro-title{font-family:PublicSans-Bold,sans-serif;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:700;color:#14452d;line-height:1.15;letter-spacing:-.04em;margin:0}.landing-intro-body{font-family:var(--font-family-ui);font-size:var(--font-size-md);color:#0a0b0a;line-height:1.5}.landing-intro-body p{margin:0 0 var(--spacing-4)}.landing-intro-body p:last-child{margin-bottom:0}.landing-intro+.landing-features{margin-top:var(--spacing-12)}.landing-intro-points{background:transparent;padding:0 var(--spacing-6) 130px}.landing-intro-points-container{max-width:1140px;width:100%;box-sizing:border-box;margin:0 auto}.landing-intro-points-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));column-gap:clamp(2rem,6vw,6rem);row-gap:var(--spacing-6);font-family:var(--font-family-ui);font-size:var(--font-size-md);line-height:1.35;color:#0a0b0a}.landing-intro-points-list li{display:grid;grid-template-columns:22px 1fr;column-gap:var(--spacing-4);align-items:start;white-space:nowrap}.landing-intro-points-list li:before{content:"✓";color:#08d685;font-weight:800;line-height:1.2;margin-top:1px}.landing-intro-points+.landing-demo{padding-top:0}.landing-demo{background:transparent;padding:var(--spacing-16) var(--spacing-6)}.landing-demo-container{max-width:1140px;width:100%;box-sizing:border-box;margin:0 auto;display:grid;grid-template-columns:minmax(320px,560px) 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.landing-demo-title{font-family:DMSans-ExtraBold,sans-serif;font-size:clamp(1.9rem,3.3vw,3.1rem);font-weight:800;color:#14452d;line-height:1.12;letter-spacing:-.04em;margin:0 0 var(--spacing-6)}.landing-demo-text{font-family:var(--font-family-ui);color:#0a0b0a;font-size:var(--font-size-md);line-height:1.5;margin:0 0 var(--spacing-4);max-width:52ch}.landing-demo-bullets{margin:var(--spacing-8) 0 0;padding:0;list-style:none;display:grid;gap:var(--spacing-5);font-family:var(--font-family-ui);color:#0a0b0a;font-size:var(--font-size-md);line-height:1.45}.landing-page .text-body,.landing-page .text-body-subtle{font-family:var(--font-family-ui);font-size:var(--font-size-md);line-height:1.45;color:#0a0b0a}.landing-intro p,.landing-demo p,.landing-features p,.landing-content p,.landing-demo li{color:#0a0b0a}.landing-demo-bullets li{display:grid;grid-template-columns:22px 1fr;column-gap:var(--spacing-4);align-items:start}.landing-demo-bullets li:before{content:"✓";color:#08d685;font-weight:800;line-height:1.2;margin-top:2px}.landing-demo-video{width:100%;aspect-ratio:16 / 9;border-radius:22px;overflow:hidden;background:#0f1412;box-shadow:0 18px 45px #0000002e;border:1px solid rgba(0,0,0,.08)}.landing-demo-video iframe{width:100%;height:100%;border:0;display:block}.landing-demo+.landing-features{margin-top:var(--spacing-8)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-8);margin-top:var(--spacing-16);max-width:1140px;margin-left:auto;margin-right:auto;padding:0 var(--spacing-6)}.landing-content{max-width:1140px;margin:var(--spacing-16) auto;padding:0 var(--spacing-6)}.landing-content h2,.landing-content h3{margin-bottom:var(--spacing-4)}.landing-content p{margin-bottom:var(--spacing-4);line-height:1.6}.landing-feature{text-align:center;padding:var(--spacing-6)}.landing-feature h2{margin-bottom:var(--spacing-4)}.landing-feature p{line-height:var(--line-height-base)}@media (max-width: 768px){.landing-main{padding:0 10px}.landing-header{padding:var(--spacing-4) 0}.landing-header-container{padding:var(--spacing-3) var(--spacing-2);margin-left:0;margin-right:0;width:100%;max-width:100%}.landing-header .logo-container{padding-left:36px}.landing-header .header-actions{justify-self:end;padding-right:36px}.landing-header.sticky{top:10px;left:20px;right:20px}.landing-header.sticky .landing-header-container{padding:var(--spacing-2) var(--spacing-2);margin-left:0;margin-right:0}.landing-hero{padding:var(--spacing-12) var(--spacing-8);border-radius:16px;width:calc(100% - 20px)}.landing-hero-container{padding-top:calc(var(--spacing-16) + var(--spacing-4))}.landing-intro{padding:var(--spacing-12) var(--spacing-4)}.landing-intro-container{grid-template-columns:1fr;gap:var(--spacing-8)}.landing-intro-points{padding:0 var(--spacing-4) var(--spacing-12)}.landing-intro-points-list{grid-template-columns:1fr;row-gap:var(--spacing-5)}.landing-intro-points-list li{white-space:normal}.landing-demo{padding:var(--spacing-12) var(--spacing-4)}.landing-demo-container{grid-template-columns:1fr;gap:var(--spacing-10);align-items:start}.landing-demo-text{max-width:none}.landing-features,.landing-content{padding:0 var(--spacing-4)}.landing-title{font-size:clamp(1.5rem,5vw,2.25rem)}.landing-subtitle{font-size:clamp(.85rem,2.5vw,1rem)}.landing-cta{flex-direction:column;gap:var(--spacing-3);margin-bottom:24px}.landing-cta .btn-hero-primary,.landing-cta .btn-hero-secondary{width:100%;justify-content:center}.landing-features{grid-template-columns:1fr;gap:var(--spacing-6);padding:var(--spacing-16) var(--container-padding-mobile)}.header-nav{gap:var(--spacing-4)}.nav-link{font-size:.875rem}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFast{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-on-load{animation:slideUpFast .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.1s;opacity:0}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.animate-visible{opacity:1;transform:translateY(0)}.landing-features.animate-visible .landing-feature{animation:slideUp .6s cubic-bezier(.4,0,.2,1) forwards;opacity:0}.landing-features.animate-visible .landing-feature:nth-child(1){animation-delay:.1s}.landing-features.animate-visible .landing-feature:nth-child(2){animation-delay:.2s}.landing-features.animate-visible .landing-feature:nth-child(3){animation-delay:.3s}.landing-intro-points.animate-visible .landing-intro-points-list li{animation:slideUp .5s cubic-bezier(.4,0,.2,1) forwards;opacity:0}.landing-intro-points.animate-visible .landing-intro-points-list li:nth-child(1){animation-delay:.1s}.landing-intro-points.animate-visible .landing-intro-points-list li:nth-child(2){animation-delay:.15s}.landing-intro-points.animate-visible .landing-intro-points-list li:nth-child(3){animation-delay:.2s}.landing-intro-points.animate-visible .landing-intro-points-list li:nth-child(4){animation-delay:.25s}.landing-intro-points.animate-visible .landing-intro-points-list li:nth-child(5){animation-delay:.3s}.landing-intro-points.animate-visible .landing-intro-points-list li:nth-child(6){animation-delay:.35s}@media (prefers-reduced-motion: reduce){.animate-on-load,.animate-on-scroll,.landing-features.animate-visible .landing-feature,.landing-intro-points.animate-visible .landing-intro-points-list li{animation:none;opacity:1;transform:none;transition:none}}.auth-page{height:100vh;background:#fff;display:flex;gap:38px;align-items:stretch;justify-content:center;padding:38px;box-sizing:border-box}.auth-left{position:relative;background-image:url(/assets/images/authentication-background-image.png);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:flex-end;border-radius:10px;overflow:hidden;flex:1;height:100%;min-height:0;box-shadow:0 18px 60px #0000002e}.auth-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 600px at 40% 20%,#08d6852e,#0000 60%),linear-gradient(180deg,#00000040,#000c 78%,#000000e6)}.auth-left-inner{position:relative;z-index:1;width:100%;padding:44px 44px 56px;color:#fff}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-family-ui);font-weight:700;letter-spacing:-.01em;margin-bottom:34px;opacity:.95;font-size:1.05rem}.auth-left-title{font-family:DMSans-ExtraBold,sans-serif;font-weight:800;letter-spacing:-.05em;line-height:1.05;font-size:clamp(2.2rem,3.6vw,3.6rem);margin:0}.auth-left-title span{display:block}.auth-right{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;flex:1;height:100%;min-height:0}.auth-right-inner{width:min(460px,100%)}.auth-right-title{font-family:var(--font-family-ui);font-weight:700;letter-spacing:-.02em;font-size:2.15rem;margin:0 0 10px;color:#0a0b0a}.auth-right-subtitle{font-family:var(--font-family-ui);font-size:.98rem;color:#0a0b0aad;margin:0 0 26px;line-height:1.45}.auth-form-split{display:grid;gap:18px;margin-top:18px}.auth-field label{display:block;font-family:var(--font-family-ui);font-size:.92rem;color:#0a0b0ab8;margin-bottom:8px}.auth-field input{width:100%;height:44px;padding:0 14px;border-radius:4px;border:1px solid rgba(0,0,0,.15);font-family:var(--font-family-ui);font-size:.95rem;outline:none;transition:box-shadow .18s ease,border-color .18s ease}.auth-field input:focus{border-color:#08d685e6;box-shadow:0 0 0 3px #08d6852e}.auth-primary-btn{height:44px;border-radius:4px;border:1px solid rgba(0,0,0,.12);background:#08d685;color:#fff;font-family:var(--font-family-ui);font-size:.98rem;font-weight:600;cursor:pointer;transition:transform .14s ease,filter .14s ease}.auth-primary-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.auth-primary-btn:disabled{opacity:.75;cursor:not-allowed;transform:none}.auth-switch{margin-top:10px;text-align:center;font-family:var(--font-family-ui);font-size:.92rem;color:#0a0b0a99}.auth-switch button{background:transparent;border:none;padding:0;font:inherit;color:#0a0b0ab8;text-decoration:underline;cursor:pointer}.auth-switch button:hover{color:#0a0b0aeb}.auth-error{margin-top:14px;background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#991b1bf2;border-radius:10px;padding:12px 14px;font-family:var(--font-family-ui);font-size:.92rem}@media (max-width: 980px){.auth-page{flex-direction:column;padding:38px;gap:0;align-items:center;justify-content:center}.auth-left{display:none}.auth-right{width:min(520px,100%);height:auto;flex:0 1 auto;padding:0}}.dashboard-layout{display:flex;min-height:100vh;background:#f5f5f5;position:relative}.burger-menu{display:none;position:fixed;top:20px;right:20px;z-index:1001;background:#fff;border:none;width:40px;height:40px;border-radius:8px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.burger-menu:hover{box-shadow:0 4px 12px #00000026}.burger-menu span{display:block;width:20px;height:2px;background:#333;border-radius:2px;transition:all .3s ease}.dashboard-sidebar{width:260px;background:#fff;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:1000;transition:transform .3s ease}.sidebar-header{padding:32px 24px;border-bottom:1px solid #e5e5e5}.sidebar-logo{display:flex;align-items:center;gap:12px}.logo-text{font-size:1.5rem;font-weight:700;color:#0a0b0a;letter-spacing:-.02em}.sidebar-nav{flex:1;padding:24px 16px;display:flex;flex-direction:column;gap:8px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#6b7280;text-decoration:none;border-radius:8px;font-size:.95rem;font-weight:500;transition:all .2s ease;position:relative}.sidebar-link:hover{background:#f3f4f6;color:#111827}.sidebar-link.active{background:#d1fae5;color:#059669;font-weight:600}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:#059669;border-radius:0 2px 2px 0}.sidebar-icon{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:16px;border-top:1px solid #e5e5e5}.sidebar-logout{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;background:transparent;border:none;color:#6b7280;text-decoration:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sidebar-logout:hover{background:#fef2f2;color:#dc2626}.dashboard-content{flex:1;margin-left:260px;padding:40px;overflow-y:auto;background:#f5f5f5}.sidebar-overlay{display:none}@media (max-width: 1500px){.burger-menu{display:flex}.dashboard-sidebar{transform:translate(-100%)}.dashboard-sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-content{margin-left:0;padding:80px 20px 20px}}.dashboard-page{width:100%;height:100%}.dashboard-container{display:grid;grid-template-columns:1fr 480px;gap:0;height:calc(100vh - 80px);position:relative}.dashboard-left-panel{overflow-y:auto;padding:32px;background:#f5f5f5;height:100%}.dashboard-left-panel::-webkit-scrollbar{width:8px}.dashboard-left-panel::-webkit-scrollbar-track{background:#f1f1f1}.dashboard-left-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dashboard-left-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dashboard-right-panel{position:sticky;top:0;height:calc(100vh - 80px);background:#fff;border-left:1px solid #e5e5e5;overflow:hidden}.dashboard-header-content{margin-bottom:32px}.dashboard-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.dashboard-title{font-size:1.75rem;font-weight:700;color:#0a0b0a;margin:0 0 8px;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}.dashboard-subtitle{font-size:.95rem;color:#6b7280;margin:0}.product-selector{flex-shrink:0;min-width:280px;position:relative}.product-dropdown-button{width:100%;height:52px;border:2px solid #d1d5db;border-radius:16px;padding:0 20px;font-size:1rem;font-family:inherit;font-weight:500;color:#1f2937;background:#fff;transition:all .2s ease;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #0000000a}.product-dropdown-button:hover{border-color:#10b981;box-shadow:0 2px 8px #10b9811f}.product-dropdown-button.open{border-color:#10b981;box-shadow:0 0 0 4px #10b98114}.dropdown-label{display:flex;align-items:center;gap:10px}.option-icon{color:#10b981;flex-shrink:0}.dropdown-arrow{color:#6b7280;transition:transform .2s ease;flex-shrink:0;margin-left:12px}.dropdown-arrow.rotated{transform:rotate(180deg)}.product-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a,0 2px 6px #0000000f;z-index:9999;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.product-dropdown-option{width:100%;padding:14px 20px;font-size:.95rem;font-family:inherit;color:#1f2937;background:#fff;border:none;text-align:left;cursor:pointer;transition:background-color .15s ease;font-weight:400;display:flex;align-items:center;gap:10px}.product-dropdown-option:hover{background:#d1fae5}.product-dropdown-option.selected{background:#d1fae5;color:#10b981;font-weight:600}.product-dropdown-option .option-icon{color:#10b981}.product-dropdown-option:hover .option-icon,.product-dropdown-option.selected .option-icon{color:#059669}.product-dropdown-option:first-child{border-top-left-radius:16px;border-top-right-radius:16px}.product-dropdown-option:last-child{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.stream-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d;overflow:visible;position:relative}.section-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.section-header:hover{opacity:.8}.section-title{font-size:1.1rem;font-weight:600;color:#0a0b0a;margin:0 0 4px}.section-description{font-size:.875rem;color:#6b7280;margin:0}.section-toggle{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:color .2s ease;flex-shrink:0;margin-left:16px}.section-toggle:hover{color:#10b981}.toggle-arrow{transition:transform .3s ease;color:currentColor}.toggle-arrow.expanded{transform:rotate(180deg)}.section-content{overflow:visible;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin-top .3s ease}.section-content.expanded{max-height:5000px;opacity:1;margin-top:0}.section-content.collapsed{max-height:0;opacity:0;margin-top:-20px;overflow:hidden}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:flex;flex-direction:column;gap:4px;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:8px}.label-hint{font-size:.75rem;font-weight:400;color:#9ca3af}.textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:12px 16px;font-size:.95rem;font-family:inherit;color:#0a0b0a;background:#fff;transition:all .2s ease;outline:none;resize:vertical}.textarea::placeholder{color:#9ca3af}.textarea:hover{border-color:#9ca3af}.textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.input-hint{font-size:.75rem;color:#6b7280;margin-top:6px;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{margin-top:8px}.btn-start{width:100%;font-size:1rem;font-weight:600;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.btn-icon{font-size:1.1rem;line-height:1}.btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.form-hint{margin-top:12px;font-size:.875rem;text-align:center;color:#6b7280;font-weight:500}.voice-cloning-section{margin-top:24px;animation:slideDown .3s ease-out;opacity:0}.voice-cloning-section.visible{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.voice-cloning-separator{height:1px;background:var(--color-border);margin:24px 0}.voice-recording-section{display:flex;flex-direction:column;gap:16px}.recording-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.recording-subtitle{font-size:14px;color:var(--color-text-secondary);margin:-8px 0 0}.script-alert{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:16px;margin:8px 0}.script-alert-header{display:flex;align-items:center;gap:8px;color:#92400e;font-weight:500;font-size:14px;margin-bottom:12px}.script-alert-header svg{flex-shrink:0;color:#f59e0b}.script-text{color:#78350f;font-size:14px;line-height:1.6;padding-left:28px}.record-button-container{display:flex;justify-content:center;margin:24px 0}.record-button{display:flex;align-items:center;gap:12px;padding:16px 32px;background:#fff;border:2px solid var(--color-border);border-radius:50px;cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:600;color:var(--color-text-primary)}.record-button:hover{border-color:var(--color-brand-primary);background:#f0fdf4}.record-button.recording{border-color:#ef4444;background:#fef2f2;color:#dc2626}.record-button.recording:hover{background:#fee2e2}.record-icon{color:#10b981;transition:color .2s ease}.record-button.recording .record-icon{color:#ef4444;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.recording-tips{background:#f9fafb;border:1px solid var(--color-border);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:16px}.tip-item{display:flex;flex-direction:column;gap:4px}.tip-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.tip-description{font-size:13px;color:var(--color-text-secondary);line-height:1.5}.playback-controls-container{display:flex;flex-direction:column;gap:16px;margin:24px 0}.playback-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 32px;background:#fff;border:2px solid var(--color-border);border-radius:50px;cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:600;color:var(--color-text-primary);width:100%}.playback-button:hover{border-color:var(--color-brand-primary);background:#f0fdf4}.playback-button svg{color:var(--color-brand-primary)}.recording-duration{margin-left:auto;font-size:14px;color:var(--color-text-secondary);font-weight:500}.recording-actions{display:flex;gap:12px}.btn-delete-recording,.btn-save-recording{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid}.btn-delete-recording{background:#fff;border-color:#e5e7eb;color:#ef4444}.btn-delete-recording:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.btn-delete-recording:disabled{opacity:.5;cursor:not-allowed}.btn-save-recording{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.btn-save-recording:hover:not(:disabled){background:#059669;border-color:#059669}.btn-save-recording:disabled{opacity:.6;cursor:not-allowed}.live-feed{display:flex;flex-direction:column;height:100%}.live-feed-header{padding:24px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center;background:#fff}.live-feed-title{font-size:1.1rem;font-weight:600;color:#0a0b0a;margin:0}.live-status{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-size:.875rem;font-weight:600;color:#ef4444}.script-queue{flex:1;overflow-y:auto;padding:16px;background:#f9fafb}.script-queue::-webkit-scrollbar{width:6px}.script-queue::-webkit-scrollbar-track{background:#f1f1f1}.script-queue::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.script-queue::-webkit-scrollbar-thumb:hover{background:#94a3b8}.script-item{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:16px;margin-bottom:12px;transition:all .3s ease}.script-item:last-child{margin-bottom:0}.script-item-speaking{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;background:#f0fdf4}.script-item-completed{opacity:.6}.script-item-queued{background:#fffbeb;border-color:#fbbf24}.script-item-priority.script-item-queued{background:#fef3c7;border-color:#f59e0b;border-width:2px}.script-item-priority.script-item-generating{border-width:2px}.script-item-generating{background:#f8fafc;border-color:#94a3b8;position:relative;overflow:hidden}.script-generating-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#6366f114,#a855f714,#6366f114);display:flex;align-items:center;justify-content:center;gap:10px;z-index:1;border-radius:11px;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.generating-spinner{width:18px;height:18px;border:2px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:generating-spin .8s linear infinite}@keyframes generating-spin{to{transform:rotate(360deg)}}.generating-text{font-size:.8rem;font-weight:600;color:#6366f1;letter-spacing:.02em}.script-item-generating .script-text{opacity:.6}.script-item-generating .script-header{position:relative;z-index:2}.script-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.script-timestamp{font-size:.75rem;color:#6b7280;font-weight:500}.script-text{font-size:.875rem;line-height:1.6;color:#1f2937;margin:0}@media (max-width: 1200px){.dashboard-container{grid-template-columns:1fr 400px}}@media (max-width: 1500px){.dashboard-container{grid-template-columns:1fr;height:auto}.dashboard-left-panel{height:auto;padding:24px}.dashboard-right-panel{position:relative;height:600px;border-left:none;border-top:1px solid #e5e5e5}.form-row{grid-template-columns:1fr}.dashboard-title-row{flex-direction:column;gap:16px}.product-selector{width:100%;min-width:auto}}@media (max-width: 768px){.dashboard-title{font-size:1.5rem}.title-icon{font-size:1.25rem}.dashboard-subtitle{font-size:.875rem}.dashboard-left-panel{padding:20px 16px}.form-section{padding:20px;border-radius:12px}.section-title{font-size:1rem}.section-header{flex-direction:row;align-items:flex-start;gap:12px}.section-toggle{margin-left:8px}.live-feed-header{padding:20px 16px}.script-queue,.script-item{padding:12px}.dashboard-right-panel{height:500px}.dashboard-title-row{flex-direction:column;align-items:stretch}.product-dropdown-button{font-size:.95rem;height:48px;padding:0 18px}.product-dropdown-menu{top:calc(100% + 6px)}.product-dropdown-option{padding:12px 18px;font-size:.9rem}}.btn-stop{background:#ef4444}.btn-stop:hover:not(:disabled){background:#dc2626}.empty-feed{display:flex;align-items:center;justify-content:center;height:200px;text-align:center;color:#94a3b8;font-size:.95rem}.live-status.active .status-dot{animation:pulse 2s ease-in-out infinite}.status-dot.active{background:#10b981}.live-status.active .status-text{color:#10b981}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}.subscription-required-alert{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #f59e0b;border-radius:12px;margin-bottom:16px;font-size:.925rem;color:#92400e;line-height:1.5;box-shadow:0 2px 8px #f59e0b26}.subscription-required-alert .alert-icon{flex-shrink:0;color:#f59e0b;margin-top:1px}.subscription-required-alert span{flex:1}.subscription-alert-link{color:#d97706;font-weight:600;text-decoration:none;transition:all .2s ease;white-space:nowrap}.subscription-alert-link:hover{color:#b45309;text-decoration:underline}.btn-start.btn-locked{background:#d1d5db;cursor:not-allowed;opacity:.8}.btn-start.btn-locked:hover{background:#d1d5db;transform:none}.btn-start.btn-locked .btn-icon{font-size:1rem}.tiktok-status-box{margin-top:16px;padding:12px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb}.tiktok-status-box.connecting{border-color:#3b82f6;background:#eff6ff}.tiktok-status-box.connected{border-color:#10b981;background:#ecfdf5}.tiktok-status-box.failed{border-color:#ef4444;background:#fef2f2}.tiktok-status-box.waiting{border-color:#f59e0b;background:#fffbeb}.tiktok-status-message{margin:0;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px}.tiktok-status-message.success{color:#059669}.tiktok-status-message.error{color:#dc2626}.tiktok-status-message.warning{color:#d97706}.tiktok-status-hint{margin:8px 0 0;font-size:.8rem;color:#64748b;line-height:1.4}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.history-page{width:100%;min-height:100%;padding-top:32px}.history-container{max-width:1400px;margin:0 32px}.history-header{margin-bottom:32px}.history-title{font-size:1.75rem;font-weight:700;color:#0a0b0a;margin:0 0 8px;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}.title-icon{font-size:1.5rem}.history-subtitle{font-size:.95rem;color:#6b7280;margin:0}.history-filters{background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:16px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:.875rem;font-weight:500;color:#374151}.filter-input{height:44px;padding:0 16px;border:1px solid #d1d5db;border-radius:10px;font-size:.95rem;font-family:inherit;color:#1f2937;background:#fff;transition:all .2s ease}.filter-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.filter-input::placeholder{color:#9ca3af}.clear-filters-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#f3f4f6;border:none;border-radius:10px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#e5e7eb;color:#374151}.clear-filters-btn svg{width:16px;height:16px}.history-content{background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:24px;min-height:400px;box-shadow:0 1px 3px #0000000d}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#059669;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.history-loading p{color:#6b7280;font-size:.95rem;margin:0}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.history-empty h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 8px}.history-empty p{font-size:.95rem;color:#6b7280;margin:0 0 24px;max-width:400px}.sessions-list{display:flex;flex-direction:column;gap:16px}.session-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease}.session-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.session-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.session-info{flex:1;min-width:0}.session-product{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.875rem;color:#6b7280}.session-meta-item{display:flex;align-items:center;gap:6px}.session-meta-item svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.session-status-badge{flex-shrink:0}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-active{background:#d1fae5;color:#059669}.status-stopped{background:#f3f4f6;color:#6b7280}.session-card-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.session-stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.8rem;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.25rem;font-weight:700;color:#059669}.stat-value-small{font-size:.95rem;font-weight:600;color:#374151}.load-more-container{display:flex;justify-content:center;margin-top:32px;padding-top:32px;border-top:1px solid #e5e7eb}.btn-load-more{min-width:200px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.history-header{margin-bottom:24px}.history-title{font-size:1.5rem}.filters-grid{grid-template-columns:1fr;gap:16px}.history-filters,.history-content{padding:20px}.session-card{padding:16px}.session-card-header{flex-direction:column;align-items:flex-start}.session-meta{flex-direction:column;gap:8px}.session-card-body{grid-template-columns:1fr;gap:16px}.stat-value{font-size:1.1rem}}@media (max-width: 480px){.history-title,.title-icon{font-size:1.25rem}.session-product{font-size:1rem}.session-card-body{gap:12px}}.subscription-status{padding:var(--spacing-4);background:var(--color-neutral-surface-alt);border-radius:var(--radius-md);margin-bottom:var(--spacing-6)}.subscription-status-loading{color:var(--color-neutral-text-subtle);font-size:var(--font-size-sm)}.subscription-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-3)}.subscription-badge.free{background:var(--color-neutral-surface-alt);color:var(--color-neutral-text-subtle);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle)}.subscription-badge.pro{background:var(--color-semantic-success-bg);color:var(--color-semantic-success-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-success-border)}.subscription-details{margin-top:var(--spacing-2)}.subscription-detail-item{display:flex;justify-content:space-between;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}.detail-label{color:var(--color-neutral-text-subtle);font-weight:var(--font-weight-medium)}.detail-value{color:var(--color-neutral-text);font-weight:var(--font-weight-semibold)}.capitalize{text-transform:capitalize}.subscription-warning{margin-top:var(--spacing-3);padding:var(--spacing-2);background:var(--color-semantic-warning-bg);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-warning-border);border-radius:var(--radius-md);color:var(--color-semantic-warning-text);font-size:var(--font-size-xs)}.subscription-upgrade-prompt{margin-top:var(--spacing-3);text-align:center}.subscription-upgrade-prompt p{margin-bottom:var(--spacing-2);color:var(--color-neutral-text-subtle);font-size:var(--font-size-sm)}.btn-small{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.subscription-manage{margin-top:var(--spacing-4);padding-top:var(--spacing-3);border-top:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle)}.subscription-manage button{width:100%}.app-container{min-height:100vh;background:#f5f5f5}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.loading-screen .logo{width:60px;height:60px;background:#10b981;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.loading-screen p{font-size:1rem;color:#6b7280}.settings-page{max-width:900px;margin:0 auto;padding-top:32px}.settings-header{margin-bottom:32px}.settings-title{font-size:2rem;font-weight:700;color:#0a0b0a;margin:0 0 8px;letter-spacing:-.02em}.settings-subtitle{font-size:1rem;color:#6b7280;margin:0}.settings-content{display:flex;flex-direction:column;gap:32px}.settings-section{display:flex;flex-direction:column;gap:16px}.section-title{font-size:1.1rem;font-weight:600;color:#0a0b0a;margin:0}.settings-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:24px}.setting-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.setting-item:last-child{padding-bottom:0;border-bottom:none}.setting-info{flex:1}.setting-label{display:block;font-size:.95rem;font-weight:600;color:#111827;margin-bottom:4px}.setting-value{font-size:.95rem;color:#374151;margin:0;word-break:break-all}.setting-value.text-muted{color:#9ca3af;font-size:.85rem;font-family:monospace}.setting-description{font-size:.875rem;color:#6b7280;margin:0}.setting-select{padding:8px 12px;border:1px solid #e5e5e5;border-radius:6px;font-size:.95rem;color:#374151;background:#fff;cursor:pointer;transition:all .2s ease}.setting-select:hover{border-color:#d1d5db}.setting-select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.btn-secondary{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #e5e5e5;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db}.btn-sm{padding:6px 12px;font-size:.875rem}@media (max-width: 768px){.settings-title{font-size:1.5rem}.settings-card{padding:20px}.setting-item{flex-direction:column;align-items:stretch;gap:12px}.btn-secondary,.setting-select{width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:none;border-radius:var(--radius-md);font-family:var(--font-family-ui);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-base) var(--easing-standard);outline:none}.btn:focus-visible{outline:3px solid var(--color-brand-focus-ring);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:32px;padding:0 var(--spacing-3);font-size:var(--font-size-sm);line-height:var(--line-height-sm);gap:var(--spacing-2)}.btn-md{height:36px;padding:0 var(--spacing-4);font-size:var(--font-size-base);line-height:var(--line-height-base);gap:var(--spacing-2)}.btn-lg{height:42px;padding:0 var(--spacing-4);font-size:var(--font-size-md);line-height:var(--line-height-md);gap:var(--spacing-3)}.btn-primary{background:var(--color-brand-primary);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-brand-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-brand-primary-active)}.btn-secondary{background:var(--color-neutral-surface);color:var(--color-neutral-text);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-surface-alt)}.btn-soft{background:var(--color-brand-primary-soft-bg);color:var(--color-brand-primary-soft-text)}.btn-soft:hover:not(:disabled){background:#e4e9ff}.btn-ghost{background:transparent;color:var(--color-neutral-text-subtle)}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-surface-alt)}.btn-danger{background:var(--color-semantic-danger-bg);color:var(--color-semantic-danger-text)}.btn-danger:hover:not(:disabled){background:#ffd2dd}.chip{display:inline-flex;align-items:center;gap:var(--spacing-2);border-radius:var(--radius-pill);font-family:var(--font-family-ui);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-xs);white-space:nowrap}.chip-sm{height:22px;padding:0 var(--spacing-3)}.chip-md{height:26px;padding:0 var(--spacing-3)}.chip-neutral{background:var(--color-neutral-surface-alt);color:var(--color-neutral-text-subtle);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle)}.chip-success{background:var(--color-semantic-success-bg);color:var(--color-semantic-success-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-success-border)}.chip-warning{background:var(--color-semantic-warning-bg);color:var(--color-semantic-warning-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-warning-border)}.chip-danger{background:var(--color-semantic-danger-bg);color:var(--color-semantic-danger-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-danger-border)}.chip-info{background:var(--color-semantic-info-bg);color:var(--color-semantic-info-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-info-border)}.chip-warning{background:#f5f3ff;color:#6366f1;border:1px solid #c7d2fe}.card{background:var(--color-neutral-surface);border-radius:var(--radius-lg);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle);box-shadow:var(--shadow-sm)}.card-padding-default{padding:var(--spacing-6)}.card-padding-compact{padding:var(--spacing-4)}.input{width:100%;border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border);border-radius:var(--radius-md);background:var(--color-neutral-surface);font-family:var(--font-family-ui);color:var(--color-neutral-text);transition:all var(--duration-base) var(--easing-standard);outline:none}.input::placeholder{color:var(--color-neutral-text-muted)}.input:hover:not(:disabled){border-color:#c7d0e1}.input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-focus-ring)}.input:disabled{background:#f2f4f8;color:#94a3b8;cursor:not-allowed}.input-error{border-color:var(--color-semantic-danger-text);background:var(--color-semantic-danger-bg)}.input-sm{height:32px;padding:0 var(--spacing-3);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.input-md{height:36px;padding:0 var(--spacing-4);font-size:var(--font-size-base);line-height:var(--line-height-base)}.alert{border-radius:var(--radius-lg);padding:var(--spacing-3);display:flex;align-items:flex-start;gap:var(--spacing-3)}.alert-danger{background:var(--color-semantic-danger-bg);color:var(--color-semantic-danger-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-danger-border)}.alert-warning{background:var(--color-semantic-warning-bg);color:var(--color-semantic-warning-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-warning-border)}.alert-info{background:var(--color-semantic-info-bg);color:var(--color-semantic-info-text);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-info-border)}.text-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-xl);color:var(--color-neutral-text)}.text-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-md);color:var(--color-neutral-text)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-neutral-text)}.text-body-subtle{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-neutral-text-subtle)}.text-caption{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-sm);color:var(--color-neutral-text-muted)}.pricing-page{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-8) var(--container-padding-desktop)}.pricing-loading{text-align:center;padding:var(--spacing-12);color:var(--color-neutral-text-subtle)}.pricing-header{text-align:center;margin-bottom:var(--spacing-12)}.pricing-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--color-neutral-text)}.pricing-header p{font-size:var(--font-size-md);color:var(--color-neutral-text-subtle)}.pricing-current-plan{max-width:600px;margin:0 auto var(--spacing-8);padding:var(--spacing-4);background:var(--color-semantic-success-bg);border:var(--border-width-hairline) var(--border-style) var(--color-semantic-success-border);border-radius:var(--radius-lg);text-align:center}.current-plan-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background:var(--color-semantic-success-text);color:#fff;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.pricing-current-plan p{margin:0;color:var(--color-semantic-success-text);font-size:var(--font-size-sm)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-6);margin-top:var(--spacing-8)}.pricing-card{position:relative;background:var(--color-neutral-surface);border:var(--border-width-hairline) var(--border-style) var(--color-neutral-border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-6);transition:all var(--duration-base) var(--easing-standard);display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.pricing-card:hover{box-shadow:var(--shadow-md)}.pricing-card.current-plan{border-color:var(--color-semantic-success-border);background:var(--color-semantic-success-bg)}.current-plan-label{position:absolute;top:-12px;right:var(--spacing-4);background:var(--color-semantic-success-text);color:#fff;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.pricing-card-header{margin-bottom:var(--spacing-6)}.pricing-card-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--color-neutral-text)}.pricing-card-description{color:var(--color-neutral-text-subtle);font-size:var(--font-size-sm);margin:0}.pricing-card-price{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:var(--border-width-hairline) var(--border-style) var(--color-neutral-divider)}.price-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-text)}.price-period{font-size:var(--font-size-base);color:var(--color-neutral-text-subtle);margin-left:var(--spacing-1)}.pricing-features{list-style:none;padding:0;margin:0 0 var(--spacing-8) 0;flex-grow:1}.pricing-features li{padding:var(--spacing-2) 0;padding-left:var(--spacing-6);position:relative;color:var(--color-neutral-text);font-size:var(--font-size-base);line-height:var(--line-height-base)}.pricing-features li:before{content:"✓";position:absolute;left:0;color:var(--color-semantic-success-text);font-weight:var(--font-weight-bold)}.pricing-button{width:100%;height:42px;padding:0 var(--spacing-4);background:var(--color-brand-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-base) var(--easing-standard);box-shadow:var(--shadow-xs)}.pricing-button:hover:not(:disabled){background:var(--color-brand-primary-hover)}.pricing-button:active:not(:disabled){background:var(--color-brand-primary-active)}.pricing-button:disabled{opacity:.55;cursor:not-allowed}.pricing-button.current{background:var(--color-neutral-text-muted)}.pricing-empty{text-align:center;padding:var(--spacing-12);color:var(--color-neutral-text-subtle)}.pricing-empty p{margin:var(--spacing-2) 0}@media (max-width: 768px){.pricing-page{padding:var(--spacing-6) var(--container-padding-mobile)}.pricing-grid{grid-template-columns:1fr}.pricing-header h1{font-size:var(--font-size-xl)}}:root{--color-neutral-canvas: #F6F7FB;--color-neutral-surface: #FFFFFF;--color-neutral-surface-alt: #F3F5F9;--color-neutral-text: #0F172A;--color-neutral-text-subtle: #475569;--color-neutral-text-muted: #64748B;--color-neutral-border-subtle: #E6EAF2;--color-neutral-border: #D7DDE8;--color-neutral-divider: #EEF1F6;--color-brand-primary: #10b981;--color-brand-primary-hover: #059669;--color-brand-primary-active: #047857;--color-brand-primary-soft-bg: #d1fae5;--color-brand-primary-soft-text: #047857;--color-brand-focus-ring: rgba(16, 185, 129, .28);--color-semantic-success-bg: #DFF7E6;--color-semantic-success-text: #166534;--color-semantic-success-border: #BDECCB;--color-semantic-warning-bg: #FFF3CC;--color-semantic-warning-text: #854D0E;--color-semantic-warning-border: #FFE29A;--color-semantic-danger-bg: #FFE1E7;--color-semantic-danger-text: #9F1239;--color-semantic-danger-border: #FFC4D0;--color-semantic-info-bg: #E6F0FF;--color-semantic-info-text: #1D4ED8;--color-semantic-info-border: #CFE2FF;--color-status-pink-bg: #FFD7E5;--color-status-pink-text: #9D174D;--color-status-rose-bg: #FFE4E6;--color-status-rose-text: #9F1239;--color-status-purple-bg: #E9D5FF;--color-status-purple-text: #6B21A8;--color-status-indigo-bg: #E0E7FF;--color-status-indigo-text: #3730A3;--color-status-cyan-bg: #CFFAFE;--color-status-cyan-text: #155E75;--color-status-green-bg: #DCFCE7;--color-status-green-text: #166534;--color-status-amber-bg: #FEF3C7;--color-status-amber-text: #92400E;--color-status-gray-bg: #E5E7EB;--color-status-gray-text: #334155;--font-family-ui: Inter, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--font-family-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--letter-spacing-tight: -.2px;--letter-spacing-normal: 0;--letter-spacing-wide: .2px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--line-height-xs: 16px;--line-height-sm: 18px;--line-height-base: 20px;--line-height-md: 22px;--line-height-lg: 24px;--line-height-xl: 28px;--line-height-2xl: 32px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--border-width-hairline: 1px;--border-width-strong: 2px;--border-style: solid;--shadow-none: none;--shadow-xs: 0 1px 1px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 20px rgba(16, 24, 40, .05);--shadow-md: 0 2px 6px rgba(16, 24, 40, .08), 0 16px 32px rgba(16, 24, 40, .07);--easing-standard: cubic-bezier(.2, .8, .2, 1);--easing-out: cubic-bezier(.2, 1, .2, 1);--duration-fast: .12s;--duration-base: .18s;--duration-slow: .24s;--icon-stroke-width: 1.75px;--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--container-max-width: 1120px;--container-padding-desktop: 32px;--container-padding-tablet: 24px;--container-padding-mobile: 16px}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-family-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-neutral-canvas);color:var(--color-neutral-text);font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:var(--font-weight-regular)}#root{width:100%;min-height:100vh}a{color:var(--color-brand-primary);text-decoration:none;transition:color var(--duration-fast) var(--easing-standard)}a:hover{color:var(--color-brand-primary-hover)}
