.App{min-height:100vh;min-width:0;max-width:100vw;width:100%;position:relative;display:flex;flex-direction:column;overflow-x:hidden}.container{width:100%;max-width:var(--layout-max);min-width:0;margin:0 auto;padding:var(--layout-padding);padding-top:calc(var(--navbar-height) + 36px);padding-left:max(var(--layout-padding),env(safe-area-inset-left));padding-right:max(var(--layout-padding),env(safe-area-inset-right));padding-bottom:max(var(--layout-padding),env(safe-area-inset-bottom));position:relative;z-index:1;flex:1;box-sizing:border-box}@media(max-width:768px){.container{padding:var(--layout-padding-mobile)!important;padding-top:calc(var(--navbar-height-mobile) + 26px)!important;padding-left:max(var(--layout-padding-mobile),env(safe-area-inset-left))!important;padding-right:max(var(--layout-padding-mobile),env(safe-area-inset-right))!important;padding-bottom:max(var(--layout-padding-mobile),env(safe-area-inset-bottom))!important}}@media(max-width:480px){.container{padding:var(--layout-padding-sm)!important;padding-top:calc(var(--navbar-height-mobile) + 24px)!important;padding-left:max(var(--layout-padding-sm),env(safe-area-inset-left))!important;padding-right:max(var(--layout-padding-sm),env(safe-area-inset-right))!important;padding-bottom:max(var(--layout-padding-sm),env(safe-area-inset-bottom))!important}}.loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:18px}.floating-virtual-nanny{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));min-width:60px;height:60px;padding:0 16px;border-radius:30px;background:var(--primary-gradient);border:none;box-shadow:0 4px 12px rgba(var(--brand-rgb),.35);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;z-index:1000;transition:all .3s ease;color:var(--text-inverse);font-size:28px}.floating-virtual-nanny:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(var(--brand-rgb),.5)}.floating-virtual-nanny:active{transform:scale(.95)}.floating-virtual-nanny .nanny-icon{display:block;line-height:1;flex-shrink:0}.floating-virtual-nanny .nanny-text{display:block;font-size:16px;font-weight:600;white-space:nowrap;line-height:1}.floating-virtual-nanny .close-icon{display:none;font-size:36px;line-height:1;font-weight:700}.floating-virtual-nanny.on-page .nanny-icon,.floating-virtual-nanny.on-page .nanny-text{display:none}.floating-virtual-nanny.on-page{width:60px;min-width:60px;padding:0;border-radius:50%}.floating-virtual-nanny.on-page .close-icon{display:block}@media(max-width:768px){.floating-virtual-nanny{min-width:56px;height:56px;padding:0 12px;bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));font-size:24px;gap:6px}.floating-virtual-nanny .nanny-text{font-size:14px}.floating-virtual-nanny.on-page{width:56px;min-width:56px;padding:0}}.navbar{position:fixed;top:0;left:0;right:0;width:100%;max-width:100vw;min-width:0;background:var(--surface-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 20px var(--shadow-color);z-index:10000;border-bottom:1px solid var(--border-color);transition:all .3s ease;overflow:visible;box-sizing:border-box;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.navbar-container{max-width:var(--layout-max);margin:0 auto;padding:12px 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;min-height:var(--navbar-height);gap:20px;position:relative;z-index:10000;overflow:visible;width:100%;min-width:0;box-sizing:border-box}.navbar-brand{font-size:24px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;display:flex;align-items:center;gap:10px;transition:transform .2s ease;flex-shrink:0}.navbar-brand:hover{transform:scale(1.05)}.navbar-icon{width:36px;height:36px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.navbar-menu{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;white-space:nowrap}.navbar-burger{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10001;position:relative;flex-shrink:0;margin-left:auto}.navbar-burger span{width:100%;height:3px;background:var(--text-primary);border-radius:3px;transition:all .3s ease;transform-origin:center}.navbar-burger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.navbar-burger.active span:nth-child(2){opacity:0}.navbar-burger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media(max-width:768px){.navbar-container{max-width:100%!important;width:100%!important;min-height:var(--navbar-height-mobile);padding:10px 12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))!important;position:relative;justify-content:space-between;z-index:10000;overflow:visible!important;box-sizing:border-box;margin:0!important;clip-path:none!important;-webkit-clip-path:none!important}.navbar-burger{display:flex!important;order:2;z-index:10001;position:relative;margin-left:auto;margin-right:0!important;flex-shrink:0!important;min-width:30px;max-width:30px;padding:0!important;width:30px!important;height:30px!important;visibility:visible!important;opacity:1!important;overflow:visible!important}.navbar-brand{order:1;flex-shrink:1;min-width:0;overflow:hidden}.navbar-menu{order:3}.navbar-menu{position:fixed;top:var(--navbar-height);left:0;right:0;background:var(--surface-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 20px var(--shadow-color);flex-direction:column;align-items:stretch;padding:0;gap:0;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-10px);transition:max-height .3s ease,padding .3s ease,opacity .3s ease,visibility .3s ease,transform .3s ease;z-index:1000;border-top:none;pointer-events:none}.navbar-menu.open{max-height:90vh;overflow-y:auto;padding:12px;opacity:1;visibility:visible;transform:translateY(0);border-top:1px solid var(--border-color);pointer-events:auto}.navbar-link{width:100%;padding:10px 12px;text-align:left;font-size:16px;border-radius:8px;margin-bottom:6px;display:block}.navbar-link:last-child{margin-bottom:0}.navbar-brand span{font-size:20px}.navbar-icon{width:32px;height:32px}}@media(max-width:480px){.navbar-container{padding:8px 10px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))!important}.navbar-burger{margin-right:0!important;width:30px!important;height:30px!important;max-width:30px!important}.navbar-menu{top:var(--navbar-height-mobile);padding:0}.navbar-menu.open{padding:10px}.navbar-link{padding:10px 12px;font-size:15px;margin-bottom:4px}.navbar-brand span{font-size:18px}.navbar-icon{width:28px;height:28px}}.navbar-link{text-decoration:none;color:var(--text-secondary);padding:8px 12px;border-radius:12px;font-weight:500;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0}.navbar-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(108,99,255,.15),transparent);transition:left .5s}.navbar-link:hover:before{left:100%}.navbar-link:hover{background:#6c63ff1f;color:var(--brand);transform:translateY(-2px)}.navbar-link.active{background:var(--primary-gradient);color:var(--text-inverse);box-shadow:0 4px 12px #6c63ff59}.navbar-user{display:flex;align-items:center;gap:12px;padding:8px 16px;margin-left:8px;border-left:1px solid var(--border-color);flex-shrink:0}.navbar-user-name{color:var(--text-primary);font-size:14px;font-weight:500}.navbar-logout{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px 16px;border-radius:8px;font-size:14px;transition:all .2s;text-decoration:none;display:inline-block}.navbar-logout:hover{background:#ef44441a;color:#dc2626}@media(max-width:768px){.navbar-user{margin-left:0;border-left:none;border-top:1px solid var(--border-color);padding-top:12px;margin-top:12px;flex-direction:column;align-items:stretch}.navbar-user-name{text-align:center}.navbar-logout{width:100%;text-align:center}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-primary);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-animation{max-width:300px;max-height:300px;width:auto;height:auto}@media(max-width:768px){.loading-animation{max-width:200px;max-height:200px}}.accept-invitation-page{min-height:100vh;padding:2rem 1rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.accept-invitation-page .container{max-width:600px;margin:0 auto}.accept-invitation-page .card{background:var(--bg-card);border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.accept-invitation-page h1{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.75rem;text-align:center}.invitation-info{margin-bottom:2rem;padding:1.5rem;background-color:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--primary-color)}.invitation-info p{margin:.5rem 0;color:var(--text-primary);line-height:1.6}.accept-form{margin-top:1.5rem}.code-input{font-family:Courier New,monospace;font-size:1.25rem;letter-spacing:4px;text-align:center;text-transform:uppercase;padding:.75rem}.form-help-text{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.auth-note{margin-top:1rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:8px;font-size:.9rem;color:var(--text-secondary);text-align:center}.help-text{margin-top:1.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;text-align:center}.help-text p{margin:0;color:var(--text-secondary);font-size:.9rem}@media(max-width:768px){.accept-invitation-page{padding:1rem}.accept-invitation-page .card{padding:1.5rem}.accept-invitation-page h1{font-size:1.5rem}}.admin-articles{max-width:1100px;margin:20px auto 0;padding:20px;color:var(--text-primary);background:var(--bg-primary)}.admin-articles-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-articles-header h1{margin:0;color:var(--text-primary)}.filters{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:var(--bg-card);border-radius:8px;border:2px solid var(--border-color)}.filter-group label{font-weight:500;color:var(--text-primary)}.filter-group select{padding:8px 12px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:all .3s ease}.filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.15);background:var(--bg-card)}.articles-list{display:grid;gap:20px}.article-card{display:flex;gap:20px;padding:20px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-primary)}.article-image{flex-shrink:0;width:200px;height:150px;overflow:hidden;border-radius:4px}.article-content{flex:1;display:flex;flex-direction:column;gap:10px}.article-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.article-header h3{margin:0;flex:1}.article-badges{display:flex;gap:8px;flex-wrap:wrap}.badge.status-draft{background:var(--warning-color);color:var(--text-inverse)}.badge.status-published{background:var(--success-color);color:var(--text-inverse)}.badge.featured{background:var(--info-color);color:var(--text-inverse)}.article-preview{color:var(--text-secondary)!important;font-size:14px;line-height:1.5;max-height:60px;overflow:hidden}.article-preview p,.article-preview span,.article-preview div{color:var(--text-secondary)!important;margin:0}.article-meta{display:flex;gap:15px;font-size:12px;color:var(--text-muted)}.article-actions{display:flex;gap:10px;margin-top:auto}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary:hover{background:var(--primary-color-dark)}.btn-edit{background:#0ea5e9;color:var(--text-inverse);border:none;font-weight:600}.btn-edit:hover{background:#0284c7;transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e966}.btn-edit:focus{outline:2px solid #0ea5e9;outline-offset:2px}.btn-publish{background:var(--success-color);color:var(--text-inverse);border:none}.btn-publish:hover{background:#48bb78;transform:translateY(-1px);box-shadow:0 4px 12px #48bb7866}.btn-unpublish{background:var(--warning-color);color:var(--text-inverse);border:none}.btn-unpublish:hover{background:#ed8936;transform:translateY(-1px);box-shadow:0 4px 12px #ed893666}.btn-delete{background:#dc2626;color:var(--text-inverse);border:none;font-weight:600}.btn-delete:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.btn-delete:focus{outline:2px solid #dc2626;outline-offset:2px}.empty-state{text-align:center;padding:40px;color:var(--text-muted)}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.admin-article-editor{max-width:1000px;margin:20px auto 0;padding:20px;color:var(--text-primary);background:var(--bg-primary)}.categories-checkboxes{display:flex;flex-wrap:wrap;gap:15px;padding:15px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400;color:var(--text-primary)}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;color:var(--text-primary)}.editor-header h1{margin:0;color:var(--text-primary)}.editor-actions{display:flex;gap:10px}.editor-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-weight:500;font-size:14px;color:var(--text-primary)}.form-group label input[type=checkbox]{margin-right:8px}.form-control{padding:10px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text-primary);transition:all .3s ease}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.15);background:var(--bg-card)}.form-control::placeholder{color:var(--text-muted)}.form-control select,.form-control option{background:var(--bg-card);color:var(--text-primary)}select.form-control{background-color:var(--bg-input);color:var(--text-primary);cursor:pointer}select.form-control:focus{background-color:var(--bg-card)}input[type=file]{color:var(--text-primary)}input[type=file]::file-selector-button{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:6px;padding:8px 16px;cursor:pointer;font-weight:500;transition:all .3s ease}input[type=file]::file-selector-button:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.image-upload-section{display:flex;flex-direction:column;gap:15px}.image-preview{position:relative;width:300px;height:200px;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-card)}.image-preview img{width:100%;height:100%;object-fit:cover}.btn-remove-image{position:absolute;top:5px;right:5px;background:var(--error-color);color:var(--text-inverse);border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}.btn-remove-image:hover{background:var(--error-color);opacity:.9}.quill-editor{background:var(--bg-card);min-height:400px;border-radius:8px;border:2px solid var(--border-color)}.quill-editor .ql-container{min-height:350px;background:var(--bg-card);color:var(--text-primary)}.quill-editor .ql-editor{color:var(--text-primary)}.quill-editor .ql-toolbar{background:var(--bg-secondary);border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:2px solid var(--border-color)}.quill-editor .ql-toolbar .ql-stroke{stroke:var(--text-primary)}.quill-editor .ql-toolbar .ql-fill{fill:var(--text-primary)}.quill-editor .ql-toolbar button:hover,.quill-editor .ql-toolbar button:focus,.quill-editor .ql-toolbar button.ql-active{background:var(--bg-tertiary)}.quill-editor .ql-toolbar button:hover .ql-stroke,.quill-editor .ql-toolbar button:focus .ql-stroke,.quill-editor .ql-toolbar button.ql-active .ql-stroke{stroke:var(--primary-color)}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-color)}.btn-save{background:var(--info-color);color:var(--text-inverse)}.btn-save:hover:not(:disabled){background:var(--info-color);opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #4299e166}.btn-publish{background:var(--success-color);color:var(--text-inverse)}.btn-publish:hover:not(:disabled){background:var(--success-color);opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #48bb7866}.admin-promocodes{padding:24px 20px;max-width:1100px;margin:20px auto 0}.admin-promocodes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-promocodes-header h1{margin:0;color:var(--text-primary)}.filters{display:flex;gap:20px;margin-bottom:24px}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:500;color:var(--text-secondary)}.filter-group select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:14px}.promocodes-list{display:grid;gap:20px}.promocode-card{background:var(--bg-card);padding:24px;border-radius:12px;box-shadow:0 4px 20px var(--shadow-color);border:1px solid var(--border-color)}.promocode-card.inactive{opacity:.7}.promocode-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.promocode-code{display:flex;align-items:center;gap:12px}.promocode-code h3{margin:0;font-size:24px;font-weight:700;color:var(--text-primary);font-family:monospace}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.active{background:#10b981;color:#fff}.status-badge.inactive{background:#6b7280;color:#fff}.promocode-actions{display:flex;gap:8px}.promocode-details{margin-top:16px}.description{margin:0 0 16px;color:var(--text-secondary);font-style:italic}.promocode-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.info-item{font-size:14px;color:var(--text-primary)}.info-item strong{color:var(--text-secondary);margin-right:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:12px;padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close:hover{color:var(--text-primary)}.promocode-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.form-group small{font-size:12px;color:var(--text-secondary)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary-color, var(--brand));color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color, #e0e0e0)}.btn-small{padding:6px 12px;font-size:12px}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.error-banner{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:6px;margin-bottom:24px;border:1px solid #fecaca}@media(max-width:768px){.form-row{grid-template-columns:1fr}.promocode-header{flex-direction:column;gap:12px}.promocode-actions{width:100%;justify-content:flex-end}}.admin-dashboard{padding:24px 20px;max-width:1100px;margin:20px auto 0}.admin-dashboard h1{margin-bottom:30px;color:var(--text-primary)}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.error-banner{background:var(--error-bg);color:var(--error-color);padding:16px;border-radius:8px;margin-bottom:24px;border:1px solid var(--error-color)}.admin-info-banner{background:var(--bg-card);color:var(--text-secondary);padding:12px 16px;border-radius:8px;margin-bottom:24px;border:1px solid var(--border-color);font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:var(--bg-card);padding:24px;border-radius:12px;box-shadow:0 4px 20px var(--shadow-color);border:1px solid var(--border-color);text-align:center}.stat-card h3{margin:0 0 12px;font-size:14px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:36px;font-weight:700;color:var(--text-primary)}.stat-value.pending{color:#f59e0b}.stat-value.approved{color:#10b981}.stat-value.rejected{color:#ef4444}.tabs{display:flex;gap:10px;margin-bottom:24px;border-bottom:2px solid var(--border-color)}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:var(--text-secondary);transition:all .2s;margin-bottom:-2px}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.users-section{margin-top:24px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:18px}.users-list{display:grid;gap:20px}.user-card{background:var(--bg-card);padding:24px;border-radius:12px;box-shadow:0 4px 20px var(--shadow-color);border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.user-info{flex:1}.user-info h3{margin:0 0 8px;font-size:20px;color:var(--text-primary);display:flex;align-items:center;gap:10px}.admin-badge{background:var(--primary-color);color:var(--text-inverse);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.user-email,.user-phone{margin:4px 0;color:var(--text-secondary);font-size:14px}.user-status{margin:8px 0;font-size:14px;font-weight:500;text-transform:capitalize}.user-status.status-pending{color:#f59e0b}.user-status.status-approved{color:#10b981}.user-status.status-rejected{color:#ef4444}.user-subscription{margin:8px 0;font-size:14px;font-weight:500}.user-subscription.subscription-trial{color:#8b5cf6}.user-subscription.subscription-free{color:#6b7280}.user-subscription.subscription-premium-monthly{color:#10b981}.user-subscription.subscription-premium-yearly{color:#059669;font-weight:600}.user-date{margin:4px 0;color:var(--text-tertiary);font-size:12px}.user-actions{display:flex;flex-direction:column;gap:12px;min-width:200px}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-approve{background:var(--success-color);color:var(--text-inverse)}.btn-approve:hover{background:var(--success-color);opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-reject{background:var(--error-color);color:var(--text-inverse)}.btn-reject:hover{background:var(--error-color);opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.reject-section{display:flex;flex-direction:column;gap:8px}.reject-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.reject-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.btn-transfer{background:var(--primary-color);color:var(--text-inverse)}.btn-transfer:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.3)}.btn-delete{background:var(--error-color);color:var(--text-inverse)}.btn-delete:hover{background:var(--error-color);opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media(max-width:768px){.user-card{flex-direction:column}.user-actions{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}}.admin-signup-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg-primary)}.auth-card .error{background:#ef44441a;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid rgba(239,68,68,.2);font-size:14px}.appointments{position:relative;min-height:calc(100vh - 80px);max-width:1000px;margin:0 auto;background-image:url(/history_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.appointments:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.appointments:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.appointments>*{position:relative;z-index:1}.appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;margin-top:20px;gap:20px;flex-wrap:wrap}@media(max-width:768px){.appointments-header{margin-top:0!important}}.appointments-header h1{margin:0;font-size:32px;font-weight:700;padding:20px;background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);color:var(--text-primary);flex:1;min-width:200px}.appointments-header h1 span{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.appointments-header .btn{padding:12px 24px;font-size:16px;font-weight:500;white-space:nowrap}.form-card{margin-bottom:30px;padding:24px}.form-card h2{margin-top:0;margin-bottom:20px;color:var(--text-primary)}.success-message{background:var(--success-bg);color:var(--success-color);padding:12px 20px;border-radius:8px;margin-bottom:20px;border:1px solid var(--success-color)}.appointments-list{display:flex;flex-direction:column;gap:15px}.appointment-item{padding:24px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.05),rgba(var(--brand-light-rgb),.05));border-radius:16px;border-left:4px solid transparent;border-image:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%) 1;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);margin-bottom:12px}.appointment-item:hover{transform:translate(8px);box-shadow:0 4px 16px rgba(var(--brand-rgb),.15);background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1))}.appointment-item.past{opacity:.6;border-image:linear-gradient(135deg,#999,#666) 1}.appointment-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.appointment-info{flex:1;min-width:200px}.appointment-name{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--text-primary)}.appointment-date-time{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.appointment-date{font-weight:600;color:var(--text-primary);font-size:16px}.appointment-time{color:var(--text-tertiary);font-size:14px}.appointment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-calendar{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:var(--text-inverse);border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-calendar:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.4)}.btn-edit,.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s ease;opacity:.7}.btn-edit:hover{opacity:1;background:rgba(var(--brand-rgb),.1)}.btn-delete:hover{opacity:1;background:#dc35451a}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px;background:var(--bg-card);border-radius:16px}.empty-state-hint{margin-top:12px;font-size:14px;color:var(--text-tertiary)}.modal-content .form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.modal-content .form-group input[type=text],.modal-content .form-group input[type=datetime-local]{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.modal-content .btn-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:var(--text-inverse)}.modal-content .btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.modal-content .error{color:var(--error-color);margin-bottom:16px;padding:12px;background:var(--error-bg);border-radius:8px;border:1px solid var(--error-color)}@media(max-width:768px){.appointments-header{margin-top:10px;flex-direction:column;align-items:stretch}.appointments-header h1{padding:16px;font-size:24px}.appointment-item-header{flex-direction:column}.appointment-actions{width:100%;justify-content:flex-start}.btn-calendar{flex:1}.modal-content{padding:20px;max-width:100%}}.article-detail{max-width:1000px;margin:0 auto;padding:20px}.btn-back{background:var(--bg-tertiary);color:var(--text-primary);border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;margin-bottom:20px;transition:background-color .2s}.btn-back:hover{background:var(--bg-secondary)}.article-content-wrapper{background:var(--bg-card);padding:40px;border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);color:var(--text-primary)}.article-header{margin-bottom:30px}.article-header h1{margin:15px 0;color:var(--text-primary);font-size:32px;line-height:1.3}.article-meta{color:var(--text-muted);font-size:14px;margin-top:10px}.article-image{width:100%;max-height:500px;overflow:hidden;border-radius:8px;margin-bottom:30px}.article-body{line-height:1.8;color:var(--text-primary)!important;font-size:16px}.article-body h1,.article-body h2,.article-body h3,.article-body h4{margin-top:30px;margin-bottom:15px;color:var(--text-primary)!important}.article-body p,.article-body div,.article-body span,.article-body li,.article-body strong,.article-body b,.article-body em,.article-body i{color:var(--text-primary)!important}.article-body h1{font-size:28px}.article-body h2{font-size:24px}.article-body h3{font-size:20px}.article-body p{margin-bottom:15px}.article-body ul,.article-body ol{margin-bottom:15px;padding-left:30px}.article-body li{margin-bottom:8px}.article-body a{color:var(--brand)!important;text-decoration:none}.article-body a:hover{text-decoration:underline}.article-body img{max-width:100%;height:auto;border-radius:4px;margin:20px 0}.article-body blockquote{border-left:4px solid var(--brand);padding-left:20px;margin:20px 0;color:var(--text-secondary)!important;font-style:italic}.related-articles{margin-top:50px;padding-top:30px;border-top:1px solid var(--border-color)}.related-articles h2{margin-bottom:20px;color:var(--text-primary)}.related-articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.related-article-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.related-article-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.related-article-image{width:100%;height:150px;overflow:hidden;background:var(--bg-secondary)}.related-article-image img{width:100%;height:100%;object-fit:cover}.related-article-content{padding:15px}.related-article-content h3{margin:0 0 10px;font-size:16px;color:var(--text-primary)}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.error-banner{background:var(--error-bg);color:var(--error-color);padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid var(--error-color)}@media(max-width:768px){.article-content-wrapper{padding:20px}.article-header h1{font-size:24px}.related-articles-grid{grid-template-columns:1fr}}.articles-page{max-width:1000px;margin:0 auto;padding:20px;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden;box-sizing:border-box}.articles-page h1{margin-bottom:30px;color:var(--text-primary)}.featured-section{margin-bottom:40px}.featured-section h2{margin-bottom:20px;color:var(--text-primary)}.featured-articles{display:grid;gap:20px}.category-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:20px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);overflow-x:auto;box-sizing:border-box}.category-chip{padding:8px 16px;border:2px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.category-chip:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--bg-card);transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-color)}.category-chip.active{background:var(--primary-gradient);color:var(--text-inverse);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--brand-rgb),.3)}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;overflow-x:hidden;box-sizing:border-box}.article-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;color:var(--text-primary)}.article-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px var(--shadow-color);border-color:var(--primary-color)}.article-card.featured{grid-column:span 2;display:flex;flex-direction:row}.article-image{width:100%;height:200px;overflow:hidden;background:var(--bg-secondary)}.article-card.featured .article-image{width:300px;height:100%;flex-shrink:0}.article-image img{width:100%;height:100%;object-fit:cover}.article-content{padding:20px;display:flex;flex-direction:column;flex:1}.article-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.article-header h3{margin:0;font-size:18px;color:var(--text-primary);flex:1}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.badge.category{background:var(--bg-tertiary);color:var(--text-primary)}.article-excerpt{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:15px;flex:1}.article-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.article-date{font-size:12px;color:var(--text-muted)}.btn-read-more{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:500;padding:0;transition:color .2s}.btn-read-more:hover{color:var(--primary-color-dark);text-decoration:underline}.empty-state{text-align:center;padding:40px;color:var(--text-muted);grid-column:1 / -1}.error-banner{background:var(--error-bg);color:var(--error-color);padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid var(--error-color)}.loading{text-align:center;padding:40px;color:var(--text-muted)}@media(max-width:768px){.articles-page{padding:16px;overflow-x:hidden}.category-filters{padding:16px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.article-card.featured{grid-column:span 1;flex-direction:column}.article-card.featured .article-image{width:100%;height:200px}.articles-grid{grid-template-columns:1fr;gap:20px;overflow-x:hidden}.article-card{overflow:hidden;max-width:100%}}.dashboard{position:relative;min-height:calc(100vh - 80px);max-width:1000px;margin:0 auto;background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.dashboard:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#f6f7fbeb,#f8f9fce0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.dashboard:before{background:linear-gradient(135deg,#121218f0,#1a1a2ee6)}}.dashboard>*{position:relative;z-index:1}.dashboard h1{margin-bottom:30px;margin-top:20px;display:flex;align-items:center;gap:18px;font-size:36px;font-weight:700;padding:20px;background:var(--surface-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);position:relative;z-index:1;color:var(--text-primary)}@media(max-width:768px){.dashboard h1{margin-top:0!important;margin-bottom:20px;padding:16px;font-size:24px}}.dashboard h1 span{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard h1:before{content:"";display:inline-block;width:40px;height:40px;background-image:url(/baby-icon.png);background-size:contain;background-repeat:no-repeat;background-position:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin-bottom:50px}.stat-card{background:var(--surface-card);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:35px 35px 45px;border-radius:24px;box-shadow:0 10px 40px var(--shadow-color);position:relative;overflow:visible;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid var(--border-color);color:var(--text-primary);display:flex;flex-direction:column;min-height:280px}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);transform:scaleX(0);transition:transform .5s cubic-bezier(.4,0,.2,1);z-index:1}.stat-card-feeding:before{background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%)}.stat-card-pumping:before{background:linear-gradient(90deg,var(--brand-light) 0%,var(--brand) 100%)}.stat-card-breastfeeding:before{background:linear-gradient(90deg,#ffb74d,#ffa94d)}.stat-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(var(--brand-rgb),.05) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:0}.stat-card:hover:before{transform:scaleX(1)}.stat-card:hover:after{opacity:1}.stat-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 20px 60px rgba(var(--brand-rgb),.25),0 4px 12px #00000014;border-color:rgba(var(--brand-rgb),.3)}.stat-icon{width:70px;height:70px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));border-radius:18px;padding:12px;transition:all .3s ease;position:relative;z-index:2}.stat-card-feeding .stat-icon{background:linear-gradient(135deg,rgba(var(--brand-rgb),.15),rgba(var(--brand-light-rgb),.15))}.stat-card-pumping .stat-icon{background:linear-gradient(135deg,rgba(var(--brand-light-rgb),.15),rgba(var(--brand-rgb),.15))}.stat-card-breastfeeding .stat-icon{background:linear-gradient(135deg,#ffb74d26,#ffa94d26)}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg);background:linear-gradient(135deg,rgba(var(--brand-rgb),.2),rgba(var(--brand-light-rgb),.2))}.stat-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-card h3{margin-bottom:18px;color:var(--text-primary);font-size:17px;font-weight:600;text-align:center;position:relative;z-index:2}.stat-value{font-size:48px;font-weight:800;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;line-height:1.1;text-align:center;position:relative;z-index:3;letter-spacing:-1px}.stat-card-feeding .stat-value{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card-pumping .stat-value{background:linear-gradient(135deg,var(--brand-light) 0%,var(--brand) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card-breastfeeding .stat-value{background:linear-gradient(135deg,#ffb74d,#ffa94d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card-sleep:before{background:linear-gradient(90deg,#ff9800,#ff8c00)}.stat-card-sleep .stat-icon{background:linear-gradient(135deg,#ff980026,#ff8c0026)}.stat-card-sleep .stat-value{background:linear-gradient(135deg,#ff9800,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card-solid-food .stat-value{background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card-diaper:before{background:linear-gradient(90deg,#8b7355,#a0826d)}.stat-card-diaper .stat-icon{background:linear-gradient(135deg,#8b735533,#a0826d33)}.stat-card-diaper .stat-value{background:linear-gradient(135deg,#8b7355,#a0826d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{color:var(--text-secondary);font-size:15px;text-align:center;font-weight:500;position:relative;z-index:3;margin-bottom:auto}.stat-card .btn{margin-top:auto;padding-top:12px;padding-bottom:12px;position:relative;z-index:10;pointer-events:auto;text-decoration:none}.stat-card .btn:hover{text-decoration:none}.dashboard-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:35px;margin-top:40px}.dashboard-section{background:var(--surface-card);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:35px;border-radius:24px;box-shadow:0 10px 40px var(--shadow-color);border:2px solid var(--border-color);transition:all .4s cubic-bezier(.4,0,.2,1);color:var(--text-primary);position:relative;overflow:hidden}.dashboard-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);transform:scaleX(0);transition:transform .4s ease}.dashboard-section:hover:before{transform:scaleX(1)}.dashboard-section:hover{transform:translateY(-5px);box-shadow:0 16px 50px rgba(var(--brand-rgb),.2),0 4px 12px #00000014;border-color:rgba(var(--brand-rgb),.3)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid rgba(var(--brand-rgb),.1)}.section-header h2{font-size:22px;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.entries-list{display:flex;flex-direction:column;gap:15px}.entry-card{padding:22px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.06),rgba(var(--brand-light-rgb),.06));border-radius:18px;border-left:5px solid;border-image:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%) 1;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:relative;overflow:hidden}.entry-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,var(--brand) 0%,var(--brand-light) 100%);transform:scaleY(0);transition:transform .3s ease}.entry-card:hover:before{transform:scaleY(1)}.entry-card .edit-form{width:100%;flex:1}.entry-card:hover{transform:translate(10px) translateY(-2px);box-shadow:0 8px 24px rgba(var(--brand-rgb),.2),0 2px 8px #0000001a;background:linear-gradient(135deg,rgba(var(--brand-rgb),.12),rgba(var(--brand-light-rgb),.12));border-left-color:var(--brand)}.entry-content{flex:1;min-width:0}.entry-time{font-size:15px;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.entry-details{display:flex;gap:15px;align-items:center}.entry-volume{font-size:20px;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.entry-spit{font-size:14px;color:var(--error-color);background:var(--error-bg);padding:4px 8px;border-radius:4px;border:1px solid var(--error-color)}.empty-state{text-align:center;color:var(--text-muted);padding:50px 40px;font-size:16px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.03),rgba(var(--brand-light-rgb),.03));border-radius:12px;border:2px dashed rgba(var(--brand-rgb),.2)}.loading{text-align:center;padding:40px;color:var(--text-tertiary)}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:35px;margin-bottom:50px}.chart-card{background:var(--surface-card);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:35px;border-radius:24px;box-shadow:0 10px 40px var(--shadow-color);border:2px solid var(--border-color);transition:all .4s cubic-bezier(.4,0,.2,1);color:var(--text-primary);position:relative;overflow:hidden;margin-bottom:40px}.chart-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);transform:scaleX(0);transition:transform .4s ease}.chart-card:hover:before{transform:scaleX(1)}.chart-card:hover{transform:translateY(-5px);box-shadow:0 16px 50px rgba(var(--brand-rgb),.2),0 4px 12px #00000014;border-color:rgba(var(--brand-rgb),.3)}.weight-chart-card{margin-bottom:50px}.chart-card h2{margin-bottom:20px;font-size:24px;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.percentile-info{margin-top:20px;padding:16px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.12),rgba(var(--brand-light-rgb),.12));border-radius:12px;border:2px solid rgba(var(--brand-rgb),.25);color:var(--text-primary);font-size:16px;font-weight:500;text-align:center;box-shadow:0 4px 12px rgba(var(--brand-rgb),.1)}.btn-small{padding:10px 18px;font-size:14px;font-weight:600;border-radius:10px;transition:all .3s ease;box-shadow:0 2px 8px rgba(var(--brand-rgb),.2)}.btn-small:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.3)}.entry-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.btn-edit{background:rgba(var(--brand-rgb),.1);border:1px solid rgba(var(--brand-rgb),.3);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:16px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.btn-edit:hover:not(:disabled){background:rgba(var(--brand-rgb),.2);border-color:rgba(var(--brand-rgb),.5);transform:scale(1.05)}.btn-edit:disabled{opacity:.5;cursor:not-allowed}.btn-delete{background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:16px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.btn-delete:hover:not(:disabled){background:#dc354533;border-color:#dc354580;transform:scale(1.05)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.edit-form{width:100%}.edit-form-group{margin-bottom:12px}.edit-form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.edit-form-group input[type=text],.edit-form-group input[type=number],.edit-form-group input[type=datetime-local]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--surface-card);color:var(--text-primary);transition:all .2s ease}.edit-form-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.edit-form-group input[type=checkbox]{width:auto;margin-right:8px}.edit-form-actions{display:flex;gap:8px;margin-top:16px}.error-small{color:var(--error-color);font-size:12px;margin-top:8px;margin-bottom:8px}@media(max-width:768px){.dashboard h1:before{width:40px;height:40px}.charts-section{grid-template-columns:1fr;gap:20px}.chart-card{padding:20px}.chart-card h2{font-size:18px}}.chart-tooltip{background-color:#fffffff2!important;color:#333!important;border:1px solid #ccc!important}@media(prefers-color-scheme:dark){.chart-tooltip{background-color:#1e1e1ef2!important;color:#f0f0f0!important;border:1px solid #555!important}.chart-tooltip p{color:#f0f0f0!important}.chart-tooltip p[style*=border-top]{border-top-color:#555!important}}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);padding:20px}.note{font-size:12px;color:var(--text-muted);font-style:italic}.category-shortcut{display:flex;align-items:center;gap:15px;padding:20px;background:var(--primary-gradient);border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:20px;color:var(--text-inverse)}.category-shortcut:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.35)}.shortcut-icon{font-size:32px;flex-shrink:0}.shortcut-content{flex:1}.shortcut-content h3{margin:0 0 5px;font-size:18px;font-weight:600}.shortcut-content p{margin:0;font-size:14px;opacity:.9}.shortcut-arrow{font-size:24px;font-weight:700;flex-shrink:0}.log-page{position:relative;min-height:calc(100vh - 80px);background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:20px;max-width:1000px;margin:0 auto}.log-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.log-page:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.log-page>*{position:relative;z-index:1}.log-page h1{margin-bottom:30px;margin-top:20px;display:flex;align-items:center;gap:18px;font-size:32px;font-weight:700;padding:20px;background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);position:relative;z-index:1;color:var(--text-primary)}.log-page h1 span{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.history-section{margin-top:40px;padding-top:30px;border-top:2px solid var(--border-color)}.history-section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:20px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.log-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border-color);background:var(--bg-card);border-radius:12px 12px 0 0;padding:8px 8px 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.log-tabs::-webkit-scrollbar{display:none}.log-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:var(--text-secondary);transition:all .3s ease;white-space:nowrap;flex-shrink:0}.log-tab:hover{color:var(--brand);background-color:rgba(var(--brand-rgb),.05)}.log-tab.active{color:var(--brand);border-bottom-color:var(--brand);background-color:rgba(var(--brand-rgb),.1)}.tab-icon{width:24px;height:24px}.log-page .card{margin-top:0;border-radius:0 0 20px 20px}.log-page .form-group{margin-bottom:20px}.calories-input-container{display:flex;gap:12px;align-items:stretch;flex-wrap:nowrap;width:100%}.calories-input{flex:1 1 auto;min-width:150px;padding:14px 18px;border:2px solid var(--border-color);border-radius:12px;font-size:16px;text-align:left;background:var(--bg-card);color:var(--text-primary);transition:all .3s ease;overflow:visible;white-space:nowrap;box-sizing:border-box}.calories-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.15);background:var(--bg-card-hover)}.calories-input::-webkit-inner-spin-button,.calories-input::-webkit-outer-spin-button{opacity:1;margin-left:8px;cursor:pointer}.calories-input::placeholder{color:var(--text-tertiary);opacity:.7}.calculate-calories-btn{white-space:nowrap;flex-shrink:0;min-width:fit-content;padding:14px 20px}.calculating-indicator{margin-top:10px;padding:10px 14px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));border-radius:8px;color:var(--text-secondary);font-size:14px;font-style:italic;border:1px solid rgba(var(--brand-rgb),.2)}@media(max-width:768px){.calories-input-container{flex-direction:column;gap:10px}.calories-input{min-width:100%;width:100%}.calculate-calories-btn{width:100%}}.log-page .quick-add-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.log-page .quick-add-label{font-size:14px;color:var(--text-secondary);margin-right:4px}.log-page .quick-add-btn{padding:6px 12px;background:rgba(var(--brand-rgb),.1);border:1px solid rgba(var(--brand-rgb),.3);border-radius:8px;cursor:pointer;font-size:14px;color:var(--brand);font-weight:500;transition:all .2s ease}.log-page .quick-add-btn:hover{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:var(--text-inverse);border-color:var(--brand);transform:translateY(-1px)}.log-page .form-actions{display:flex;gap:10px;margin-top:30px}.duration-display{margin-top:8px;padding:12px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.15),rgba(var(--brand-light-rgb),.15));border-radius:10px;font-weight:600;font-size:15px;color:var(--brand);border:1px solid rgba(var(--brand-rgb),.3)}.history-content{background:var(--bg-card);border-radius:0 0 20px 20px;padding:24px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);border-top:none;color:var(--text-primary)}.history-info{margin-bottom:20px;padding:14px 16px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.12),rgba(var(--brand-light-rgb),.12));border-radius:12px;border:1px solid rgba(var(--brand-rgb),.2)}.history-note{margin:0;font-size:14px;color:var(--text-secondary);font-style:italic}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{padding:18px 20px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.08),rgba(var(--brand-light-rgb),.08));border-radius:14px;border-left:4px solid var(--brand);transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);margin-bottom:8px}.history-item:hover{transform:translate(6px);box-shadow:0 6px 20px rgba(var(--brand-rgb),.2);background:linear-gradient(135deg,rgba(var(--brand-rgb),.15),rgba(var(--brand-light-rgb),.15));border-left-color:var(--brand-light)}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-date{font-weight:600;color:var(--text-primary);font-size:15px}.history-time{color:var(--text-tertiary);font-size:13px;margin-left:8px}.history-item-body{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.history-volume{font-size:18px;font-weight:700;color:var(--brand);background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));padding:6px 12px;border-radius:8px}.history-spit{font-size:14px;color:#e74c3c;background:#e74c3c1a;padding:6px 12px;border-radius:8px;border:1px solid rgba(231,76,60,.2);font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:16px;font-style:italic}.history-item-actions{display:flex;gap:8px;position:relative;z-index:10}.btn-edit,.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;padding:6px 10px;border-radius:8px;transition:all .2s ease;opacity:.8;position:relative;z-index:10;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.btn-edit:hover{opacity:1;background:rgba(var(--brand-rgb),.2);transform:scale(1.1)}.btn-delete:hover{opacity:1;background:#e74c3c33;transform:scale(1.1)}.history-item:hover .btn-edit,.history-item:hover .btn-delete{opacity:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card);border-radius:20px;padding:28px;max-width:500px;width:100%;box-shadow:0 12px 48px #0006;color:var(--text-primary);border:1px solid var(--border-color)}.modal-content h2{margin-top:0;margin-bottom:24px;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:24px}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.modal-content .form-group input[type=datetime-local],.modal-content .form-group input[type=number]{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:10px;font-size:16px;background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.modal-content .form-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.1)}.modal-content .form-group input[type=checkbox]{margin-right:8px;width:20px;height:20px;accent-color:var(--brand)}.modal-content .btn{flex:1;padding:14px 24px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-content .btn-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:var(--text-inverse);box-shadow:0 4px 12px rgba(var(--brand-rgb),.3)}.modal-content .btn-primary:hover:not(:disabled){opacity:.95;transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--brand-rgb),.4)}.modal-content .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.modal-content .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--brand)}.modal-content .btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:var(--text-inverse);box-shadow:0 4px 12px #e74c3c4d}.modal-content .btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-2px);box-shadow:0 6px 16px #e74c3c66}.modal-content .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-content .error{color:var(--error-color);margin-bottom:16px;padding:12px;background:var(--error-bg);border-radius:10px;border:1px solid var(--error-color);font-weight:500}.modal-content p{margin-bottom:20px;color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.log-page{padding:0}.log-page h1{margin-top:0!important;padding:16px;font-size:24px;border-radius:0;border-left:none;border-right:none}.mode-switcher{margin:0 0 16px;border-radius:0;border-left:none;border-right:none}.log-tabs{flex-direction:column;border-bottom:none;margin-bottom:16px;border-radius:0;padding:0}.log-tab{border-bottom:none;border-left:4px solid transparent;border-radius:0;padding:14px 16px;text-align:left}.log-tab.active{border-left-color:var(--brand);border-bottom-color:transparent;background-color:rgba(var(--brand-rgb),.15)}.log-page .card{border-radius:0;border-left:none;border-right:none}.history-content{border-radius:0;border-left:none;border-right:none;padding:16px}.modal-content{padding:20px;max-width:100%;border-radius:20px 20px 0 0}.history-item-actions{gap:4px}.btn-edit,.btn-delete{font-size:16px;padding:4px 8px;min-width:32px;min-height:32px}}@media(max-width:480px){.log-page h1{padding:12px 16px;font-size:22px}}.login-page{position:relative;min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background-image:url(/signin-signup.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}@media(min-width:1024px){.login-page{justify-content:center;padding:40px 60px}.login-page .login-layout{display:flex;width:100%;max-width:1000px;margin:0 auto;align-items:center;gap:48px;background:var(--bg-card);border-radius:20px;padding:48px;box-shadow:0 12px 48px var(--shadow-color);border:1px solid var(--border-color)}.login-page .login-welcome{display:block;flex:1;min-width:0;padding-right:24px}.login-page .login-welcome h2{margin:0 0 12px;font-size:28px;color:var(--text-primary);font-weight:700}.login-page .login-welcome p{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.5}.login-page .auth-container{flex:0 0 auto;width:100%;max-width:420px}.login-page .auth-card{padding:0;box-shadow:none;border:none;background:transparent}.login-page .auth-logo{margin-bottom:16px}.login-page .app-icon{width:80px;height:80px;border-radius:16px}}.login-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#f6f7fbd9,#f8f9fccc);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.login-page:before{background:linear-gradient(135deg,#121218e0,#1a1a2ed9)}}.login-page>*{position:relative;z-index:1}.login-layout{width:100%;display:flex;flex-direction:column;align-items:center}.login-welcome{display:none}@media(max-width:768px){.login-page{padding:20px 15px;min-height:calc(100vh - 64px)}}@media(max-width:480px){.login-page{padding:15px 10px}}@media(max-width:768px){.auth-card{padding:24px 20px}}@media(max-width:480px){.auth-card{padding:20px 15px;border-radius:12px}}.app-icon{width:240px;height:240px;border-radius:24px;box-shadow:0 8px 24px var(--shadow-color);object-fit:contain;background:var(--bg-card);padding:8px}@media(max-width:480px){.app-icon{width:200px;height:200px;border-radius:20px}}.auth-card h1{margin:0 0 8px;font-size:28px;color:var(--text-primary);text-align:center}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:30px;font-size:14px}.auth-card .form-group{margin-bottom:20px}.auth-card .form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500;font-size:14px}.auth-card .form-group input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.auth-card .form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.auth-card .btn{width:100%;padding:14px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-top:10px}.auth-card .btn-primary{background:var(--primary-color);color:var(--text-inverse)}.auth-card .btn-primary:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.3)}.auth-card .btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-card .error{background:var(--error-bg);color:var(--error-color);padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid var(--error-color);font-size:14px}.auth-footer{margin-top:24px;text-align:center;padding-top:24px;border-top:1px solid var(--border-color)}.auth-footer a{color:var(--brand);text-decoration:none;font-weight:500}.forgot-password-link{text-align:right;margin-bottom:10px;margin-top:-10px}.forgot-password-link a{color:var(--brand);text-decoration:none;font-size:14px;font-weight:500}.forgot-password-link a:hover{text-decoration:underline}.milestones-container{max-width:1000px;margin:0 auto;padding:20px;position:relative;min-height:calc(100vh - 80px);background-image:url(/milestones.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.milestones-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.milestones-container:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.milestones-container>*{position:relative;z-index:1}.milestones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.milestones-header h1{margin:0;color:var(--text-primary)}.current-week-indicator{background-color:var(--info-bg);color:var(--info-color);padding:6px 12px;border-radius:16px;font-size:14px;font-weight:500}.error-message{background-color:var(--error-bg);color:var(--error-color);padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid var(--error-color)}.loading,.error{text-align:center;padding:40px;color:var(--text-secondary)}.week-selector{margin-bottom:24px}.week-numbers{display:flex;gap:8px;overflow-x:auto;padding:12px 0;margin-bottom:8px}.week-button{min-width:44px;height:44px;border:2px solid var(--border-color);background-color:var(--bg-card);border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;color:var(--text-primary);transition:all .2s;flex-shrink:0}.week-button:hover{border-color:var(--info-color);background-color:var(--info-bg)}.week-button.active{background-color:var(--info-color);border-color:var(--info-color);color:var(--text-inverse)}.week-button.current{border-color:#4caf50;font-weight:600}.week-button.current.active{background-color:#4caf50;border-color:#4caf50}.date-range{text-align:center;color:var(--info-color);font-size:14px;font-weight:500;margin-top:8px}.category-filter{margin-bottom:20px;display:flex;align-items:center;gap:12px}.category-filter label{font-weight:500;color:var(--text-primary)}.category-filter select{padding:8px 12px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:150px}.category-filter select:focus{outline:none;border-color:var(--info-color)}.milestones-list{display:flex;flex-direction:column;gap:12px}.milestone-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:12px;transition:all .2s;border:2px solid transparent}.milestone-item.not-achieved{background-color:var(--info-bg);border-color:var(--info-color)}.milestone-item.achieved{background-color:var(--success-bg);border-color:var(--success-color)}.milestone-content{display:flex;flex-direction:column;gap:4px;flex:1}.milestone-text{font-size:16px;font-weight:500;color:var(--text-primary)}.milestone-age{font-size:12px;color:var(--text-secondary)}.milestone-toggle{position:relative;display:inline-block;width:52px;height:28px;cursor:pointer;flex-shrink:0}.milestone-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--bg-tertiary);border-radius:28px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:var(--bg-card);border-radius:50%;transition:.3s}.milestone-toggle input:checked+.toggle-slider{background-color:var(--success-color)}.milestone-toggle input:checked+.toggle-slider:before{transform:translate(24px)}.milestone-item.achieved .toggle-slider{background-color:var(--success-color)}.milestone-item.not-achieved .toggle-slider{background-color:var(--bg-tertiary)}.no-milestones{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}@media(max-width:600px){.milestones-container{padding:12px}.milestones-header{flex-direction:column;align-items:flex-start;gap:12px}.week-numbers{gap:6px}.week-button{min-width:40px;height:40px;font-size:14px}.milestone-item{padding:12px}.milestone-text{font-size:14px}}.profile-page{position:relative;min-height:calc(100vh - 80px);max-width:1000px;margin:0 auto;background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.profile-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.profile-page:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.profile-page>*{position:relative;z-index:1}.page-header{display:flex;align-items:center;gap:18px;margin-bottom:30px;margin-top:20px;padding:20px;background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);color:var(--text-primary)}@media(max-width:768px){.profile-page .page-header{margin-top:0!important;padding:16px}.profile-page .page-header h1{font-size:24px}}.page-icon{width:52px;height:52px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.profile-page h1{margin:0;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:32px;font-weight:700}.profile-section-title{margin:0 0 16px;font-size:20px;color:var(--text-primary)}.profile-summary{display:grid;gap:8px;margin-bottom:18px;padding:14px 16px;border-radius:14px;border:1px solid var(--border-color);background:rgba(var(--brand-rgb),.06)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weights-table{margin-top:18px;border:1px solid var(--border-color);border-radius:14px;overflow:hidden}.weights-header,.weights-row{display:grid;grid-template-columns:1fr 140px 120px;gap:12px;align-items:center;padding:12px 14px}.weights-header{background:#0000000a;font-weight:700}@media(prefers-color-scheme:dark){.weights-header{background:#ffffff0f}}.weights-row{border-top:1px solid var(--border-color)}.weights-actions{display:flex;justify-content:flex-end}.btn-small{padding:10px 14px;border-radius:10px;font-size:14px}.weight-chart-container{margin-top:20px;padding:20px;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.chart-description{color:var(--text-secondary);font-size:14px;margin-bottom:16px;line-height:1.5}.percentile-info{margin-top:16px;padding:12px;background:rgba(var(--brand-rgb),.1);border-radius:8px;border:1px solid rgba(var(--brand-rgb),.2);color:var(--text-primary);font-size:15px;text-align:center}.timezone-select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.timezone-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.form-help-text{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary);font-style:italic}.diary-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:20px;padding:12px 16px;background:rgba(var(--brand-rgb),.06);border-radius:10px;border:1px solid rgba(var(--brand-rgb),.2)}.diary-form{margin-bottom:30px}.diary-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:150px;line-height:1.6;transition:all .2s ease}.diary-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.diary-entries{margin-top:30px}.diary-entries-title{margin:0 0 20px;font-size:18px;color:var(--text-primary);font-weight:600}.diary-entry{margin-bottom:20px;padding:18px 20px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.diary-entry:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.diary-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.diary-entry-date{font-weight:600;font-size:16px;color:var(--text-primary)}.diary-entry-actions{display:flex;gap:8px}.diary-entry-content{color:var(--text-primary);line-height:1.7;white-space:pre-wrap;word-wrap:break-word;margin-bottom:12px;font-size:15px}.diary-entry-footer{display:flex;justify-content:flex-end}.diary-entry-footer small{color:var(--text-tertiary);font-size:12px}@media(max-width:768px){.form-row{grid-template-columns:1fr}.weights-header,.weights-row{grid-template-columns:1fr 120px 96px}.weight-chart-container{padding:12px;overflow-x:auto}.diary-entry-header{flex-direction:column;align-items:flex-start;gap:12px}.diary-entry-actions{width:100%;justify-content:flex-end}}.sharing-description{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.6}.sharing-status{margin-bottom:1.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px}.sharing-info{margin-bottom:.5rem}.sharing-info p{margin:.5rem 0}.pending-invitation{margin-top:1rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:8px;border-left:4px solid var(--primary-color)}.sharing-form{margin-top:1.5rem}.invite-method-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.radio-label:hover{background-color:var(--bg-secondary)}.radio-label input[type=radio]{margin:0;cursor:pointer}.invitation-code-result{margin-top:1.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--success-color)}.invitation-code-display{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;background-color:var(--bg-tertiary);border-radius:8px}.code-text{font-family:Courier New,monospace;font-size:1.25rem;font-weight:700;letter-spacing:2px;color:var(--primary-color);margin:0;flex:1}.code-instructions{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary);line-height:1.5}@media(max-width:768px){.invitation-code-display{flex-direction:column;align-items:stretch}.code-text{text-align:center;word-break:break-all}}.tracking-preferences{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.checkbox-label:hover{background-color:var(--bg-tertiary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label span{font-size:.95rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.delete-account-card{border-left:4px solid var(--danger, #dc3545)}.delete-account-description{color:var(--text-secondary);margin:0 0 12px;font-size:14px;line-height:1.5}.delete-account-list{margin:0 0 20px;padding-left:20px;color:var(--text-secondary);font-size:14px;line-height:1.6}.delete-account-list li{margin-bottom:4px}.delete-account-confirm{margin-top:16px;padding:16px;background:#dc35450f;border:1px solid rgba(220,53,69,.25);border-radius:12px}.delete-account-warning{margin:0 0 16px;font-weight:600;color:var(--text-primary)}.delete-account-checkbox{margin-bottom:16px}.profile-page .form-actions-inline{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.profile-page .btn-danger{background:var(--danger, #dc3545);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:16px;cursor:pointer}.profile-page .btn-danger:hover:not(:disabled){background:#c82333}.profile-page .btn-danger:disabled{opacity:.6;cursor:not-allowed}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);padding:20px}.auth-card{background:var(--bg-card);border-radius:12px;padding:40px;box-shadow:0 10px 40px var(--shadow-color);border:1px solid var(--border-color)}.auth-card h1{margin:0 0 10px;color:var(--text-primary);font-size:28px}.auth-subtitle{color:var(--text-secondary);margin-bottom:30px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;background:var(--bg-input);color:var(--text-primary);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.error{background:var(--error-bg);color:var(--error-color);padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;border:1px solid var(--error-color)}.success-message{text-align:center;padding:20px 0}.success-message h2{color:var(--success-color);margin-bottom:15px}.success-message p{color:var(--text-secondary);margin-bottom:10px;line-height:1.6}.btn{width:100%;padding:12px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary{background:var(--primary-color);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:20px;text-align:center;color:var(--text-secondary);font-size:14px}.auth-footer a{color:var(--brand);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.shopping-lists{position:relative;min-height:calc(100vh - 80px);max-width:1000px;margin:0 auto;background-image:url(/history_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.shopping-lists:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.shopping-lists:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.shopping-lists>*{position:relative;z-index:1}.shopping-lists-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;margin-top:20px;gap:20px;flex-wrap:wrap}.shopping-lists-header h1{margin:0;font-size:32px;font-weight:700;padding:20px;background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);color:var(--text-primary);flex:1;min-width:200px}.shopping-lists-header h1 span{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shopping-lists-container{display:grid;grid-template-columns:300px 1fr;gap:20px;min-height:500px}.lists-sidebar{background:var(--bg-card);border-radius:16px;padding:20px;box-shadow:0 4px 16px var(--shadow-color);border:1px solid var(--border-color)}.lists-sidebar h2{margin-top:0;margin-bottom:16px;font-size:20px;color:var(--text-primary)}.lists-list{display:flex;flex-direction:column;gap:8px}.list-item{padding:12px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;border:2px solid transparent}.list-item:hover{background:var(--bg-tertiary);transform:translate(4px)}.list-item.active{border-color:var(--brand);background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1))}.list-item-content{flex:1;min-width:0}.list-item-name{font-weight:600;color:var(--text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-date{font-size:12px;color:var(--text-tertiary)}.list-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.list-item:hover .list-item-actions{opacity:1}.btn-edit-small,.btn-delete-small{background:none;border:none;cursor:pointer;font-size:14px;padding:4px;border-radius:4px;transition:all .2s ease}.btn-edit-small:hover{background:rgba(var(--brand-rgb),.1)}.btn-delete-small:hover{background:#dc35451a}.edit-list-name input{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.list-details{background:var(--bg-card);border-radius:16px;padding:24px;box-shadow:0 4px 16px var(--shadow-color);border:1px solid var(--border-color)}.list-details-header h2{margin-top:0;margin-bottom:20px;font-size:24px;color:var(--text-primary)}.add-item-form{display:flex;gap:12px;margin-bottom:24px}.add-item-form input{flex:1;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;background:var(--bg-primary);color:var(--text-primary)}.add-item-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.add-item-form .btn{padding:12px 24px;white-space:nowrap}.items-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.item-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px;transition:all .2s ease}.item-row:hover{background:var(--bg-tertiary)}.item-row.completed{opacity:.6}.item-checkbox{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;margin:0}.item-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--brand)}.item-name{color:var(--text-primary);font-size:16px}.item-row.completed .item-name{text-decoration:line-through;color:var(--text-tertiary)}.btn-delete-item{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:all .2s ease;opacity:.7}.btn-delete-item:hover{opacity:1;background:#dc35451a}.list-stats{padding-top:16px;border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:14px}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state-hint{margin-top:8px;font-size:14px;color:var(--text-tertiary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card);border-radius:16px;padding:24px;max-width:500px;width:100%;box-shadow:0 8px 32px #0000004d;color:var(--text-primary)}.modal-content h2{margin-top:0;margin-bottom:20px;color:var(--text-primary)}.modal-content p{margin-bottom:20px;color:var(--text-secondary)}.modal-content .form-actions{display:flex;gap:12px;margin-top:24px}.modal-content .btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-content .btn-danger{background:var(--error-color);color:var(--text-inverse)}.modal-content .btn-danger:hover:not(:disabled){background:var(--error-color);opacity:.9}.modal-content .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-content .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.modal-content .btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:968px){.shopping-lists-container{grid-template-columns:1fr}.lists-sidebar{max-height:300px;overflow-y:auto}}@media(max-width:768px){.shopping-lists-header{margin-top:10px;flex-direction:column;align-items:stretch}.shopping-lists-header h1{padding:16px;font-size:24px}.shopping-lists-container{grid-template-columns:1fr}.lists-sidebar{order:2}.list-details{order:1}.add-item-form{flex-direction:column}.add-item-form .btn{width:100%}}.signup-page{position:relative;min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background-image:url(/signin-signup.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;overflow-x:hidden}.signup-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#f6f7fbe0,#f8f9fcd9);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.signup-page:before{background:linear-gradient(135deg,#121218e6,#1a1a2ee0)}}.signup-page>*{position:relative;z-index:1}@media(max-width:768px){.signup-page{padding:20px 15px;min-height:calc(100vh - 64px)}}@media(max-width:480px){.signup-page{padding:15px 10px}}.wizard-container{width:100%;max-width:500px;animation:fadeInUp .6s ease-out}.wizard-card{background:var(--bg-card);border-radius:24px;padding:40px;box-shadow:0 20px 60px #00000026;border:1px solid var(--border-color);position:relative;overflow:hidden}.wizard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:768px){.wizard-card{padding:30px 24px;border-radius:20px}}@media(max-width:480px){.wizard-card{padding:24px 20px;border-radius:16px}}.progress-container{position:relative;margin-bottom:32px}.progress-bar{height:6px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);border-radius:10px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-steps{display:flex;justify-content:space-between;margin-top:12px;gap:8px}.progress-step{flex:1;height:4px;background:var(--border-color);border-radius:2px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-step.completed{background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);transform:scaleY(1.2)}.progress-step.active{background:linear-gradient(90deg,var(--brand) 0%,var(--brand-light) 100%);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scaleY(1.2)}50%{opacity:.7;transform:scaleY(1.4)}}.step-counter{text-align:center;font-size:14px;color:var(--text-secondary);margin-bottom:32px;font-weight:500;letter-spacing:.5px}.wizard-form{min-height:400px;position:relative;overflow:hidden}.step-wrapper{animation:slideInForward .4s cubic-bezier(.4,0,.2,1)}.step-wrapper.backward{animation:slideInBackward .4s cubic-bezier(.4,0,.2,1)}.step-wrapper.animating{pointer-events:none}@keyframes slideInForward{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInBackward{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.step-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-icon{font-size:64px;margin-bottom:20px;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55);filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));display:flex;align-items:center;justify-content:center}.step-icon-image{width:64px;height:64px;object-fit:contain;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55);filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));border-radius:16px;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-icon{font-size:80px;margin-bottom:24px;animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55);filter:drop-shadow(0 6px 12px rgba(0,0,0,.15))}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{opacity:1;transform:scale(1.05) translateY(0)}70%{transform:scale(.9)}to{transform:scale(1)}}.step-content h2{margin:0 0 12px;font-size:32px;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;animation:fadeInUp .5s ease-out .2s both}.step-subtitle{color:var(--text-secondary);font-size:16px;margin-bottom:32px;line-height:1.6;animation:fadeInUp .5s ease-out .3s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-wrapper{position:relative;width:100%;animation:fadeInUp .5s ease-out .4s both}.step-input,.step-select{width:100%;padding:16px 20px;border:2px solid var(--border-color);border-radius:12px;font-size:16px;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;transition:all .3s cubic-bezier(.4,0,.2,1)}.step-input:focus,.step-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.1);transform:translateY(-2px)}.step-input.input-valid{border-color:#10b981;padding-right:50px}.step-input.input-valid:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b9811a}.step-input.input-invalid{border-color:#ef4444;padding-right:50px}.step-input.input-invalid:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.input-status{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:700;pointer-events:none;animation:fadeIn .3s ease-out}.input-status.status-valid{color:#10b981}.input-status.status-invalid{color:#ef4444}.validation-hint{margin-top:8px;font-size:13px;color:#ef4444;text-align:left;width:100%;animation:fadeIn .3s ease-out}.step-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.step-help-text{display:block;margin-top:12px;font-size:13px;color:var(--text-secondary);font-style:italic;animation:fadeIn .5s ease-out .5s both}.password-strength{width:100%;height:4px;background:var(--bg-secondary);border-radius:2px;margin-top:12px;overflow:hidden;animation:fadeIn .5s ease-out .5s both}.strength-bar{height:100%;border-radius:2px;transition:all .3s ease}.strength-bar.weak{background:#ef4444}.strength-bar.medium{background:#f59e0b}.strength-bar.strong{background:#10b981;animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #10b98180}50%{box-shadow:0 0 15px #10b981cc}}.password-match{margin-top:12px;color:#10b981;font-size:14px;font-weight:500;animation:fadeIn .3s ease-out}.tracking-preferences-wizard{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;margin-top:20px;animation:fadeInUp .5s ease-out .4s both}@media(max-width:480px){.tracking-preferences-wizard{grid-template-columns:1fr}}.checkbox-label-wizard{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px;border-radius:12px;border:2px solid var(--border-color);background:var(--bg-primary);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.checkbox-label-wizard:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--brand-rgb),.1),transparent);transition:left .5s}.checkbox-label-wizard:hover:before{left:100%}.checkbox-label-wizard:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.15)}.checkbox-label-wizard input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.checkbox-label-wizard input[type=checkbox]:checked+span{color:var(--brand);font-weight:600}.checkbox-label-wizard span{font-size:15px;color:var(--text-primary);-webkit-user-select:none;user-select:none;transition:all .2s}.tracking-preferences-hint{display:flex;align-items:center;gap:12px;margin-top:24px;padding:16px;background:rgba(var(--brand-rgb),.08);border-radius:12px;border:1px solid rgba(var(--brand-rgb),.2);animation:fadeInUp .5s ease-out .6s both}.hint-icon{font-size:24px;flex-shrink:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.hint-text{font-size:14px;color:var(--text-secondary);line-height:1.5;text-align:left}@media(max-width:480px){.tracking-preferences-hint{flex-direction:column;text-align:center;gap:8px}.hint-text{text-align:center}}.gender-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;margin-top:20px;animation:fadeInUp .5s ease-out .4s both}.gender-option-skip{grid-column:1 / -1;flex-direction:row!important;justify-content:center;gap:12px!important;padding:24px 20px!important;min-height:70px!important}@media(max-width:480px){.gender-options{grid-template-columns:1fr}.gender-option-skip{grid-column:1}}.gender-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;border-radius:12px;border:2px solid var(--border-color);background:var(--bg-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:100px}.gender-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--brand-rgb),.1),transparent);transition:left .5s}.gender-option:hover:before{left:100%}.gender-option:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.15)}.gender-option.selected{border-color:var(--brand);background:rgba(var(--brand-rgb),.1);box-shadow:0 4px 16px rgba(var(--brand-rgb),.2)}.gender-option.selected:after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;background:var(--brand);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;animation:bounceIn .3s cubic-bezier(.68,-.55,.265,1.55)}.gender-icon{font-size:32px;transition:transform .3s}.gender-option:hover .gender-icon{transform:scale(1.1)}.gender-option span:not(.gender-icon){font-size:15px;font-weight:500;color:var(--text-primary);transition:color .2s}.gender-option.selected span:not(.gender-icon){color:var(--brand);font-weight:600}input[type=date]{position:relative}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;filter:invert(.5);transition:opacity .2s}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}@media(prefers-color-scheme:dark){input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}}.welcome-step{padding:40px 0}.signup-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;margin-top:32px;animation:fadeInUp .5s ease-out .4s both}@media(max-width:768px){.signup-options{grid-template-columns:1fr;gap:16px}}.signup-option-card{background:var(--bg-primary);border:3px solid var(--border-color);border-radius:16px;padding:32px 24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:12px}.signup-option-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--brand-rgb),.1),transparent);transition:left .6s}.signup-option-card:hover:before{left:100%}.signup-option-card:hover{border-color:var(--brand);transform:translateY(-4px);box-shadow:0 8px 24px rgba(var(--brand-rgb),.2)}.signup-option-card.selected{border-color:var(--brand);background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));box-shadow:0 8px 24px rgba(var(--brand-rgb),.3);transform:translateY(-2px)}.signup-option-card.selected:after{content:"✓";position:absolute;top:12px;right:12px;width:28px;height:28px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;animation:bounceIn .4s cubic-bezier(.68,-.55,.265,1.55)}.option-icon{font-size:48px;margin-bottom:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:transform .3s ease}.signup-option-card:hover .option-icon{transform:scale(1.1) rotate(5deg)}.signup-option-card.selected .option-icon{transform:scale(1.1)}.signup-option-card h3{margin:0;font-size:20px;color:var(--text-primary);font-weight:700}.signup-option-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.invitation-input-section{margin-top:32px;width:100%;animation:fadeInUp .5s ease-out .6s both}.invitation-input-group{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.invitation-help-text{font-size:13px;color:var(--text-secondary);text-align:center;margin-top:8px;font-style:italic}.join-option-card{margin-top:32px;padding:24px;background:var(--bg-secondary);border-radius:16px;border:2px solid var(--border-color);animation:fadeInUp .5s ease-out .5s both}.join-option-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.join-option-text{font-size:14px;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.invitation-input-group{margin-top:16px;display:flex;flex-direction:column;gap:12px}.invitation-input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.invitation-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.terms-checkbox-wizard{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:20px;border-radius:12px;border:2px solid var(--border-color);background:var(--bg-secondary);transition:all .3s ease;animation:fadeInUp .5s ease-out .4s both}.terms-checkbox-wizard:hover{border-color:var(--brand);background:var(--bg-primary)}.terms-checkbox-wizard input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--brand);flex-shrink:0;margin-top:2px}.terms-checkbox-wizard span{font-size:15px;color:var(--text-primary);line-height:1.6}.terms-link{color:var(--brand);text-decoration:none;font-weight:600;transition:all .2s ease}.terms-link:hover{text-decoration:underline;color:var(--brand-light)}.wizard-navigation{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border-color)}.btn{flex:1;padding:16px 24px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-back{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-back:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-secondary);transform:translate(-2px)}.btn-next,.btn-submit{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:#fff;box-shadow:0 4px 15px rgba(var(--brand-rgb),.4)}.btn-next:hover:not(:disabled),.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--brand-rgb),.5)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);font-size:14px;padding:12px 20px}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--brand)}.btn-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:#fff;box-shadow:0 4px 15px rgba(var(--brand-rgb),.4)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--brand-rgb),.5)}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-message{background:#ef44441a;color:#ef4444;padding:16px;border-radius:12px;margin:20px 0;border:2px solid rgba(239,68,68,.2);font-size:14px;animation:shake .5s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.success-card{text-align:center;padding:60px 40px}.success-animation{font-size:80px;margin-bottom:24px;animation:bounceIn 1s cubic-bezier(.68,-.55,.265,1.55)}.success-card h2{margin:0 0 16px;font-size:32px;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-card p{color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.auth-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid var(--border-color)}.auth-footer p{color:var(--text-secondary);font-size:14px}.auth-footer a{color:var(--brand);text-decoration:none;font-weight:600;transition:all .2s ease}.auth-footer a:hover{text-decoration:underline;color:var(--brand-light)}.auth-container{width:100%;max-width:450px}.auth-card{background:var(--bg-card);border-radius:16px;padding:40px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color)}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.app-icon{width:240px;height:240px;border-radius:24px;box-shadow:0 8px 24px #00000026;object-fit:contain;padding:8px}.invitation-notice{padding:12px 16px;background-color:rgba(var(--brand-rgb),.1);color:var(--text-primary);border-radius:8px;margin-bottom:20px;border:1px solid rgba(var(--brand-rgb),.3)}.invitation-notice p{margin:.5rem 0;line-height:1.5}.success-message{text-align:center;padding:20px}.success-message h2{color:var(--text-primary);margin-bottom:16px}.success-message p{color:var(--text-secondary);margin-bottom:12px;line-height:1.6}@media(max-width:768px){.wizard-card{padding:30px 24px}.step-content h2{font-size:28px}.step-icon{font-size:56px}.step-icon-image{width:56px;height:56px}.welcome-icon{font-size:64px}}@media(max-width:480px){.wizard-card{padding:24px 20px}.step-content h2{font-size:24px}.step-icon{font-size:48px}.step-icon-image{width:48px;height:48px}.welcome-icon{font-size:56px}.wizard-navigation{flex-direction:column}.btn{width:100%}}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);padding:20px}.verify-email-page .auth-container{width:100%;max-width:450px}.verify-email-page .auth-card{background:var(--bg-card);border-radius:12px;padding:40px;box-shadow:0 10px 40px var(--shadow-color);border:1px solid var(--border-color)}.verify-email-page .auth-card h1{margin:0 0 16px;color:var(--text-primary);font-size:28px}.verify-email-page .verify-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.verify-email-page .verify-message{margin:0 0 24px;font-size:15px;line-height:1.5}.verify-email-page .verify-message.success{color:var(--text-primary)}.verify-email-page .verify-message.error{color:var(--danger, #dc3545)}.verify-email-page .verify-redirect{margin:0 0 20px;font-size:13px;color:var(--text-secondary)}.verify-email-page .verify-spinner{width:40px;height:40px;margin-top:24px;border:3px solid var(--border-color);border-top-color:var(--brand);border-radius:50%;animation:verify-spin .8s linear infinite}@keyframes verify-spin{to{transform:rotate(360deg)}}.verify-email-page .auth-footer{margin-top:24px;font-size:14px}.verify-email-page .auth-footer a{color:var(--brand);text-decoration:none}.verify-email-page .auth-footer a:hover{text-decoration:underline}.verify-email-page .btn{display:inline-block;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;text-decoration:none;text-align:center;cursor:pointer;border:none}.verify-email-page .btn-primary{background:var(--brand);color:#fff}.verify-email-page .btn-primary:hover{background:#5a6fd6}.terms-page{position:relative;min-height:calc(100vh - 80px);background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:20px}.terms-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fffffff2,#ffffffeb);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.terms-page:before{background:linear-gradient(135deg,#1a1a1af2,#1e1e1eeb)}}.terms-page>*{position:relative;z-index:1}.terms-container{max-width:1000px;margin:20px auto;background:var(--bg-card);padding:32px 24px 40px;box-shadow:0 8px 32px var(--shadow-color);border-radius:20px;border:1px solid var(--border-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.terms-container h1{color:var(--text-primary);font-size:1.8rem;margin-top:0;margin-bottom:1rem;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.terms-container h2{color:var(--text-primary);font-size:1.2rem;margin-top:1.8rem;margin-bottom:.8rem;font-weight:600}.terms-container p{margin:.5rem 0;color:var(--text-primary);line-height:1.7;font-size:15px}.terms-container ul{margin:.4rem 0 .4rem 1.2rem;color:var(--text-primary);line-height:1.7}.terms-container li{margin:.3rem 0;font-size:15px}.terms-container strong{font-weight:600;color:var(--text-primary)}.terms-container a{color:var(--brand);text-decoration:none;font-weight:500}.terms-container a:hover{text-decoration:underline}@media(max-width:768px){.terms-page{padding:0}.terms-container{margin:16px;padding:20px 16px 28px;border-radius:0;border-left:none;border-right:none}.terms-container h1{font-size:1.5rem}.terms-container h2{font-size:1.1rem}}.privacy-page{position:relative;min-height:calc(100vh - 80px);background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:20px}.privacy-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fffffff2,#ffffffeb);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.privacy-page:before{background:linear-gradient(135deg,#1a1a1af2,#1e1e1eeb)}}.privacy-page>*{position:relative;z-index:1}.privacy-container{max-width:1000px;margin:20px auto;background:var(--bg-card);padding:32px 24px 40px;box-shadow:0 8px 32px var(--shadow-color);border-radius:20px;border:1px solid var(--border-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.privacy-container h1{color:var(--text-primary);font-size:1.8rem;margin-top:0;margin-bottom:1rem;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.privacy-container h2{color:var(--text-primary);font-size:1.2rem;margin-top:1.8rem;margin-bottom:.8rem;font-weight:600}.privacy-container h3{color:var(--text-primary);font-size:1.1rem;margin-top:1.4rem;margin-bottom:.6rem;font-weight:600}.privacy-container p{margin:.5rem 0;color:var(--text-primary);line-height:1.7;font-size:15px}.privacy-container ul{margin:.4rem 0 .4rem 1.2rem;color:var(--text-primary);line-height:1.7}.privacy-container li{margin:.3rem 0;font-size:15px}.privacy-container strong{font-weight:600;color:var(--text-primary)}.meta{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.privacy-container a{color:var(--brand);text-decoration:none;font-weight:500}.privacy-container a:hover{text-decoration:underline}@media(max-width:768px){.privacy-page{padding:0}.privacy-container{margin:16px;padding:20px 16px 28px;border-radius:0;border-left:none;border-right:none}.privacy-container h1{font-size:1.5rem}.privacy-container h2{font-size:1.1rem}.privacy-container h3{font-size:1rem}}.premium-gate{display:flex;justify-content:center;align-items:center;min-height:400px;padding:40px 20px}.premium-gate-content{max-width:600px;width:100%;background:var(--bg-card, #ffffff);border-radius:20px;padding:40px;box-shadow:0 8px 32px var(--shadow-color, rgba(0, 0, 0, .1));border:1px solid var(--border-color, rgba(255, 255, 255, .5));text-align:center}.trial-banner{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:#fff;padding:24px;border-radius:16px;text-align:left}.trial-icon{font-size:48px;flex-shrink:0}.trial-info h3{margin:0 0 8px;font-size:24px;font-weight:700}.trial-info p{margin:8px 0;font-size:16px;line-height:1.5}.trial-info strong{font-size:20px;font-weight:700}.trial-note{font-size:14px;opacity:.9;margin-top:12px}.premium-locked{margin-bottom:32px}.lock-icon{font-size:64px;margin-bottom:16px}.premium-locked h2{margin:0 0 12px;font-size:28px;font-weight:700;color:var(--text-primary, #333)}.feature-name{font-size:18px;color:var(--text-secondary, #666);margin:8px 0}.upgrade-message{font-size:16px;color:var(--text-secondary, #666);margin:16px 0}.premium-benefits{background:var(--bg-secondary, #f5f5f5);border-radius:12px;padding:24px;margin:32px 0;text-align:left}.premium-benefits h3{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--text-primary, #333)}.premium-benefits ul{list-style:none;padding:0;margin:0}.premium-benefits li{padding:12px 0;font-size:16px;color:var(--text-primary, #333);border-bottom:1px solid var(--border-color, rgba(0, 0, 0, .1))}.premium-benefits li:last-child{border-bottom:none}.promocode-section{background:linear-gradient(135deg,#e8f4fd,#f0e8fd);border-radius:12px;padding:24px;margin:32px 0;text-align:left;border:1px solid var(--border-color, rgba(0, 0, 0, .08))}.promocode-section h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary, #333)}.promocode-section>p{margin:0 0 16px;font-size:16px;color:var(--text-secondary, #666)}.promocode-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.promocode-input{flex:1;padding:12px 16px;font-size:16px;border:1px solid var(--border-color, #ddd);border-radius:8px;outline:none}.promocode-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(var(--brand-rgb),.2)}.promocode-redeem-button{padding:12px 24px;font-size:16px;font-weight:600;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s,transform .2s}.promocode-redeem-button:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.promocode-redeem-button:disabled{opacity:.6;cursor:not-allowed}.promocode-error{margin:0 0 8px;font-size:14px;color:#c53030}.promocode-note{margin:0;font-size:14px;color:var(--text-secondary, #666)}.download-section{margin:32px 0}.download-section h3{margin:0 0 12px;font-size:22px;font-weight:600;color:var(--text-primary, #333)}.download-section>p{margin:0 0 24px;color:var(--text-secondary, #666);font-size:16px}.download-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.download-button{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-primary, #000);color:#fff;text-decoration:none;border-radius:12px;transition:transform .2s,box-shadow .2s;min-width:180px}.download-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.download-button.app-store,.download-button.google-play{background:#000}.button-icon{font-size:32px;flex-shrink:0}.button-text{display:flex;flex-direction:column;align-items:flex-start}.button-label{font-size:12px;opacity:.9;line-height:1.2}.button-name{font-size:18px;font-weight:600;line-height:1.2}.pricing-info{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color, rgba(0, 0, 0, .1))}.pricing-info p{margin:8px 0;font-size:18px;color:var(--text-primary, #333)}.pricing-note{font-size:14px;color:var(--text-secondary, #666)}.dismiss-button{margin-top:24px;padding:12px 24px;background:transparent;border:2px solid var(--border-color, #e0e0e0);color:var(--text-secondary, #666);border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s}.dismiss-button:hover{background:var(--bg-secondary, #f5f5f5);border-color:var(--text-secondary, #999)}.loading{text-align:center;padding:40px;color:var(--text-secondary, #666)}@media(max-width:600px){.premium-gate-content{padding:24px}.trial-banner{flex-direction:column;text-align:center}.download-buttons{flex-direction:column}.download-button{width:100%;justify-content:center}}.todays-plan-page{position:relative;min-height:calc(100vh - 80px);background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:20px;max-width:1000px;margin:0 auto}.todays-plan-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.todays-plan-page:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.todays-plan-page>*{position:relative;z-index:1}.todays-plan-page h1{margin-bottom:30px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:32px;font-weight:700;padding:20px;background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);position:relative;z-index:1;color:var(--text-primary)}.todays-plan-page h1 span{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.plan-icon{font-size:36px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.date-selector{display:flex;align-items:center;gap:10px}.date-selector label{font-weight:500;color:var(--text-secondary)}.date-input{padding:10px 14px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-card);color:var(--text-primary);transition:all .2s ease}.date-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.plan-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:30px}.btn-generate,.btn-regenerate{padding:16px 32px;font-size:18px;font-weight:600;border-radius:12px;display:flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--brand-rgb),.3)}.btn-notify{padding:14px 28px;font-size:16px;font-weight:600;border-radius:12px;display:flex;align-items:center;gap:10px;border:2px solid rgba(var(--brand-rgb),.35);color:var(--text-primary);background:var(--bg-card);transition:all .3s ease}.btn-notify:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(var(--brand-rgb),.25)}.btn-notify:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.notification-message{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;border:1px solid rgba(var(--brand-rgb),.25);background:linear-gradient(135deg,rgba(var(--brand-rgb),.08),rgba(var(--brand-light-rgb),.08));color:var(--text-primary);margin-bottom:20px}.notification-icon{font-size:18px}.btn-generate:hover,.btn-regenerate:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--brand-rgb),.4)}.btn-icon{font-size:20px}.generating-indicator{display:flex;align-items:center;gap:12px;padding:16px 32px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));border-radius:12px;font-size:16px;color:var(--text-primary)}.spinner{width:24px;height:24px;border:3px solid rgba(var(--brand-rgb),.2);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:10px;padding:16px;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:12px;color:#dc3545;margin-bottom:20px}.error-icon{font-size:20px}.loading-state,.no-plan-state{text-align:center;padding:60px 20px;background:var(--bg-card);border-radius:20px;box-shadow:0 4px 16px #0000001a}.loading-state .spinner{margin:0 auto 20px;width:40px;height:40px}.no-plan-icon{font-size:64px;margin-bottom:20px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.no-plan-state h2{margin-bottom:12px;color:var(--text-primary)}.no-plan-state p{color:var(--text-secondary);margin-bottom:8px}.no-plan-state .hint{font-size:14px;color:var(--text-tertiary);font-style:italic}.plan-container{background:var(--bg-card);border-radius:20px;box-shadow:0 4px 16px #0000001a;overflow:hidden}.plan-header{padding:24px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));border-bottom:2px solid var(--border-color)}.plan-header h2{margin:0 0 12px;font-size:24px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-meta{display:flex;gap:20px;font-size:13px;color:var(--text-tertiary)}.plan-body{padding:30px}.plan-content{display:flex;flex-direction:column;gap:32px}.plan-section{margin-bottom:32px}.plan-section-title{margin:0 0 20px;font-size:22px;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding-bottom:12px;border-bottom:2px solid var(--border-color);display:flex;align-items:center;gap:10px}.plan-section-title:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);border-radius:2px}.plan-overview{background:linear-gradient(135deg,rgba(var(--brand-rgb),.03),rgba(var(--brand-light-rgb),.03));padding:24px;border-radius:16px;border:1px solid var(--border-color)}.plan-overview-content{display:flex;flex-direction:column;gap:12px}.plan-schedule-section{margin-top:8px}.schedule-list{display:flex;flex-direction:column;gap:12px}.plan-section-header{margin:32px 0 16px;font-size:20px;font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-header-3{font-size:20px;margin-top:32px}.plan-header-4{font-size:18px;margin-top:24px;color:var(--text-secondary)}.plan-schedule-item{display:flex;align-items:flex-start;gap:20px;padding:20px 24px;border-radius:16px;border-left:5px solid;transition:all .3s ease;background:var(--bg-primary);box-shadow:0 2px 8px #0000000d;position:relative;overflow:hidden}.plan-schedule-item:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 100%);pointer-events:none}.plan-schedule-item:hover{transform:translate(6px);box-shadow:0 6px 20px #0000001f}.plan-feeding{border-left-color:var(--brand);background:linear-gradient(135deg,rgba(var(--brand-rgb),.05),rgba(var(--brand-rgb),.1))}.plan-pumping{border-left-color:var(--brand-light);background:linear-gradient(135deg,rgba(var(--brand-light-rgb),.05),rgba(var(--brand-light-rgb),.1))}.plan-breastfeeding{border-left-color:#ffb74d;background:linear-gradient(135deg,#ffb74d0d,#ffb74d1a)}.plan-sleep{border-left-color:#ff9800;background:linear-gradient(135deg,#ff98000d,#ff98001a)}.plan-appointment{border-left-color:#4caf50;background:linear-gradient(135deg,#4caf500d,#4caf501a)}.plan-shopping{border-left-color:#9c27b0;background:linear-gradient(135deg,#9c27b00d,#9c27b01a)}.plan-activity{border-left-color:#00bcd4;background:linear-gradient(135deg,#00bcd40d,#00bcd41a)}.schedule-time-badge{display:flex;align-items:center;gap:10px;min-width:130px;flex-shrink:0;padding:10px 14px;background:rgba(var(--brand-rgb),.12);border-radius:12px;font-weight:700;font-size:15px;color:var(--text-primary);border:1px solid rgba(var(--brand-rgb),.2)}.time-icon{font-size:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));line-height:1}.time-text{letter-spacing:.5px}.schedule-activity{flex:1;color:var(--text-primary);line-height:1.7;font-size:15px;padding-top:2px}.activity-text{font-weight:500;margin-bottom:4px}.activity-notes{font-size:.9em;color:var(--text-secondary);font-style:italic;margin-top:4px}.plan-tips-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.plan-tip-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.05),rgba(var(--brand-light-rgb),.05));border-radius:8px;border-left:3px solid #4CAF50}.tip-icon{font-size:1.2em;flex-shrink:0}.tip-text{flex:1;color:var(--text-primary);line-height:1.5}.tip-notes{font-size:.85em;color:var(--text-secondary);font-style:italic;margin-top:4px;margin-left:32px}.plan-legacy-content{white-space:pre-wrap;font-family:inherit;background:linear-gradient(135deg,rgba(var(--brand-rgb),.03),rgba(var(--brand-light-rgb),.03));padding:16px;border-radius:8px;line-height:1.6;color:var(--text-primary)}.schedule-activity strong{color:var(--text-primary);font-weight:600}.plan-bullets-section{background:linear-gradient(135deg,rgba(var(--brand-rgb),.03),rgba(var(--brand-light-rgb),.03));padding:20px 24px;border-radius:16px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.plan-bullet-point{padding-left:28px;position:relative;color:var(--text-primary);line-height:1.8;font-size:15px}.plan-bullet-point:before{content:"▸";position:absolute;left:8px;color:var(--brand);font-weight:700;font-size:18px;top:2px}.plan-bullet-point strong{color:var(--text-primary);font-weight:600}.plan-paragraph{color:var(--text-primary);line-height:1.8;margin:0;font-size:15px}.plan-paragraph strong{color:var(--text-primary);font-weight:600;background:linear-gradient(135deg,rgba(var(--brand-rgb),.15),rgba(var(--brand-light-rgb),.15));padding:2px 6px;border-radius:4px}@media(max-width:768px){.todays-plan-page{padding:0}.todays-plan-page h1{margin-top:0!important;padding:16px;font-size:24px;flex-direction:column;align-items:flex-start;gap:16px}.date-selector{width:100%;justify-content:space-between}.plan-meta{flex-direction:column;gap:8px}.plan-schedule-item{flex-direction:column;gap:12px;padding:16px 20px}.schedule-time-badge{min-width:auto;width:100%;justify-content:center}.plan-section-title{font-size:20px}.plan-overview,.plan-bullets-section{padding:20px}}.no-schedule-message{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#4caf500d,#4caf501a);border-radius:16px;border:1px solid rgba(76,175,80,.2)}.no-schedule-icon{font-size:48px;display:block;margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.no-schedule-message p{margin:0;font-size:16px;color:var(--text-primary);font-weight:500}.plan-time-block{margin-bottom:32px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.05),rgba(var(--brand-light-rgb),.05));border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all .3s ease}.plan-time-block:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.plan-time-block-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));border-bottom:2px solid var(--border-color)}.plan-time-block-time{font-weight:700;font-size:16px;color:var(--text-primary);background:rgba(var(--brand-rgb),.15);padding:8px 14px;border-radius:8px;letter-spacing:.5px;white-space:nowrap}.plan-time-block-title{font-weight:600;font-size:18px;color:var(--text-primary);flex:1}.plan-time-block-items{padding:20px 24px;display:flex;flex-direction:column;gap:12px}.plan-time-block-item{padding-left:24px;position:relative;color:var(--text-primary);line-height:1.8;font-size:15px}.plan-time-block-item:before{content:"▸";position:absolute;left:8px;color:var(--brand);font-weight:700;font-size:16px;top:2px}.plan-time-block-item strong{color:var(--text-primary);font-weight:600}@media(max-width:768px){.plan-time-block-header{flex-direction:column;align-items:flex-start;gap:12px}.plan-time-block-time{width:100%;text-align:center}.plan-time-block-items{padding:16px 20px}}.virtual-nanny{position:relative;min-height:calc(100vh - 80px);max-width:1000px;margin:0 auto;background-image:url(/dashboard_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.virtual-nanny:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffffeb,#ffffffe0);z-index:0;pointer-events:none}@media(prefers-color-scheme:dark){.virtual-nanny:before{background:linear-gradient(135deg,#1a1a1aeb,#1e1e1ee0)}}.virtual-nanny>*{position:relative;z-index:1}.virtual-nanny-header{margin-bottom:30px;margin-top:20px;text-align:center;padding:20px;background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color)}.virtual-nanny-header h1{margin:0 0 10px;font-size:32px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:12px}.virtual-nanny-header h1 span{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nanny-icon{font-size:36px;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background:none}.subtitle{margin:0;color:var(--text-secondary);font-size:16px}.virtual-nanny-container{display:grid;grid-template-columns:1fr 350px;gap:20px;margin-bottom:30px}.chat-section{background:var(--bg-card);border-radius:20px;padding:28px;box-shadow:0 8px 32px #00000014;border:1px solid var(--border-color);display:flex;flex-direction:column;min-height:600px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-header{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.chat-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.chat-header-left{display:flex;flex-direction:column;gap:12px;flex:1}.chat-header h2{margin:0;font-size:26px;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-subtitle{margin:0;font-size:14px;color:var(--text-secondary);font-style:italic}.btn-clear-history{padding:8px 16px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px;color:var(--error-color);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:6px}.btn-clear-history:hover{background:#e74c3c33;border-color:var(--error-color);transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c33}.btn-clear-history:active{transform:translateY(0)}.conversation-selector{display:flex;gap:8px;align-items:center}.conversation-select{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.conversation-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.conversation-select:disabled{opacity:.6;cursor:not-allowed}.btn-new-conversation{padding:8px 16px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:var(--text-inverse);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-new-conversation:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-new-conversation:disabled{opacity:.6;cursor:not-allowed}.btn-clear{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s ease}.btn-clear:hover{background:var(--bg-hover)}.conversation-area{flex:1;overflow-y:auto;margin-bottom:24px;padding:16px;min-height:400px;max-height:500px;background:linear-gradient(to bottom,transparent,rgba(var(--brand-rgb),.02));border-radius:12px}.conversation-area::-webkit-scrollbar{width:8px}.conversation-area::-webkit-scrollbar-track{background:var(--bg-input);border-radius:4px}.conversation-area::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);border-radius:4px}.conversation-area::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#653a8f)}.welcome-message{text-align:center;padding:80px 20px;color:var(--text-secondary);animation:fadeIn .6s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{font-size:80px;display:block;margin-bottom:24px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-message h3{margin:0 0 16px;color:var(--text-primary);font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-message p{margin:12px 0;font-size:16px;line-height:1.6}.conversation-info{margin-top:20px;font-size:14px;color:var(--text-tertiary);font-style:italic}.messages{display:flex;flex-direction:column;gap:20px}.conversation-item{display:flex;flex-direction:column;gap:12px}.message-question,.message-answer{padding:18px 20px;border-radius:16px;max-width:85%;box-shadow:0 2px 8px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.message-question{align-self:flex-end;background:linear-gradient(135deg,rgba(var(--brand-rgb),.15),rgba(var(--brand-light-rgb),.15));border:1px solid rgba(var(--brand-rgb),.3);position:relative}.message-question:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(var(--brand-rgb),.05),rgba(var(--brand-light-rgb),.05));border-radius:16px;z-index:-1}.message-answer{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border-color);position:relative}.message-answer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff80,#ffffff4d);border-radius:16px;z-index:-1}.message-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--text-primary)}.message-icon{font-size:20px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgba(var(--brand-rgb),.1);border-radius:50%;padding:2px}.message-content{color:var(--text-primary);line-height:1.7;white-space:pre-wrap;word-wrap:break-word;font-size:15px}.message-content-markdown{white-space:normal}.message-content-markdown p{margin:0 0 .75em}.message-content-markdown p:last-child{margin-bottom:0}.message-content-markdown strong{font-weight:700;color:var(--text-primary)}.message-content-markdown h2,.message-content-markdown h3{font-size:1.05em;font-weight:700;margin:1em 0 .4em;color:var(--text-primary)}.message-content-markdown h2:first-child,.message-content-markdown h3:first-child{margin-top:0}.message-content-markdown ul{margin:.4em 0 .75em;padding-left:1.25em}.message-content-markdown li{margin-bottom:.25em}.message-timestamp{margin-top:8px;font-size:12px;color:var(--text-tertiary)}.loading-message{text-align:center;padding:20px;color:var(--text-secondary)}.typing-indicator{display:flex;justify-content:center;gap:4px;margin-bottom:10px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.error-message{padding:12px 16px;background:var(--error-bg);border:1px solid var(--error-color);border-radius:8px;color:var(--error-color);display:flex;align-items:center;gap:8px;margin:10px 0}.error-icon{font-size:18px}.question-form{margin-top:auto}.input-group{display:flex;gap:10px}.question-input{flex:1;padding:14px 18px;border:2px solid var(--border-color);border-radius:12px;font-size:16px;background:var(--bg-input);color:var(--text-primary);transition:all .3s ease}.question-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.15);transform:translateY(-1px)}.question-input:disabled{opacity:.6;cursor:not-allowed}.btn-submit{padding:14px 28px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-light) 100%);color:var(--text-inverse);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 4px 12px rgba(var(--brand-rgb),.3);position:relative;overflow:hidden}.btn-submit:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--brand-rgb),.4)}.btn-submit:hover:not(:disabled):before{width:300px;height:300px}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.suggestions-section{background:var(--bg-card);border-radius:20px;padding:28px;box-shadow:0 8px 32px #00000014;border:1px solid var(--border-color);height:fit-content;position:sticky;top:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.suggestions-section h3{margin:0 0 10px;font-size:20px;color:var(--text-primary)}.suggestions-hint{margin:0 0 15px;font-size:14px;color:var(--text-tertiary)}.suggestions-list{display:flex;flex-direction:column;gap:10px}.suggestion-item{padding:14px 18px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;text-align:left;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--text-primary);font-size:14px;line-height:1.6;position:relative;overflow:hidden}.suggestion-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));transition:left .3s ease;z-index:0}.suggestion-item:hover:not(:disabled){border-color:var(--brand);transform:translate(6px);box-shadow:0 4px 12px rgba(var(--brand-rgb),.15)}.suggestion-item:hover:not(:disabled):before{left:0}.suggestion-item{position:relative;z-index:1}.suggestion-item:disabled{opacity:.6;cursor:not-allowed}.no-suggestions{color:var(--text-tertiary);font-size:14px;text-align:center;padding:20px}.conversations-list{margin-top:30px;padding-top:30px;border-top:1px solid var(--border-color)}.conversations-list h3{margin:0 0 15px;font-size:18px;color:var(--text-primary)}.conversations-items{display:flex;flex-direction:column;gap:8px}.conversation-item-sidebar{padding:12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.conversation-item-sidebar:hover{background:var(--bg-hover);border-color:var(--brand);transform:translate(4px)}.conversation-item-sidebar.active{background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),rgba(var(--brand-light-rgb),.1));border-color:var(--brand)}.conversation-item-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;padding-right:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item-date{font-size:12px;color:var(--text-tertiary)}.btn-delete-conversation{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:transparent;color:var(--text-tertiary);font-size:20px;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.btn-delete-conversation:hover{background:#dc35451a;color:#dc3545}@media(max-width:1024px){.virtual-nanny-container{grid-template-columns:1fr}.suggestions-section{position:static}}@media(max-width:768px){.virtual-nanny-header{margin-top:0!important;padding:16px}.virtual-nanny-header h1{font-size:24px}.virtual-nanny-container{gap:16px}.chat-section{min-height:500px;padding:20px;border-radius:16px}.chat-header{margin-bottom:20px;padding-bottom:16px}.chat-header h2{font-size:22px}.conversation-area{max-height:400px;padding:12px}.message-question,.message-answer{max-width:95%;padding:14px 16px}.suggestions-section{padding:20px;border-radius:16px}.suggestion-item{padding:12px 14px;font-size:13px}.question-input{padding:12px 16px;font-size:15px}.btn-submit{padding:12px 20px;font-size:15px}}.app-footer{margin-top:auto;padding:20px 0;background:var(--surface-card);border-top:1px solid var(--border-color);position:relative;z-index:1}.footer-container{max-width:var(--layout-max);width:100%;min-width:0;margin:0 auto;padding:0 max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right));box-sizing:border-box}.footer-content{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:14px;transition:color .2s ease}.footer-link:hover{color:var(--text-primary);text-decoration:underline}.footer-separator{color:var(--text-secondary);font-size:14px}.footer-copyright{text-align:center}.footer-copyright p{margin:0;color:var(--text-secondary);font-size:13px}@media(max-width:768px){.footer-container{padding:0 max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.footer-content{gap:10px}.footer-link{font-size:13px}.footer-copyright p{font-size:12px}}:root{--brand: #6C63FF;--brand-light: #9D97FF;--brand-dark: #4A42DB;--brand-rgb: 108, 99, 255;--brand-light-rgb: 157, 151, 255;--primary-gradient: linear-gradient(135deg, #6C63FF 0%, #9D97FF 100%);--primary-color: #6C63FF;--primary-color-dark: #4A42DB;--secondary-color: #9D97FF;--surface-light: #F6F7FB;--surface-white: #FFFFFF;--surface-card: #FFFFFF;--surface-muted: #ECEFF6;--text-primary: #1A1D2E;--text-secondary: #4E5366;--text-tertiary: #6E7487;--text-muted: #6E7487;--text-inverse: #FFFFFF;--bg-primary: #F6F7FB;--bg-secondary: #ECEFF6;--bg-tertiary: #E2E8F0;--bg-card: #FFFFFF;--bg-card-hover: #FFFFFF;--bg-input: rgba(255, 255, 255, .9);--border-color: #CDD2DF;--shadow-color: rgba(108, 99, 255, .12);--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--radius-xl: 20px;--radius-xxl: 24px;--radius-pill: 999px;--layout-max: 1200px;--layout-content-max: 1000px;--layout-padding: 24px;--layout-padding-mobile: 16px;--layout-padding-sm: 12px;--navbar-height: 64px;--navbar-height-mobile: 60px;--bp-tablet: 768px;--bp-mobile: 480px;--feeding: #4A90D9;--breastfeeding: #E87CA0;--pumping: #8B6FC0;--sleep: #5B9BD5;--solid-food: #66BB6A;--weight: #EF7C8E;--milestone: #FFA726;--appointment: #26A69A;--shopping: #5C6BC0;--success-color: #4CAF50;--success-bg: rgba(76, 175, 80, .1);--error-color: #EF5350;--error-bg: rgba(239, 83, 80, .1);--warning-color: #FFA726;--warning-bg: rgba(255, 167, 38, .1);--info-color: #42A5F5;--info-bg: rgba(66, 165, 245, .1)}@media(prefers-color-scheme:dark){:root{--surface-light: #121218;--surface-card: #1E1E2A;--surface-muted: #2A2A3A;--surface-dark: #121218;--surface-dark-card: #1E1E2A;--surface-dark-muted: #2A2A3A;--text-primary: #EBEDF5;--text-secondary: #B0B5C5;--text-tertiary: #8B91A3;--text-muted: #8B91A3;--text-inverse: #1A1D2E;--bg-primary: #121218;--bg-secondary: #1E1E2A;--bg-tertiary: #2A2A3A;--bg-card: #1E1E2A;--bg-card-hover: #252532;--bg-input: rgba(42, 42, 58, .8);--border-color: #3A3A4E;--shadow-color: rgba(0, 0, 0, .4);--success-color: #68d391;--success-bg: rgba(104, 211, 145, .15);--error-color: #fc8181;--error-bg: rgba(252, 129, 129, .15);--warning-color: #f6ad55;--warning-bg: rgba(246, 173, 85, .15);--info-color: #63b3ed;--info-bg: rgba(99, 179, 237, .15)}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;min-width:0;max-width:100vw;min-height:100vh;transform:none;zoom:1;overflow-x:hidden;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html{overflow-x:hidden;width:100%;min-width:0;max-width:100vw;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;transform:none;zoom:1}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;position:relative;width:100%;min-width:0;max-width:100vw;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;transform:none;zoom:1;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.card{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-l);padding:24px;margin-bottom:24px;box-shadow:0 4px 24px var(--shadow-color);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--text-primary)}.card:hover{box-shadow:0 8px 32px var(--shadow-color);transform:translateY(-2px);background:var(--bg-card-hover)}.btn{padding:14px 28px;border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:16px;font-weight:600;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #6c63ff33}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--primary-gradient);color:var(--text-inverse);position:relative}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff59;opacity:.95}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--brand);transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow-color)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:16px 20px;border:2px solid transparent;border-radius:var(--radius-pill);font-size:16px;font-family:inherit;transition:all .3s ease;background:var(--surface-muted);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px #6c63ff1f}.form-group input[type=checkbox]{width:auto;margin-right:8px}.error{color:var(--error-color);margin-top:6px;font-size:14px;font-weight:500;padding:12px 16px;background:var(--error-bg);border-radius:var(--radius-m);border:1px solid rgba(239,83,80,.3)}.success{color:var(--success-color);margin-top:6px;font-size:14px;font-weight:500;padding:12px 16px;background:var(--success-bg);border-radius:var(--radius-m);border:1px solid rgba(76,175,80,.3)}
