.dialog__backdrop{z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.2s dialogFadeIn;display:flex;position:fixed;inset:0}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dialog__card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:360px;padding:32px 24px;animation:.25s cubic-bezier(.4,0,.2,1) dialogScaleIn;box-shadow:0 20px 60px #0003}.dialog__icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.dialog__icon--success{color:#155724;background:linear-gradient(135deg,#d4edda 0%,#c3e6cb 100%)}.dialog__icon--info{color:#1a73e8;background:linear-gradient(135deg,#e8f0fe 0%,#d4e5fd 100%)}.dialog__icon--danger{color:#c53030;background:linear-gradient(135deg,#fde8e8 0%,#fbd5d5 100%)}.dialog__icon--warning{color:#92400e;background:linear-gradient(135deg,#fef3cd 0%,#fde68a 100%)}.dialog__title{color:var(--gray-800);margin-bottom:8px;font-size:18px;font-weight:700}.dialog__message{color:var(--gray-600);white-space:pre-line;margin-bottom:24px;font-size:15px;line-height:1.5}.dialog__actions{justify-content:center;gap:12px;display:flex}.dialog__btn{cursor:pointer;border:none;border-radius:12px;flex:1;min-height:46px;padding:12px 20px;font-size:15px;font-weight:600;transition:all .2s}.dialog__btn:active{transform:scale(.97)}.dialog__btn--primary{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff}.dialog__btn--cancel{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.dialog__btn--cancel:active{background:var(--gray-200)}.dialog__btn--danger{color:#fff;background:linear-gradient(135deg,#e53e3e 0%,#c53030 100%)}.dialog__btn--success{background:linear-gradient(135deg, var(--success) 0%, var(--success-dark) 100%);color:#fff}.dialog__btn--info{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff}.dialog__btn--warning{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}@media (width<=480px){.dialog__card{border-radius:20px;padding:28px 20px}.dialog__actions{flex-direction:column-reverse}}.app-shell,.app-shell__main{flex-direction:column;min-height:100vh;display:flex}.app-shell__content{flex:1;padding-top:56px}.topbar{z-index:100;background:#fff;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000014}.topbar__menu-btn{width:40px;height:40px;color:var(--gray-700);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s;display:flex}.topbar__menu-btn:active{background:var(--gray-200)}.topbar__title{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:700;overflow:hidden}.drawer-backdrop{z-index:200;opacity:0;visibility:hidden;-webkit-tap-highlight-color:transparent;background:#00000080;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.drawer-backdrop--open{opacity:1;visibility:visible}.drawer{z-index:300;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;width:280px;max-width:80vw;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.drawer--open{transform:translate(0)}.drawer__header{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);align-items:center;gap:14px;padding:24px 20px;display:flex}.drawer__avatar{color:#fff;background:#ffffff40;border:2px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.drawer__user-info{flex-direction:column;display:flex;overflow:hidden}.drawer__user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.drawer__user-phone{color:#fffc;margin-top:2px;font-size:13px}.drawer__divider{background:var(--gray-200);height:1px;margin:8px 0}.drawer__nav{margin:0;padding:8px 12px;list-style:none}.drawer__nav--bottom{margin-top:auto;padding-bottom:24px}.drawer__nav li{margin-bottom:4px}.drawer__nav-item{width:100%;color:var(--gray-700);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;padding:12px 14px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.drawer__nav-item:active{background:var(--gray-100);transform:scale(.98)}.drawer__nav-item--active{color:var(--primary);background:linear-gradient(135deg,#e96daa1a 0%,#5d53a31a 100%);font-weight:600}.drawer__nav-item--active .drawer__nav-icon{color:var(--primary)}.drawer__nav-item--logout{color:var(--danger)}.drawer__nav-item--logout:active{background:#fff5f5}.drawer__nav-icon{width:24px;height:24px;color:var(--gray-500);flex-shrink:0;justify-content:center;align-items:center;display:flex}.drawer__nav-item--active .drawer__nav-icon,.drawer__nav-item--logout .drawer__nav-icon{color:inherit}.drawer__nav-label{flex:1}.drawer__nav-badge{color:#fff;background:#dc3545;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex}.app-shell__content .dashboard-container{padding-top:12px}.app-shell__content .dashboard-container .dashboard-header{margin-bottom:0}.app-shell__content .dashboard-container .dashboard-header .header-actions{display:none}.app-shell__content .form-container{padding-top:12px}.app-shell__content .form-container .form-header,.app-shell__content .admin-container .form-header .header-actions .dropdown{display:none}.app-shell .app-footer{text-align:center;color:#ffffffb3;padding:16px;font-size:12px}@media (width>=768px){.topbar{padding:0 24px}.topbar__title{font-size:20px}.drawer{width:300px}}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.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}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui: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 li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.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{text-align:inherit;direction:rtl}.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-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;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{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.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{vertical-align:middle;display:inline-block}.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:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.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:1px}.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-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.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{z-index:1;margin-top:-1px;display:block;top:100%}.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{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.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-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.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:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;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{content:"Save";border-right:0;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}.wysiwyg-editor .ql-toolbar.ql-snow{border:none;border-bottom:1px solid var(--gray-300,#e0e0e0);background:#f8f9fa;border-radius:0;flex-wrap:wrap;gap:2px;padding:4px;display:flex}.wysiwyg-editor .ql-toolbar.ql-snow .ql-formats{gap:1px;margin-right:4px;display:flex}.wysiwyg-editor .ql-toolbar.ql-snow button{border-radius:4px;width:28px;height:28px;padding:2px}.wysiwyg-editor .ql-toolbar.ql-snow button:hover{color:var(--primary,#e96daa);background:#e96daa1f}.wysiwyg-editor .ql-toolbar.ql-snow button.ql-active{color:var(--primary,#e96daa);background:#e96daa26}.wysiwyg-editor .ql-toolbar.ql-snow button.ql-active .ql-stroke,.wysiwyg-editor .ql-toolbar.ql-snow button:hover .ql-stroke{stroke:var(--primary,#e96daa)}.wysiwyg-editor .ql-toolbar.ql-snow .ql-stroke{stroke:#5f6368}.wysiwyg-editor .ql-toolbar.ql-snow .ql-fill{fill:#5f6368}.wysiwyg-editor .ql-toolbar.ql-snow button:hover .ql-fill,.wysiwyg-editor .ql-toolbar.ql-snow button.ql-active .ql-fill{fill:var(--primary,#e96daa)}.wysiwyg-editor .ql-container.ql-snow{border:none;font-family:inherit;font-size:14px}.wysiwyg-editor .ql-editor{min-height:42px;max-height:120px;padding:10px 14px;font-size:14px;line-height:1.4;overflow-y:auto}.wysiwyg-editor .ql-editor.ql-blank:before{color:#a0aec0;font-style:normal;left:14px;right:14px}.wysiwyg-editor .ql-editor a{color:var(--primary,#e96daa)}.wysiwyg-editor .ql-editor p{margin:0}.wysiwyg-editor{border:1px solid var(--gray-300,#e0e0e0);border-radius:12px;transition:border-color .3s;overflow:hidden}.wysiwyg-editor:focus-within{border-color:var(--primary,#e96daa)}.comment-board-container{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100vh;padding:20px}.comment-board-card{background:#fff;border-radius:24px;flex-direction:column;max-width:1400px;max-height:calc(100vh - 40px);margin:0 auto;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001a}.comment-board-header{border-bottom:1px solid #e9ecef;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.comment-board-header h2{color:#333;margin:0;font-size:18px}.comment-board-photo{justify-content:center;align-items:center;max-height:400px;display:flex;position:relative;overflow:hidden}.photo-bg-blur{object-fit:cover;filter:blur(20px);opacity:.7;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(1.1)}.photo-main{object-fit:contain;z-index:1;cursor:pointer;width:100%;max-height:400px;position:relative}.comment-board-count{color:#555;border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.comment-board-list{flex:1;min-height:100px;padding:16px 20px;overflow-y:auto}.comment-loading{text-align:center;color:#6c757d;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.comment-empty{text-align:center;color:#a0aec0;padding:40px 20px}.comment-empty p{margin-top:12px;font-size:14px}.comment-item{margin-bottom:4px}.comment-item.depth-1{padding-left:24px}.comment-item.depth-2{padding-left:48px}.comment-item.depth-3{padding-left:60px}.comment-bubble{background:#f8f9fa;border-radius:12px;margin-bottom:4px;padding:10px 14px}.depth-0>.comment-bubble{background:#f8f9fa}.depth-1>.comment-bubble,.depth-2>.comment-bubble,.depth-3>.comment-bubble{background:#f0f4f8;border-left:3px solid #e96daa}.comment-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.comment-author{align-items:center;gap:8px;display:flex}.comment-avatar{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.comment-name{color:#333;font-size:13px;font-weight:600}.admin-badge{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.comment-time{color:#a0aec0;flex-shrink:0;font-size:11px}.comment-body{color:#333;word-break:break-word;margin-left:36px;font-size:14px;line-height:1.5}.comment-body p{margin:0}.comment-body a{color:#e96daa}.comment-body b,.comment-body strong{font-weight:700}.comment-body i,.comment-body em{font-style:italic}.comment-body u{text-decoration:underline}.comment-body.deleted p{color:#a0aec0;font-style:italic}.comment-attachment{cursor:pointer;border:1px solid #e9ecef;border-radius:8px;max-width:200px;margin-top:8px;transition:all .3s;overflow:hidden}.comment-attachment:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000001a}.comment-attachment img{width:100%;height:auto;display:block}.comment-actions{gap:12px;margin-top:6px;margin-left:36px;display:flex}.action-reply,.action-delete{cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;transition:all .2s;display:inline-flex}.action-reply{color:#6c757d}.action-reply:hover{color:#e96daa;background:#e96daa1a}.action-delete{color:#a0aec0}.action-delete:hover{color:#dc3545;background:#dc35451a}.comment-replies{margin-top:2px}.comment-board-form{background:#fff;border-top:1px solid #e9ecef;padding:12px 16px}.reply-indicator{color:#5d53a3;background:#eef2ff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;font-size:12px;display:flex}.reply-cancel{cursor:pointer;color:#6c757d;background:0 0;border:none;align-items:center;padding:2px;display:flex}.reply-cancel:hover{color:#333}.attachment-preview{margin-bottom:8px;display:inline-block;position:relative}.attachment-preview img{object-fit:cover;border:1px solid #e9ecef;border-radius:8px;width:80px;height:80px}.attachment-remove{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex;position:absolute;top:-6px;right:-6px}.attachment-remove:hover{transform:scale(1.1)}.comment-error{color:#dc3545;background:#fff5f5;border-radius:8px;margin-bottom:8px;padding:8px 12px;font-size:12px}.comment-form{align-items:flex-end;gap:8px;display:flex}.comment-form .wysiwyg-editor{flex:1;min-width:0}.comment-attach-btn{cursor:pointer;color:#6c757d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:2px;transition:all .2s;display:flex}.comment-attach-btn:hover{color:#e96daa;background:#f0f0f0}.comment-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:2px;transition:all .2s;display:flex}.comment-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #e96daa66}.comment-send-btn:disabled{opacity:.4;cursor:not-allowed}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@media (width<=768px){.comment-board-container{padding:0}.comment-board-card{border-radius:0;height:100vh;max-height:100vh}.comment-board-header{padding:12px 16px}.comment-board-header h2{font-size:16px}.comment-board-photo,.photo-main{max-height:300px}.comment-privacy-hint{color:#c0c5cc;margin-top:4px;font-size:11px}.comment-board-list{padding:12px 16px}.comment-item.depth-1{padding-left:16px}.comment-item.depth-2{padding-left:32px}.comment-item.depth-3{padding-left:40px}.comment-body,.comment-actions{margin-left:0}.comment-board-form{padding:10px 12px}}.progress-percentage{text-align:center;color:#fff;opacity:.9;margin-top:8px;font-size:13px;font-weight:700;display:block}.completion-message{text-align:center;background:#fff3;border-radius:12px;margin-top:16px;padding:12px;font-weight:600}.upload-progress{background:#e9ecef;border-radius:10px;height:8px;margin:16px 0;position:relative;overflow:hidden}.upload-progress-bar{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:10px;height:100%;transition:width .3s}.upload-progress-text{color:#6c757d;font-size:11px;position:absolute;top:-20px;right:0}.fitness-wrapper{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100vh;padding:40px 20px}.fitness-container{max-width:1400px;margin:0 auto}.fitness-back-button{margin:0 auto 20px;padding:0 20px;max-width:1400px!important}.back-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .3s;display:inline-flex}.back-btn:hover{background:#ffffff4d;transform:translate(-4px)}.fitness-hero{text-align:center;color:#fff;margin-bottom:40px}.fitness-hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:1px;background:#fff3;border-radius:50px;margin-bottom:20px;padding:6px 16px;font-size:12px;font-weight:600;display:inline-block}.fitness-hero-title{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;font-size:42px;font-weight:800;display:flex}.fitness-hero-icon{justify-content:center;align-items:center;display:flex}.fitness-hero-icon svg{width:48px;height:48px}.fitness-hero-subtitle{opacity:.95;margin-bottom:20px;font-size:18px}.fitness-hero-target{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:50px;align-items:center;gap:8px;padding:10px 24px;font-weight:600;display:inline-flex}.target-icon{align-items:center;display:flex}.target-icon svg{width:18px;height:18px}.fitness-nav{background:#fff;border-radius:16px;margin-bottom:30px;padding:6px;display:flex;box-shadow:0 4px 20px #0000001a}.fitness-nav-item{color:#6c757d;cursor:pointer;background:0 0;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .3s;display:flex}.fitness-nav-item .nav-icon{align-items:center;display:flex}.fitness-nav-item .nav-icon svg{width:20px;height:20px}.fitness-nav-item:hover:not(:disabled){color:#e96daa;background:#f8f9fa}.fitness-nav-item.active{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);box-shadow:0 4px 12px #667eea4d}.fitness-nav-item:disabled{opacity:.5;cursor:not-allowed}.fitness-content-area{background:#fff;border-radius:24px;padding:32px;box-shadow:0 20px 40px #0000001a}.fitness-form-card,.submit-record-card,.records-card,.leaderboard-card{animation:.3s fadeIn}.form-card-header{text-align:center;margin-bottom:32px}.form-card-header h2{color:#333;margin-bottom:8px;font-size:28px}.form-card-header p{color:#6c757d}.card-header{border-bottom:2px solid #f0f0f0;margin-bottom:24px;padding-bottom:16px}.card-header h3{color:#333;margin-bottom:4px;font-size:20px}.card-header p{color:#6c757d;font-size:14px}.text-center{text-align:center}.fitness-form{width:100%}.form-control{border:2px solid #e9ecef;border-radius:12px;width:100%;padding:12px 16px;font-family:inherit;font-size:15px;transition:all .3s}.form-control:focus{border-color:#e96daa;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-control.textarea{resize:vertical}.form-checkbox{margin-bottom:24px}.checkbox-container{cursor:pointer;align-items:center;gap:12px;padding-left:0;display:flex;position:relative}.checkbox-container input{cursor:pointer;width:20px;height:20px}.checkbox-text{color:#333;font-size:14px}.form-helper{color:#6c757d;margin-top:6px;margin-left:32px;font-size:12px;display:block}.quick-add-section{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:12px}.quick-add-section label{color:#6c757d;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.quick-add-buttons{flex-wrap:wrap;gap:8px;display:flex}.quick-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border:none;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .3s}.quick-add-btn:hover{transform:scale(1.05);box-shadow:0 4px 10px #667eea4d}.file-upload-area{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-input{opacity:0;width:.1px;height:.1px;position:absolute}.file-upload-btn{color:#e96daa;cursor:pointer;background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .3s;display:inline-flex}.file-upload-btn:hover{color:#fff;background:#e96daa;border-color:#e96daa}.file-name{color:#28a745;background:#e8f5e9;border-radius:8px;padding:6px 12px;font-size:13px}.fitness-progress-card{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:20px;margin-bottom:30px;padding:24px}.fitness-progress-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.progress-title{align-items:center;gap:12px;display:flex}.progress-icon{align-items:center;display:flex}.progress-icon svg{width:28px;height:28px}.progress-title h3{color:#fff;margin:0;font-size:18px}.progress-stats{font-size:24px;font-weight:700}.stats-current{font-size:32px;font-weight:700}.stats-separator{opacity:.7;margin:0 4px}.stats-target{opacity:.8;font-size:20px}.alert{border-radius:12px;margin-bottom:20px;padding:14px 18px;font-size:14px}.alert-error{color:#721c24;background:#f8d7da;border-left:4px solid #dc3545}.alert-success{color:#155724;background:#d4edda;border-left:4px solid #28a745}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-block{width:100%}.table-responsive{overflow-x:auto}.records-table,.leaderboard-table{border-collapse:collapse;width:100%}.records-table th,.leaderboard-table th{text-align:left;color:#555;background:#f8f9fa;padding:14px 12px;font-size:14px;font-weight:600}.records-table td,.leaderboard-table td{border-bottom:1px solid #f0f0f0;padding:14px 12px}.distance-cell{color:#e96daa;font-size:16px;font-weight:700}.unit{color:#6c757d;font-size:12px;font-weight:400}.status-badge.pending{color:#f57c00;background:#fff3e0}.status-badge.verified{color:#388e3c;background:#e8f5e9}.status-badge.rejected{color:#d32f2f;background:#ffebee}.leaderboard-icon{justify-content:center;align-items:center;margin-bottom:12px;display:flex}.leaderboard-icon svg{width:48px;height:48px}.rank-cell{text-align:center}.medal{justify-content:center;align-items:center;display:inline-flex}.medal svg{width:28px;height:28px}.rank-number{color:#6c757d;background:#f8f9fa;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:inline-flex}.participant-name{color:#333;font-weight:600}.rank-1{background:linear-gradient(90deg,#fff8e1,#fff)}.rank-2{background:linear-gradient(90deg,#f3e5f5,#fff)}.rank-3{background:linear-gradient(90deg,#e3f2fd,#fff)}.empty-state{text-align:center;background:#f8f9fa;border-radius:16px;padding:60px 20px}.empty-icon{justify-content:center;align-items:center;margin-bottom:16px;display:flex}.empty-icon svg{width:64px;height:64px}.loading-container{text-align:center;color:#fff;padding:60px 20px}.spinner-large{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-panel{padding:0}.admin-header{margin-bottom:30px}.admin-header-top{border-bottom:2px solid #e9ecef;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;display:flex}.admin-header-top h2{color:#333;border-bottom:none;flex:1;margin-bottom:0;padding-bottom:0;font-size:24px}.admin-header h2{color:#333;font-size:24px}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card-mini{color:#fff;text-align:center;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:16px;padding:20px;transition:transform .3s,box-shadow .3s}.stat-card-mini:hover{transform:translateY(-3px);box-shadow:0 10px 25px #00000026}.stat-card-mini .stat-value{margin-bottom:8px;font-size:32px;font-weight:700}.stat-card-mini .stat-label{opacity:.9;font-size:13px}.admin-filters{background:#f8f9fa;border-radius:16px;flex-wrap:wrap;gap:12px;margin-bottom:25px;padding:20px;display:flex}.admin-search{border:2px solid #e9ecef;border-radius:12px;flex:1;min-width:200px;padding:12px 16px;font-size:14px;transition:all .3s}.admin-search:focus{border-color:#e96daa;outline:none;box-shadow:0 0 0 3px #667eea1a}.admin-status-filter{cursor:pointer;background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:12px 16px;font-size:14px}.btn-secondary{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:12px;padding:12px 24px;font-weight:600;transition:all .3s}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.btn-reset-challenge{color:#fff;cursor:pointer;white-space:nowrap;background:#dc3545;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex}.btn-reset-challenge:hover{background:#c82333;transform:translateY(-1px)}.reset-warning{color:#dc3545;margin-bottom:16px;font-size:13px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.btn-reset-confirm{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .3s}.btn-reset-confirm:hover:not(:disabled){background:#c82333}.btn-reset-confirm:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.admin-header-top{flex-direction:column;align-items:stretch}.btn-reset-challenge{align-self:flex-end;padding:8px 16px;font-size:13px}}.admin-table-wrapper{background:#fff;border:1px solid #e9ecef;border-radius:16px;overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:#495057;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:16px;font-size:13px;font-weight:600}.admin-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:16px}.admin-table tbody tr:hover{background:#f8f9fa}.admin-table .distance-cell{color:#e96daa;font-weight:700}.challenge-status{border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}.challenge-status.completed{color:#155724;background:#d4edda}.challenge-status.active{color:#1976d2;background:#e3f2fd}.challenge-status.registered{color:#f57c00;background:#fff3e0}.btn-view{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border:none;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .3s}.btn-view:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:90%;max-width:1100px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-content.large{max-width:1100px}.modal-content.small{max-width:450px}.modal-header{z-index:10;background:#f8f9fa;border-bottom:2px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.modal-header h2{color:#333;margin:0;font-size:20px}.modal-close{cursor:pointer;color:#6c757d;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .3s;display:flex}.modal-close:hover{color:#333;background:#e9ecef}.participant-info{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:20px;display:grid}.participant-info p{margin:0;font-size:14px}.participant-info strong{opacity:.9;margin-right:8px}.admin-records-table{border-collapse:collapse;width:100%;margin-top:16px}.admin-records-table th{text-align:left;color:#495057;background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:12px;font-size:13px;font-weight:600}.admin-records-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:12px}.record-files-gallery{flex-wrap:wrap;gap:8px;display:flex}.file-thumbnail-mini{cursor:pointer;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s;display:flex;overflow:hidden}.file-thumbnail-mini:hover{border-color:#e96daa;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.file-thumbnail-mini img{object-fit:cover;width:100%;height:100%}.file-thumbnail-mini .file-icon-small{font-size:28px}.more-files-badge{color:#6c757d;cursor:pointer;background:#e9ecef;border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;font-size:12px;font-weight:600;transition:all .3s;display:flex}.more-files-badge:hover{background:#dee2e6;transform:scale(1.05)}.action-buttons{gap:8px;display:flex}.btn-verify{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .3s}.btn-verify:hover{background:#218838;transform:translateY(-1px)}.btn-reject{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .3s}.btn-reject:hover{background:#c82333;transform:translateY(-1px)}.btn-view-file{color:#fff;cursor:pointer;background:#17a2b8;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .3s}.btn-view-file:hover{background:#138496;transform:translateY(-1px)}.btn-page{cursor:pointer;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:8px 20px;font-weight:600;transition:all .3s}.btn-page:hover:not(:disabled){color:#fff;background:#e96daa;border-color:#e96daa}.page-info{color:#6c757d;font-size:14px}.file-thumbnails-grid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin-top:16px;display:grid}.file-thumbnail-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:8px;transition:all .3s;position:relative}.file-thumbnail-item:hover{border-color:#e96daa;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.file-thumbnail-preview{cursor:pointer;background:#f8f9fa;border-radius:6px;justify-content:center;align-items:center;width:100%;height:80px;display:flex;overflow:hidden}.thumbnail-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.thumbnail-img:hover{transform:scale(1.05)}.file-icon-placeholder{background:linear-gradient(135deg,#e9ecef 0%,#dee2e6 100%);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;display:flex}.file-icon-placeholder.pdf{background:linear-gradient(135deg,#ffebee 0%,#ffcdd2 100%)}.file-icon-placeholder.gpx{background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%)}.file-emoji{justify-content:center;align-items:center;display:flex}.file-emoji svg{width:32px;height:32px}.file-ext{color:#6c757d;background:#fffc;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.file-info{flex-direction:column;gap:2px;margin-top:6px;display:flex}.file-name{color:#333;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:10px;font-weight:500;overflow:hidden}.file-size{color:#6c757d;text-align:center;font-size:9px}.remove-file-btn{color:#fff;cursor:pointer;z-index:10;background:#dc3545e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;transition:all .3s;display:flex;position:absolute;top:4px;right:4px}.remove-file-btn:hover{background:#dc3545;transform:scale(1.1)}.selected-count-badge{color:#2e7d32;background:#e8f5e9;border-radius:20px;margin-top:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}@media (width<=768px){.fitness-wrapper{padding:20px 12px}.fitness-hero-title{flex-direction:column;gap:8px;font-size:28px}.fitness-hero-icon svg{width:36px;height:36px}.fitness-hero-subtitle{font-size:14px}.fitness-nav{box-shadow:none;background:0 0;flex-direction:column;gap:8px}.fitness-nav-item{background:#fff;padding:12px}.fitness-content-area{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.fitness-progress-card-header{text-align:center;flex-direction:column}.progress-stats{font-size:20px}.stats-current{font-size:28px}.stats-target{font-size:18px}.admin-table thead,.records-table thead,.leaderboard-table thead,.admin-records-table thead{display:none}.admin-table tbody,.admin-table tr,.admin-table td,.records-table tbody,.records-table tr,.records-table td,.leaderboard-table tbody,.leaderboard-table tr,.leaderboard-table td,.admin-records-table tbody,.admin-records-table tr,.admin-records-table td{display:block}.admin-table tr,.records-table tr,.leaderboard-table tr,.admin-records-table tr{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-bottom:14px;padding:10px;box-shadow:0 2px 8px #00000014}.admin-table td,.records-table td,.leaderboard-table td,.admin-records-table td{text-align:right;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.admin-table td:last-child,.records-table td:last-child,.leaderboard-table td:last-child,.admin-records-table td:last-child{border-bottom:none;justify-content:flex-end}.admin-table td:before,.records-table td:before,.leaderboard-table td:before,.admin-records-table td:before{content:attr(data-label);color:#555;text-align:left;flex-shrink:0;font-size:12px;font-weight:600}.form-card-header h2{font-size:22px}.stats-cards{grid-template-columns:repeat(2,1fr);gap:12px}.admin-filters{flex-direction:column}.participant-info{grid-template-columns:1fr}.modal-header h2{font-size:18px}.modal-body{padding:16px}.file-thumbnails-grid{grid-template-columns:repeat(3,1fr);gap:8px}.file-thumbnail-preview{height:70px}.file-emoji svg{width:28px;height:28px}.file-name{font-size:9px}.file-size{font-size:8px}}@media (width<=480px){.stats-cards{grid-template-columns:1fr}.btn-view{padding:4px 8px;font-size:10px}.file-thumbnails-grid{grid-template-columns:repeat(2,1fr);gap:8px}.file-thumbnail-preview{height:70px}.file-emoji svg{width:28px;height:28px}}.record-files-list,.file-buttons{flex-wrap:wrap;gap:8px;display:flex}.file-view-btn{cursor:pointer;background:#e9ecef;border:1px solid #dee2e6;border-radius:6px;padding:4px 10px;font-size:11px;transition:all .3s}.file-view-btn:hover{color:#fff;background:#e96daa;border-color:#e96daa}.btn-delete-record{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px;font-size:12px;font-weight:600;transition:all .3s;display:inline-flex}.btn-delete-record:hover{color:#dc3545}.usummary-header{flex-wrap:wrap;align-items:center;gap:10px;padding:0 0 16px;display:flex}.usummary-back{background:var(--gray-200);color:var(--gray-700);cursor:pointer;border:none;border-radius:8px;align-items:center;padding:6px 10px;display:flex}.usummary-back:hover{background:var(--gray-300)}.usummary-title-group{flex:1}.usummary-title{color:var(--gray-800);margin:0 0 2px;font-size:18px}.usummary-phone{color:var(--gray-500);font-size:13px}.usummary-card{background:var(--gray-100);border-radius:16px;margin-bottom:20px;padding:20px}.usummary-loading,.usummary-empty,.usummary-error{text-align:center;color:var(--gray-500);padding:32px 16px;font-size:14px}.weight-section{margin-bottom:20px}.weight-section-header{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}.weight-section-header h3{color:var(--gray-700);margin:0;font-size:15px}.chart-metric-select{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;appearance:auto;background:#fff;border-radius:8px;outline:none;padding:6px 12px;font-family:inherit;font-size:13px}.chart-metric-select:focus{border-color:var(--primary)}.weight-chart-wrapper{width:100%;overflow-x:auto}.weight-chart-tooltip{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:8px 12px;box-shadow:0 2px 8px #0000001a}.weight-chart-tooltip-label{color:#999;margin-bottom:2px;font-size:12px}.weight-chart-tooltip-value{color:var(--primary);font-size:14px;font-weight:600}.weight-chart-empty{text-align:center;color:var(--gray-400);padding:24px;font-size:13px}.progress-cards{flex-direction:column;gap:10px;display:flex}.usummary-tabs{background:var(--gray-200);z-index:5;border-radius:14px;gap:4px;margin-bottom:20px;padding:4px;display:flex;position:sticky;top:8px}.usummary-tab{color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 8px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.usummary-tab--active{color:var(--primary);background:#fff;box-shadow:0 2px 8px #0000001a}.usummary-tab-content{min-height:200px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.gallery-item{aspect-ratio:1;background:var(--gray-200);border-radius:12px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.gallery-category{color:#fff;text-transform:capitalize;background:#0000008c;border-radius:6px;padding:2px 8px;font-size:10px;position:absolute;bottom:6px;left:6px}.sentinel{height:1px}@media (width>=480px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}.usummary-tabs{max-width:480px;margin-left:auto;margin-right:auto}}.nama-cell{padding:0!important}.nama-link{color:var(--primary);cursor:pointer;font-weight:600;font-size:inherit;text-align:left;text-underline-offset:3px;background:0 0;border:none;width:100%;padding:12px;font-family:inherit;text-decoration:underline;display:block}.nama-link:hover{color:var(--primary-dark)}:root{--primary:#e96daa;--primary-dark:#e34995;--secondary:#5d53a3;--success:#11998e;--success-dark:#0d7a6e;--danger:#e53e3e;--warning:#ed8936;--gray-100:#f7fafc;--gray-200:#edf2f7;--gray-300:#e2e8f0;--gray-400:#cbd5e0;--gray-500:#a0aec0;--gray-600:#718096;--gray-700:#4a5568;--gray-800:#2d3748;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a}body{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}input[readOnly]{cursor:not-allowed;opacity:.8;background-color:#f5f5f5}.form-group input[readOnly]{color:#6c757d;background-color:#f8f9fa;border-color:#dee2e6}.form-group input[readOnly]:hover{border-color:#dee2e6}.form-group input[readOnly]:focus{box-shadow:none;border-color:#dee2e6;outline:none}.auto-populate-hint{color:#2e7d32;background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.hint-icon{font-size:18px}.login-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{width:100%;max-width:450px;box-shadow:var(--shadow-xl);background:#fff;border-radius:24px;padding:32px 24px;animation:.5s slideUp}button,.btn-primary,.btn-secondary,.btn-submit,.file-label,.confidence-card,.logout-btn,.remove-btn{cursor:pointer;-webkit-tap-highlight-color:transparent}button:active,.btn-primary:active,.btn-secondary:active,.btn-submit:active{transform:scale(.98)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logo{text-align:center;margin-bottom:20px}.logo-icon{font-size:48px}.login-card h1{color:var(--gray-800);text-align:center;margin-bottom:10px;font-size:24px}.subtitle{color:var(--gray-600);text-align:center;margin-bottom:28px;font-size:14px}.form-container{max-width:1400px;min-height:100vh;margin:0 auto;padding:12px}.form-card{box-shadow:var(--shadow-xl);background:#fff;border-radius:24px;padding:24px 20px;animation:.5s slideUp}.form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.form-header h1{color:var(--gray-800);margin:0;font-size:22px}.logout-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;transition:all .3s}.logout-btn:active{background:#fff5f5}.section-title{margin:28px 0 16px}.section-title h2{color:var(--gray-700);border-left:4px solid var(--primary);padding-left:12px;font-size:18px}.form-group{margin-bottom:20px}.form-row{grid-template-columns:1fr;gap:0;margin-bottom:0;display:grid}@media (width>=768px){.form-row{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px}.form-container{padding:20px}.form-card{padding:40px}.form-header h1{font-size:28px}.section-title h2{font-size:20px}.login-card h1{font-size:28px}}.form-group label{color:var(--gray-700);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.required{color:var(--danger)}.form-group input,.form-group select,.form-group textarea{border:2px solid var(--gray-300);appearance:none;background:#fff;border-radius:12px;width:100%;padding:14px 16px;font-size:16px;transition:all .3s}@media (width<=768px){.form-group input,.form-group select,.form-group textarea{font-size:16px}}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #667eea1a}.phone-input-wrapper{gap:8px;display:flex}.country-code{background:var(--gray-100);border:2px solid var(--gray-300);color:var(--gray-700);border-radius:12px;padding:12px 16px;font-weight:600}.phone-input-wrapper input{flex:1}.file-upload-group{background:var(--gray-100);border:2px dashed var(--gray-300);border-radius:16px;margin-bottom:20px;padding:16px;transition:all .3s}.file-upload-group:active{background:#fff}.file-upload-group label{color:var(--gray-700);margin-bottom:12px;font-size:14px;font-weight:600;display:block}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{opacity:0;width:.1px;height:.1px;position:absolute}.file-label{border:2px solid var(--primary);color:var(--primary);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.file-label:active{background:var(--primary);color:#fff}.image-preview{margin-top:12px;display:inline-block;position:relative}.preview-thumb{object-fit:cover;border:2px solid var(--gray-300);border-radius:12px;width:80px;height:80px}@media (width>=768px){.preview-thumb{width:100px;height:100px}}.remove-btn{background:var(--danger);color:#fff;cursor:pointer;width:28px;height:28px;box-shadow:var(--shadow-sm);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:-8px;right:-8px}.remove-btn:active{transform:scale(.95)}.progress-bar{background:var(--gray-200);border-radius:10px;height:30px;margin-top:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--success), var(--success-dark));color:#fff;text-align:center;font-size:12px;font-weight:600;line-height:30px;transition:width .3s}.confidence-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}@media (width>=480px){.confidence-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){.confidence-grid{grid-template-columns:repeat(5,1fr)}}.confidence-card{background:var(--gray-100);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:14px 8px;transition:all .3s;display:flex}.confidence-card:active{background:#eef2ff;transform:scale(.97)}.confidence-card input[type=radio]{display:none}.confidence-card:has(input[type=radio]:checked){border:2px solid var(--primary);background:#eef2ff}.confidence-emoji{margin-bottom:6px;font-size:28px}@media (width>=768px){.confidence-emoji{margin-bottom:8px;font-size:32px}}.confidence-label{color:var(--gray-600);font-size:11px}@media (width>=768px){.confidence-label{font-size:12px}}.btn-primary,.btn-secondary,.btn-submit{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}@media (width<=768px){.btn-primary,.btn-secondary,.btn-submit{min-height:52px;padding:16px}}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-md);transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--gray-500);color:#fff}.btn-secondary:active{transform:scale(.98)}.admin-container .search-bar .btn-secondary{margin-bottom:20px}.btn-submit{background:linear-gradient(135deg, var(--success) 0%, var(--success-dark) 100%);color:#fff;margin-top:32px;padding:16px;font-size:18px}.btn-submit:active:not(:disabled){transform:scale(.98)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}.error-message{color:var(--danger);border-left:4px solid var(--danger);background:#fff5f5;border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:14px}.countdown{text-align:center;color:var(--gray-600);margin-top:16px;font-size:14px}@media (width<=768px){input[type=file]{font-size:14px}.form-container{-webkit-overflow-scrolling:touch;overflow-y:auto}.form-group input,.form-group select{padding:12px 14px}input[type=file][capture]{cursor:pointer}input[type=file][capture]::file-selector-button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:600}}.loading-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pull-to-refresh{text-align:center;color:var(--gray-500);padding:16px;font-size:12px}@supports (padding:max(0px)){.form-container{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-bottom:max(12px, env(safe-area-inset-bottom))}.login-container{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(16px, env(safe-area-inset-bottom))}}.admin-container{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100vh;padding:20px}.admin-container .form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-container .form-header h1{flex:1;margin:0;font-size:24px}@media (width<=768px){.admin-container .form-header{flex-direction:row;justify-content:space-between}.admin-container .form-header h1{font-size:18px}}.admin-card{max-width:1400px;box-shadow:var(--shadow-xl);background:#fff;border-radius:24px;margin:0 auto;padding:30px}.filters-section{background:var(--gray-100);border-radius:16px;margin-bottom:30px;padding:20px}.filters-section h3{color:var(--gray-800);margin-bottom:15px}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;display:grid}.filter-actions{gap:10px;display:flex}.journals-table-wrapper{overflow-x:auto}.journals-table{border-collapse:collapse;width:100%;font-size:14px}.journals-table th,.journals-table td{text-align:left;border-bottom:1px solid var(--gray-300);padding:12px}.journals-table th{background:var(--gray-100);color:var(--gray-800);font-weight:600}.journals-table tr:hover{background:var(--gray-100)}.confidence-badge{color:var(--primary);background:#eef2ff;border-radius:20px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.btn-view{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:12px}.btn-view:hover{background:var(--primary-dark)}.btn-admin{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.btn-admin:hover{background:#d97706}.pagination{border-top:1px solid var(--gray-300);justify-content:center;align-items:center;gap:15px;margin-top:20px;padding-top:20px;display:flex}.btn-page{background:var(--gray-200);cursor:pointer;border:none;border-radius:8px;padding:8px 16px}.btn-page:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--gray-700)}.table-selector-wrapper{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-selector-label{color:var(--gray-700);white-space:nowrap;font-size:14px;font-weight:600}.table-selector{border:1px solid var(--gray-300);color:var(--gray-800);cursor:pointer;appearance:auto;background:#fff;border-radius:8px;min-width:260px;padding:10px 14px;font-family:inherit;font-size:14px}.table-selector:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #e96daa33}.sort-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}.sort-header:hover{color:var(--primary)}.sort-arrow{color:var(--primary);font-size:11px}.sort-arrow--inactive{opacity:.25;color:var(--gray-500)}.status-badge{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge--aktif{color:#0d7a3e;background:#e6f7ee}.status-badge--berisiko{color:#b85c00;background:#fff8e6}.status-badge--tidak-aktif{color:#b91c1c;background:#fde8e8}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--gray-300);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--gray-800);margin:0}.modal-close{cursor:pointer;color:var(--gray-600);background:0 0;border:none;font-size:24px}.modal-body{padding:24px}.journal-details{flex-direction:column;gap:24px;display:flex}.details-section h3{color:var(--primary);border-left:3px solid var(--primary);margin-bottom:15px;padding-left:12px}.details-section p{margin:8px 0;line-height:1.6}.food-images-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:15px;display:grid}.food-image-item{cursor:pointer;text-align:center;transition:transform .2s}.food-image-item:hover{transform:scale(1.05)}.food-image-item img{object-fit:cover;border:2px solid var(--gray-300);border-radius:12px;width:100%;height:150px}.food-image-item span{color:var(--gray-700);margin-top:8px;font-size:12px;display:block}.image-viewer{background:#000000f2;border-radius:16px;max-width:90vw;max-height:90vh}.image-viewer-header{color:#fff;border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.image-viewer-header h3{margin:0}.full-image{object-fit:contain;max-width:90vw;max-height:calc(90vh - 60px)}.loading-spinner{text-align:center;color:var(--gray-600);padding:40px}@media (width<=768px){.filters-grid{grid-template-columns:1fr}.journals-table thead{display:none}.journals-table tbody,.journals-table tr,.journals-table td{display:block}.journals-table tr{border:1px solid var(--gray-300);background:#fff;border-radius:12px;margin-bottom:16px;padding:12px;box-shadow:0 2px 8px #00000014}.journals-table td{border-bottom:1px solid var(--gray-200);text-align:right;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.journals-table td:last-child{border-bottom:none;justify-content:flex-end}.journals-table td:before{content:attr(data-label);color:var(--gray-600);text-align:left;flex-shrink:0;font-size:12px;font-weight:600}.modal-content{width:95%}.food-images-grid{grid-template-columns:repeat(2,1fr)}}.status-badge{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-submitted{color:#1976d2;background:#e3f2fd}.status-approved{color:#388e3c;background:#e8f5e9}.status-rejected{color:#d32f2f;background:#ffebee}.status-draft{color:#f57c00;background:#fff3e0}.empty-state{text-align:center;padding:60px 20px}.empty-state p{color:var(--gray-600);margin-bottom:20px;font-size:16px}.tab-navigation{border-bottom:2px solid var(--gray-200);gap:10px;margin-bottom:20px;display:flex}.tab-button{cursor:pointer;color:var(--gray-600);background:0 0;border:none;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s}.tab-button.active{color:var(--primary);border-bottom:2px solid var(--primary);margin-bottom:-2px}.tab-button:hover{color:var(--primary)}.progress-dashboard{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:20px;margin-bottom:24px;padding:20px}.progress-dashboard h3{margin-bottom:16px;font-size:16px;font-weight:600}.progress-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.progress-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#ffffff26;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;transition:transform .2s;display:flex}.progress-card:hover{background:#ffffff38;transform:translateY(-2px)}.progress-label{opacity:.85;font-size:11px;font-weight:500}.progress-current{font-size:20px;font-weight:700}.progress-delta{background:#ffffff26;border-radius:20px;padding:2px 8px;font-size:13px;font-weight:600}.progress-card.good .progress-delta{background:#48c78e59}.progress-card.bad .progress-delta{background:#f54e4459}.progress-from{opacity:.7;margin-top:2px;font-size:10px}@media (width<=480px){.progress-cards{grid-template-columns:repeat(1,1fr);gap:6px}.progress-card{padding:10px 6px}.progress-label{font-size:10px}.progress-current{font-size:16px}.progress-delta{padding:1px 6px;font-size:11px}.progress-from{font-size:9px}}.dropdown-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:16px;font-weight:600;transition:all .3s}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--gray-700);background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-size:14px;transition:all .2s;display:flex}.dropdown-item:hover{background:var(--gray-100)}.dropdown-item.active{color:var(--primary);background:#eef2ff;font-weight:600}.dropdown-item.logout{color:var(--danger)}.dropdown-item.logout:hover{background:#fff5f5}.dropdown-divider{border:none;border-top:1px solid var(--gray-200);margin:4px 0}@media (width<=768px){.dropdown-menu{min-width:180px;right:-10px}.dropdown-btn{padding:8px 16px;font-size:14px}.dropdown-item{padding:10px 14px;font-size:13px}}.stats-section{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:20px;margin-bottom:30px;padding:25px}.stats-section h3{align-items:center;gap:10px;margin-bottom:20px;font-size:20px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px;display:grid}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff26;border-radius:16px;align-items:center;gap:15px;padding:20px;transition:all .3s;display:flex}.stat-card:hover{background:#ffffff40;transform:translateY(-5px)}.stat-icon{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.stat-icon svg{flex-shrink:0;width:32px;height:32px}.stat-info{flex:1}.stat-value{margin-bottom:5px;font-size:28px;font-weight:700}.stat-label{opacity:.9;font-size:14px}.btn-refresh{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:10px;width:auto;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s}.btn-refresh:hover{background:#ffffff4d;transform:translateY(-2px)}@media (width<=768px){.stats-section{padding:15px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-card{padding:12px}.stat-icon{width:45px;height:45px}.stat-icon svg{width:26px;height:26px}.stat-value{font-size:20px}.stat-label{font-size:11px}}@media (width<=480px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.helper-text{color:#6c757d;text-align:center;margin-bottom:15px;font-size:12px}.photo-count{color:#e96daa;margin-left:8px;font-size:12px}.image-previews-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:15px;display:grid}.image-preview-item{border:2px solid #e9ecef;border-radius:8px;transition:all .3s;position:relative;overflow:hidden}.image-preview-item:hover{border-color:#e96daa;transform:scale(1.02)}.image-preview-item .preview-thumb{object-fit:cover;cursor:pointer;width:100%;height:100px}.remove-image-btn{color:#fff;cursor:pointer;background:#dc3545e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .3s;display:flex;position:absolute;top:5px;right:5px}.remove-image-btn:hover{background:#dc3545;transform:scale(1.1)}.image-progress{background:#0003;height:4px;position:absolute;bottom:0;left:0;right:0}.image-progress-bar{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);height:100%;transition:width .3s}@media (width<=768px){.image-previews-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.image-preview-item .preview-thumb{height:80px}.remove-image-btn{width:20px;height:20px;font-size:12px}}.file-input-wrapper input[type=file][multiple]{opacity:0;width:.1px;height:.1px;position:absolute}.file-input-wrapper .file-label{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);border-radius:10px;padding:10px 20px;font-weight:600;transition:all .3s;display:inline-block}.file-input-wrapper .file-label:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.dashboard-container{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100vh;padding:20px}.dashboard-card{background:#fff;border-radius:28px;max-width:1400px;margin:0 auto;overflow:hidden;box-shadow:0 20px 40px #0000001a}.dashboard-header{color:#fff;background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:30px 24px;display:flex}.welcome-section{flex:1}.welcome-section h1{margin-bottom:4px;font-size:28px}@media (width<=768px){.dashboard-header{flex-direction:row;justify-content:space-between;align-items:center;padding:20px 16px}.welcome-section h1{font-size:20px}.welcome-section p{font-size:12px}}.dashboard-back-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50px;padding:8px 16px;font-weight:600;transition:all .3s}.dashboard-back-btn:hover{background:#ffffff4d}.quick-actions{background:#f8f9fa;grid-template-columns:1fr 1fr;gap:16px;padding:24px;display:grid}.action-btn{text-align:center;cursor:pointer;background:#fff;border:none;border-radius:20px;flex-direction:column;align-items:center;padding:24px 16px;transition:all .3s;display:flex;box-shadow:0 4px 12px #0000000d}.action-btn:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.journal-btn{border-bottom:4px solid #e96daa}.fitness-btn{border-bottom:4px solid #f59e0b}.action-icon{justify-content:center;align-items:center;margin-bottom:12px;display:flex}.action-icon svg{flex-shrink:0;width:40px;height:40px}.action-title{color:#333;margin-bottom:4px;font-size:18px;font-weight:700}.action-desc{color:#6c757d;font-size:12px}.dashboard-stats{padding:24px}.dashboard-stats h2{color:#333;margin-bottom:16px;font-size:20px}.stats-grid-dashboard{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;display:grid}.stat-card-dashboard{text-align:center;background:#fff;border:2px solid #e9ecef;border-radius:16px;padding:20px 16px;transition:all .3s}.dash-icon{justify-content:center;align-items:center;margin-bottom:10px;display:flex}.dash-icon svg{flex-shrink:0;width:26px;height:26px}.stat-card-dashboard:hover{border-color:#e96daa;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card-dashboard .stat-value{color:#e96daa;margin-bottom:8px;font-size:32px;font-weight:700}.stat-card-dashboard .stat-label{color:#6c757d;font-size:13px}.fitness-progress-section{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%);border-radius:20px;margin:0 24px 24px;padding:20px}.fitness-progress-section h2{margin-bottom:16px;font-size:18px}.fitness-progress-bar-container{background:#ffffff4d;border-radius:50px;height:30px;margin-bottom:12px;overflow:hidden}.fitness-progress-bar{background:#fff;border-radius:50px;justify-content:flex-end;align-items:center;height:100%;padding-right:12px;transition:width .5s;display:flex}.fitness-progress-text{color:#f59e0b;font-size:12px;font-weight:700}.fitness-stats{justify-content:space-between;margin-bottom:16px;font-size:14px;display:flex}.btn-fitness{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50px;width:100%;padding:12px;font-weight:600;transition:all .3s}.btn-fitness:hover{background:#ffffff4d}.recent-submissions{padding:0 24px 24px}.recent-submissions h2{color:#333;margin-bottom:16px;font-size:18px}.recent-list{flex-direction:column;gap:12px;display:flex}.recent-item{cursor:pointer;background:#f8f9fa;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .3s;display:flex}.recent-item:hover{background:#e9ecef;transform:translate(4px)}.recent-date{color:#6c757d;font-size:12px}.recent-week{color:#e96daa;font-weight:600}.recent-weight{color:#333;font-weight:600}.recent-confidence{color:#f59e0b;font-size:12px}.btn-view-all{color:#e96daa;cursor:pointer;background:0 0;border:2px solid #e9ecef;border-radius:50px;width:100%;margin-top:16px;padding:12px;font-weight:600;transition:all .3s}.btn-view-all:hover{background:#f8f9fa;border-color:#e96daa}@media (width<=640px){.quick-actions{grid-template-columns:1fr}.stats-grid-dashboard{grid-template-columns:repeat(2,1fr)}.recent-item{flex-wrap:wrap;gap:8px}.dashboard-header{text-align:center;flex-direction:column}}.form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:8px;display:flex}.form-header h1{color:var(--gray-800);flex:1;margin:0;font-size:22px}.header-actions{justify-content:flex-end;align-items:center;display:flex}.dropdown{display:inline-block;position:relative}.dropdown-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 20px;font-size:16px;font-weight:600;transition:all .3s}.dropdown-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dropdown-menu{min-width:200px;box-shadow:var(--shadow-lg);z-index:1000;background:#fff;border-radius:12px;margin-top:8px;animation:.2s slideDown;position:absolute;top:100%;right:0;overflow:hidden}@media (width<=768px){.form-header{flex-direction:row;justify-content:space-between;align-items:center}.form-header h1{flex:1;font-size:18px}.header-actions{flex-shrink:0}.dropdown-btn{padding:8px 16px;font-size:14px}.dropdown-menu{min-width:180px;left:auto;right:0}}@media (width<=480px){.form-header h1{font-size:16px}.dropdown-btn{padding:6px 12px;font-size:13px}}.unread-badge{color:#fff;z-index:5;background:#dc3545;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #dc354566}.unread-dot{background:#fff;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-left:6px;animation:1.5s infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.food-image-item{position:relative}.photo-tap-hint{color:var(--gray-500);margin-bottom:12px;font-size:12px}.btn-icon-only{padding:6px}.action-buttons-inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-delete-journal{color:#dc3545;cursor:pointer;background:#ffebee;border:2px solid #f5c6cb;border-radius:50px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s;display:inline-flex}.btn-delete-journal:hover{color:#fff;background:#dc3545;border-color:#dc3545}.journal-detail-back{background:var(--gray-100);border:2px solid var(--gray-300);color:var(--gray-700);cursor:pointer;border-radius:50px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex}.journal-detail-back:hover{background:var(--gray-200);transform:translate(-4px)}@media (width<=768px){.form-header.journal-detail-header{flex-direction:column;align-items:flex-start}}.app-footer{text-align:center;color:#fff9;letter-spacing:.5px;padding:16px 0;font-size:12px}.compression-indicator{color:#1565c0;background:#e3f2fd;border-left:4px solid #1976d2;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.compression-indicator .spinner{border-color:#1976d2 #1976d24d #1976d24d;width:16px;height:16px}.dashboard-vitals{background:linear-gradient(135deg,#fff5f7 0%,#fef2f2 100%);border:1px solid #dc354526;border-radius:20px;margin:0 24px 24px;padding:20px}.dashboard-vitals h2{color:var(--gray-800);align-items:center;margin:0 0 14px;font-size:16px;display:flex}.vitals-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.vital-card{background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex;box-shadow:0 1px 3px #0000000d}.vital-card-icon{align-items:center;margin-bottom:2px;display:flex}.vital-card-value{color:var(--gray-800);font-size:18px;font-weight:700}.vital-card-label{color:var(--gray-500);font-size:11px;line-height:1.2}.vitals-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.vitals-updated{color:var(--gray-500);font-size:12px}@media (width>=640px){.vitals-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=768px){.vital-card-value{font-size:22px}}.vital-table-wrapper{overflow-x:auto}.dashboard-vitals .btn-view-all{color:var(--primary);background:#fff;border:1px solid #dc354526}.chat-page{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100%;padding:16px}.chat-card{max-width:1400px;box-shadow:var(--shadow-xl);background:#fff;border-radius:24px;flex-direction:column;height:calc(100vh - 100px);margin:0 auto;display:flex;overflow:hidden}.chat-header{background:var(--primary);color:#fff;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.chat-back-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.chat-back-btn:hover{background:#ffffff26}.chat-header-info{flex-direction:column;display:flex}.chat-header-name{font-size:15px;font-weight:600}.chat-header-phone{opacity:.8;font-size:12px}.chat-messages{background:#f0f2f5;flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.chat-loading{text-align:center;color:var(--gray-600);padding:32px}.chat-empty{text-align:center;color:var(--gray-500);margin:auto;padding:32px}.chat-bubble{word-wrap:break-word;border-radius:16px;max-width:75%;padding:10px 14px;font-size:14px;line-height:1.4}.chat-bubble--mine{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble--theirs{color:var(--gray-800);background:#fff;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 2px #0000001a}.chat-bubble-text{margin-bottom:2px}.chat-bubble-text p{margin:0}.chat-bubble-text a{color:inherit;text-decoration:underline}.chat-bubble--theirs .chat-bubble-text a{color:var(--gray-800)}.chat-card .message-view{border:none;border-radius:0;flex:1;height:auto;min-height:0;max-height:none}.chat-card .message-view-messages{background:#f0f2f5;flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.chat-card .message-view .chat-bubble{max-width:75%}.chat-bubble-time{opacity:.7;text-align:right;margin-top:2px;font-size:10px}.chat-input-bar{border-top:1px solid var(--gray-300);background:#fff;align-items:flex-end;gap:8px;padding:12px 16px;display:flex;position:sticky;bottom:0}.chat-input-bar .wysiwyg-editor{flex:1;min-width:0}.chat-send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:0;display:flex}.chat-send-btn:disabled{opacity:.5;cursor:default}.chat-send-btn:not(:disabled):hover{background:var(--primary-dark)}.messages-page{background:linear-gradient(135deg,#e96daa 0%,#5d53a3 100%);min-height:100%;padding:16px}.messages-card{max-width:1400px;box-shadow:var(--shadow-xl);background:#fff;border-radius:24px;margin:0 auto;padding:24px}.messages-card h2{color:var(--gray-800);margin:0 0 16px;font-size:20px}.messages-empty{text-align:center;color:var(--gray-500);padding:48px 16px}.messages-empty svg{color:var(--gray-400);margin-bottom:12px}.messages-empty-hint{color:var(--gray-400);margin-top:8px;font-size:13px;display:block}.conversation-list{margin:0;padding:0;list-style:none}.conversation-item{border-bottom:1px solid var(--gray-200);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.conversation-item:hover{background:var(--gray-100)}.conversation-item:last-child{border-bottom:none}.conversation-avatar{background:var(--gray-200);width:44px;height:44px;color:var(--gray-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.conversation-body{flex:1;min-width:0}.conversation-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.conversation-name{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.conversation-time{color:var(--gray-500);flex-shrink:0;font-size:12px}.conversation-preview{color:var(--gray-600);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;display:block;overflow:hidden}.search-bar{flex-wrap:wrap;gap:10px;display:flex}.search-box{border:1px solid var(--gray-300);border-radius:12px;outline:none;flex:1;min-width:200px;padding:10px 14px;font-family:inherit;font-size:14px}.search-box:focus{border-color:var(--primary)}.message-view{border:1px solid var(--gray-300);background:#fff;border-radius:12px;flex-direction:column;height:60vh;min-height:320px;max-height:500px;display:flex;overflow:hidden}.message-view-messages{background:#f0f2f5;flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.message-view .chat-input-bar{border-top:1px solid var(--gray-300);border-radius:0}.message-view .chat-bubble{max-width:80%}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
