body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.agreement-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.agreement-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:700px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.agreement-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e8e8e8;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.agreement-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.agreement-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;transition:background .2s;width:32px}.agreement-header .close-btn:hover{background:#ffffff4d}.agreement-content{flex:1 1;line-height:1.8;overflow-y:auto;padding:24px}.effective-date{border-bottom:1px dashed #e8e8e8;color:#666;font-size:13px;margin-bottom:16px;padding-bottom:16px}.agreement-content section{margin-bottom:24px}.agreement-content h2{border-left:3px solid #667eea;color:#333;font-size:16px;font-weight:600;margin:0 0 12px;padding-left:12px}.agreement-content p{color:#555;font-size:14px;margin:8px 0;text-align:justify}.agreement-content ul{margin:8px 0;padding-left:24px}.agreement-content li{color:#555;font-size:14px;line-height:1.8;margin:6px 0}.agreement-content strong{color:#333}.agreement-footer{background:#fafafa;border-radius:0 0 12px 12px;border-top:1px solid #e8e8e8;padding:16px 24px;text-align:center}.agreement-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;padding:10px 32px;transition:all .2s}.agreement-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.agreement-content::-webkit-scrollbar{width:6px}.agreement-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.agreement-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.agreement-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:420px;padding:40px;width:100%}.auth-title{color:#333;font-size:28px;font-weight:600;margin-bottom:30px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .form-group{position:relative}.auth-form input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:14px 16px;transition:all .3s ease;width:100%}.auth-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.auth-form input:disabled{background-color:#f5f5f5;cursor:not-allowed}.code-group{align-items:stretch;display:flex;gap:12px}.code-group input{flex:1 1;min-width:0}.captcha-group{align-items:stretch;display:flex;gap:12px}.captcha-group input{flex:1 1;min-width:0}.captcha-canvas{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;flex-shrink:0;height:48px;transition:border-color .3s ease}.captcha-canvas:hover{border-color:#667eea}.code-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;max-width:130px;min-width:110px;padding:14px 18px;transition:all .3s ease;white-space:nowrap}.code-btn:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.code-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:all .3s ease;width:100%}.auth-btn:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.auth-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00}.auth-error,.auth-success{font-size:14px;margin-bottom:20px;padding:12px 16px}.auth-success{background:#efe;border:1px solid #afa;border-radius:8px;color:#0a0}.auth-links{border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:25px;padding-top:20px}.auth-links a{color:#667eea;font-size:14px;text-decoration:none;transition:color .3s ease}.auth-links a:hover{color:#764ba2;text-decoration:underline}.login-type-switch{display:flex;gap:10px;margin-bottom:25px}.switch-btn{background:#f5f5f5;border:2px solid #0000;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:15px;padding:12px;transition:all .3s ease}.switch-btn:hover{background:#eee}.switch-btn.active{background:#fff;border-color:#667eea;color:#667eea;font-weight:600}@media (max-width:480px){.auth-card{padding:30px 20px}.auth-title{font-size:24px}.code-group{flex-direction:column;gap:10px}.code-btn,.code-group input{width:100%}.code-btn{max-width:100%}.captcha-group{flex-direction:column;gap:10px}.captcha-group input{width:100%}.captcha-canvas{height:48px;width:100%}.auth-links{flex-direction:column;gap:10px;text-align:center}}.agreement-check{align-items:center;color:#666;display:flex;font-size:14px;gap:4px}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:6px}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:16px;width:16px}.checkbox-label span{-webkit-user-select:none;user-select:none}.agreement-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:0;text-decoration:none;transition:color .3s ease}.agreement-link:hover{color:#764ba2;text-decoration:underline}.guest-login-section{border-top:1px solid #eee;margin-top:24px;padding-top:20px;text-align:center}.guest-btn{align-items:center;background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;display:inline-flex;font-size:15px;gap:8px;padding:12px 32px;transition:all .3s ease}.guest-btn:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-2px)}.guest-hint{color:#999;font-size:13px;margin-top:12px}

/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .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-stroke.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{fill:#444}.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,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[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-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[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-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[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-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[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-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #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{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.document-editor-page{background:#f5f7fa;box-sizing:border-box;min-height:calc(100vh - 70px);padding:20px}.document-editor-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:320px 1fr;height:calc(100vh - 110px);margin:0 auto;max-width:1400px}.history-sidebar{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden}.history-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0;padding:14px 18px}.history-header h3{font-size:16px;font-weight:600;margin:0}.history-item{border:2px solid #0000}.history-item.active{background:#fff;border-color:#667eea;box-shadow:0 2px 8px #667eea26}.history-title-row{align-items:flex-start;gap:8px}.history-title{line-height:1.4}.history-actions{flex-shrink:0}.delete-history-btn{background:#e74c3c1a;color:#e74c3c}.delete-history-btn:hover:not(:disabled){background:#e74c3c33}.delete-history-btn:disabled,.load-btn:disabled{cursor:not-allowed;opacity:.5}.editor-main{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:20px}.marquee-container{background-color:#fff3cd;border-radius:6px;color:#856404;flex-shrink:0;margin-bottom:16px;overflow:hidden;padding:10px 0;white-space:nowrap;width:100%}.marquee-content{animation:marquee 20s linear infinite;display:inline-block;font-size:14px;font-weight:500;padding-left:100%}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.form-group label{color:#555;font-size:13px;font-weight:600;margin-bottom:6px}.form-group input[type=date],.form-group input[type=text],.title-input{border:1.5px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input[type=date]:focus,.form-group input[type=text]:focus,.title-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.title-input{font-size:16px;font-weight:500}.editor-wrapper{min-height:450px}.editor-wrapper,.editor-wrapper .ql-container{display:flex;flex:1 1;flex-direction:column}.editor-wrapper .ql-editor{background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;line-height:1.8;min-height:460px;padding:16px}.editor-wrapper .ql-editor:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.ql-toolbar{display:none}.ql-container{border:none;border-radius:8px}.editor-actions{display:flex;flex-shrink:0;gap:12px;margin-top:8px}.action-btn.primary:hover:not(:disabled){box-shadow:0 4px 16px #667eea66}.action-btn.save-action{background:linear-gradient(135deg,#11998e,#38ef7d)}.action-btn.save-action:hover:not(:disabled){box-shadow:0 4px 16px #11998e66;transform:translateY(-2px)}@media (max-width:968px){.document-editor-container{gap:16px;grid-template-columns:280px 1fr}}@media (max-width:768px){.document-editor-page{padding:12px}.document-editor-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:calc(100vh - 94px)}.history-sidebar{order:2}.editor-main{min-height:500px;order:1}.editor-actions{flex-wrap:wrap}.action-btn{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;min-width:120px}}@media (max-width:480px){.document-editor-page{padding:8px}.editor-main{padding:12px}.action-btn{flex:1 1 100%}.history-actions{opacity:1}}.user-menu-container{display:inline-block;position:relative}.user-menu-trigger{align-items:center;background:#fffffff2;border:1.5px solid #667eea33;border-radius:50px;box-shadow:0 1px 4px #0000000f;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:all .3s ease}.user-menu-trigger:hover{background:#fff;border-color:#667eea66;box-shadow:0 2px 8px #667eea1f;transform:translateY(-1px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.user-name{color:#333;font-size:14px;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:#999;font-size:9px;margin-left:2px;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown-menu{animation:slideDown .2s ease-out;background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 10px 40px #00000026;min-width:280px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;background:linear-gradient(135deg,#667eea0d,#764ba20d);display:flex;gap:10px;padding:14px 16px}.dropdown-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.dropdown-user-info{flex:1 1;min-width:0}.dropdown-username{color:#333;font-size:14px;font-weight:600;margin-bottom:2px}.dropdown-email,.dropdown-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-email{color:#999;font-size:12px}.dropdown-divider{background:#f0f0f0;height:1px;margin:6px 0}.dropdown-items{padding:6px}.dropdown-item{align-items:center;background:none;border:none;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#667eea14}.dropdown-item:active{background:#667eea1f}.item-icon{flex-shrink:0;font-size:16px;text-align:center;width:20px}.logout-item{border-radius:6px;color:#e74c3c;margin:6px}.logout-item:hover{background:#e74c3c14}.logout-item:active{background:#e74c3c1f}@media (max-width:768px){.user-menu-trigger{padding:5px 10px}.user-name{display:none}.user-dropdown-menu{min-width:220px;right:-10px}}.layout-container{background:#f5f7fa;min-height:100vh}.layout-header{background:#fff;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1400px;padding:10px 30px}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:32px}.header-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:18px;font-weight:600;margin:0}.header-nav{display:flex;gap:8px}.nav-link{align-items:center;border-radius:6px;color:#666;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:#667eea14;color:#667eea}.nav-link.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);color:#667eea;font-weight:600}.layout-main{min-height:calc(100vh - 52px)}@media (max-width:768px){.header-content{padding:10px 16px}.header-left{flex:1 1;gap:16px}.header-title{font-size:16px}.header-nav{gap:4px}.nav-link{font-size:13px;padding:6px 10px}}.profile-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:30px 20px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:600px;padding:30px;position:relative;width:100%}.profile-header{margin-bottom:30px;padding-top:16px;text-align:center}.profile-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 24px #667eea4d;color:#fff;display:flex;font-size:32px;font-weight:600;height:80px;justify-content:center;margin:0 auto 16px;width:80px}.profile-title{color:#333;font-size:22px;font-weight:600;margin:0}.profile-info{margin-bottom:24px}.info-item{border-bottom:1px solid #f0f0f0;padding:12px 0}.info-item:last-child{border-bottom:none}.info-item label{color:#999;display:block;font-size:12px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.info-value{color:#333;font-size:15px;font-weight:500}.status-badge{border-radius:16px;display:inline-block;font-size:13px;padding:4px 12px}.status-badge.active{background:#e8f5e9;color:#4caf50}.profile-actions{display:flex;gap:10px;margin-top:24px}.action-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px}.action-btn:hover{box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.action-btn.secondary{border:1.5px solid #667eea;color:#667eea}.action-btn.secondary:hover{background:#667eea0d}@media (max-width:600px){.profile-card{padding:24px 16px}.profile-actions{flex-direction:column}.action-btn{width:100%}}.settings-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.settings-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:600px;padding:40px;position:relative;width:100%}.back-btn{border-radius:8px;font-size:16px;left:20px;padding:8px 16px;top:20px}.settings-title{color:#333;font-size:28px;font-weight:600;margin-bottom:30px;padding-top:20px}.settings-form{margin-bottom:24px}.settings-form .form-group{margin-bottom:16px}.settings-form label{color:#555;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.settings-form input{border:1.5px solid #e0e0e0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 14px;transition:all .3s ease;width:100%}.settings-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.settings-form input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-hint{color:#999;display:block;font-size:11px;margin-top:4px}.settings-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:12px;transition:all .3s ease;width:100%}.settings-btn:hover:not(:disabled){box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.settings-btn:disabled{cursor:not-allowed;opacity:.7}.settings-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00}.settings-error,.settings-success{font-size:13px;margin-bottom:16px;padding:10px 14px}.settings-success{background:#efe;border:1px solid #afa;border-radius:6px;color:#0a0}.settings-section{border-top:1px solid #f0f0f0;margin-top:20px;padding-top:20px}.section-title{color:#333;font-size:16px;font-weight:600;margin-bottom:12px}.security-options{display:flex;flex-direction:column;gap:10px}.security-btn{align-items:center;background:#f8f9fa;border:none;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;transition:all .3s ease;width:100%}.security-btn:hover{background:#667eea14;transform:translateX(4px)}.btn-icon{align-items:center;background:#fff;border-radius:8px;display:flex;flex-shrink:0;font-size:24px;height:40px;justify-content:center;width:40px}.btn-content{flex:1 1}.btn-title{color:#333;font-size:14px;font-weight:600;margin-bottom:2px}.btn-desc{color:#999;font-size:12px}.btn-arrow{color:#667eea;font-size:18px;font-weight:600}.notification-options{display:flex;flex-direction:column;gap:12px}.toggle-option{align-items:center;background:#f8f9fa;border-radius:6px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 12px;transition:background .3s ease}.toggle-option:hover{background:#667eea0d}.toggle-option input{display:none}.toggle-slider{background:#ddd;border-radius:22px;height:22px;position:relative;transition:all .3s ease;width:44px}.toggle-slider:after{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:18px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:18px}.toggle-option input:checked+.toggle-slider{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle-option input:checked+.toggle-slider:after{transform:translateX(22px)}@media (max-width:600px){.settings-card{padding:24px 16px}}.change-password-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:30px 20px}.change-password-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:500px;padding:30px;position:relative;width:100%}.back-btn{background:none;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;left:16px;padding:6px 12px;position:absolute;top:16px;transition:all .3s ease}.back-btn:hover{background:#667eea1a}.change-password-title{color:#333;font-size:22px;font-weight:600;margin-bottom:24px;padding-top:16px}.change-password-form{margin-bottom:24px}.change-password-form .form-group{margin-bottom:16px}.change-password-form label{color:#555;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.change-password-form input{border:1.5px solid #e0e0e0;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 14px;transition:all .3s ease;width:100%}.change-password-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.password-hint{color:#999;display:block;font-size:11px;margin-top:4px}.change-password-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:12px;transition:all .3s ease;width:100%}.change-password-btn:hover:not(:disabled){box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.change-password-btn:disabled{cursor:not-allowed;opacity:.7}.change-password-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00}.change-password-error,.change-password-success{font-size:13px;margin-bottom:16px;padding:10px 14px}.change-password-success{background:#efe;border:1px solid #afa;border-radius:6px;color:#0a0}.password-tips{background:#f8f9fa;border-left:3px solid #667eea;border-radius:8px;padding:16px}.password-tips h3{color:#333;font-size:14px;font-weight:600;margin-bottom:10px}.password-tips ul{list-style:none;margin:0;padding:0}.password-tips li{color:#666;font-size:13px;padding:4px 0 4px 16px;position:relative}.password-tips li:before{color:#667eea;content:"•";font-weight:700;left:0;position:absolute}@media (max-width:600px){.change-password-card{padding:24px 16px}}.schedule-container{background:#f5f7fa;box-sizing:border-box;max-width:100%;min-height:100vh;overflow-x:hidden;padding:20px}.schedule-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:3fr 7fr;margin:0 auto;max-width:1600px}.left-panel{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 140px)}.header-actions{align-items:center;gap:16px}.fill-example-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s;white-space:nowrap}.fill-example-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.fill-example-btn:disabled{cursor:not-allowed;opacity:.5}.left-panel>.history-panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.left-panel>.history-panel .panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 18px}.save-btn-header{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;font-size:13px;padding:6px 16px;transition:all .3s ease}.save-btn-header:hover:not(:disabled){background:#ffffff4d}.history-item{overflow:hidden;position:relative}.history-title-row{margin-bottom:6px;position:relative}.history-title{transition:opacity .2s ease}.history-time{font-size:12px;position:relative;z-index:1}.history-actions{padding:0 2px;transition:opacity .25s ease;z-index:2}.history-actions,.history-actions:before{position:absolute;right:0;top:50%;transform:translateY(-50%)}.history-actions:before{background:linear-gradient(90deg,#0000 0,#e9eceff2 20%,#e9ecef);border-radius:4px;content:"";height:calc(100% + 8px);width:calc(100% + 16px);z-index:-1}.load-btn{background:#667eeae6;min-width:40px;padding:4px 10px}.load-btn:hover:not(:disabled){background:#667eea}.delete-history-btn{background:#e74c3ce6;flex:1 1;min-width:40px;padding:4px 10px;transition:all .3s ease;white-space:nowrap}.delete-history-btn:hover:not(:disabled){background:#e74c3c}.dates-panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.panel-header{color:#fff;flex-shrink:0;padding:14px 18px}.panel-header h3{font-weight:600}.date-count{background:#fff3;border-radius:12px;font-size:12px;padding:4px 12px}.add-date-form{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;padding:16px}.add-date-form input[type=date],.add-date-form input[type=time]{border:1.5px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;min-width:120px;padding:10px 12px;transition:all .3s ease}.add-date-form .add-btn{flex:0 0 auto}.add-date-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:all .3s ease}.add-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.add-btn:disabled{cursor:not-allowed;opacity:.6}.dates-list{flex:1 1;overflow-y:auto;padding:12px}.date-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px;transition:all .3s ease}.date-item:hover{background:#667eea0d}.date-item.active{background:#fff;border-color:#667eea;box-shadow:0 2px 8px #667eea26}.date-text{color:#333;font-size:14px;font-weight:500}.delete-date-btn{background:#e74c3c1a;border:none;border-radius:50%;color:#e74c3c;cursor:pointer;font-size:16px;height:24px;line-height:1;transition:all .3s ease;width:24px}.delete-date-btn:hover{background:#e74c3c33}.panel-actions{border-top:1px solid #f0f0f0;display:flex;gap:10px;padding:16px}.action-btn{border-radius:6px;font-weight:600;padding:10px}.action-btn.primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.action-btn.success:hover:not(:disabled){box-shadow:0 4px 12px #38ef7d4d;transform:translateY(-1px)}.action-btn.secondary{background:#fff;border:1.5px solid #e0e0e0}.action-btn.secondary:hover:not(:disabled){background:#f8f9fa;border-color:#ccc}.action-btn.danger{background:#fff;border:1.5px solid #e74c3c;color:#e74c3c}.action-btn.danger:hover:not(:disabled){background:#e74c3c;color:#fff}.action-btn:disabled{opacity:.5}.schedule-panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;height:calc(100vh - 140px);overflow:hidden}.start-time{background:#fff3;border-radius:12px;font-size:13px;padding:4px 12px}.start-time.editable{cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.start-time.editable:hover{background:#667eea33;transform:translateY(-1px)}.start-time.editable:active{transform:translateY(0)}.add-item-form{grid-gap:10px;align-items:center;border-bottom:1px solid #f0f0f0;display:grid;gap:10px;grid-template-columns:120px 1fr 120px;padding:16px}.add-item-form input{border:1.5px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .3s ease}.add-item-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.items-list{flex:1 1;overflow-y:auto;padding:16px}.mobile-items-list{display:none}.items-table{border-collapse:collapse;width:100%}.items-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#666;font-size:13px;font-weight:600;padding:12px;text-align:left}.items-table td{border-bottom:1px solid #f0f0f0;color:#333;font-size:14px;padding:12px;vertical-align:middle}.items-table tbody tr:hover{background:#667eea08}.items-table .center{text-align:center}.items-table td .action-buttons{align-items:center;display:flex!important;flex-direction:row!important;flex-wrap:nowrap;gap:6px;justify-content:center;width:100%}.items-table td .action-buttons button{flex-shrink:0}.delete-btn{border-radius:4px;font-size:12px;min-width:45px;padding:4px 10px}.delete-btn:disabled{cursor:not-allowed;opacity:.5}.action-buttons{align-items:center;flex-direction:row;flex-wrap:nowrap;gap:6px;justify-content:center}.move-btn{background:#3498db1a;border:none;border-radius:4px;color:#3498db;cursor:pointer;font-size:12px;font-weight:700;min-width:30px;padding:4px 10px;transition:all .3s ease;white-space:nowrap}.move-btn:hover:not(:disabled){background:#3498db33;transform:translateY(-1px)}.move-btn:disabled{cursor:not-allowed;opacity:.3}.insert-btn{background:#2ecc711a;border:none;border-radius:4px;color:#2ecc71;cursor:pointer;font-size:12px;min-width:45px;padding:4px 10px;transition:all .3s ease;white-space:nowrap}.insert-btn:hover:not(:disabled){background:#2ecc7133;transform:translateY(-1px)}.insert-btn:disabled{cursor:not-allowed;opacity:.5}.editable-cell{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.editable-cell:hover{background:#667eea1a}.edit-input{border:2px solid #667eea;border-radius:4px;font-size:13px;outline:none;padding:4px 8px;transition:all .3s ease;width:100%}.edit-input:focus{border-color:#764ba2;box-shadow:0 0 0 2px #667eea1a}.edit-input.content-input{width:100%}.save-btn{background:#2ecc711a;border:none;border-radius:4px;color:#2ecc71;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .3s ease;white-space:nowrap}.save-btn:hover:not(:disabled){background:#2ecc7133;transform:translateY(-1px)}.cancel-btn{background:#95a5a61a;border-radius:4px;color:#95a5a6;font-size:12px;padding:4px 10px;transition:all .3s ease;white-space:nowrap}.cancel-btn:hover:not(:disabled){background:#95a5a633;transform:translateY(-1px)}.modal-dialog{animation:modalSlideIn .3s ease;max-width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #f0f0f0}.modal-body{padding:24px}.save-title-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:14px;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.save-title-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-footer{border-top:1px solid #f0f0f0;padding:16px 24px}.modal-footer .cancel-btn{background:#f5f5f5;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:14px;padding:10px 24px;transition:all .3s ease}.modal-footer .cancel-btn:hover{background:#e0e0e0}.modal-footer .confirm-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 24px;transition:all .3s ease}.modal-footer .confirm-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.modal-footer .confirm-btn:disabled{cursor:not-allowed;opacity:.5}.empty-state{font-size:14px;padding:40px 20px}.empty-state.large{font-size:16px;padding:80px 20px}.preview-modal{align-items:center;animation:fadeIn .3s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.preview-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.preview-header h3{font-size:18px;font-weight:600;margin:0}.close-btn{color:#fff;transition:all .3s ease}.close-btn:hover{background:#fff3}.preview-body{flex:1 1;overflow-y:auto;padding:20px}.preview-body pre{word-wrap:break-word;color:#333;font-family:Microsoft YaHei,sans-serif;font-size:15px;line-height:1.8;margin:0;white-space:pre-wrap}.preview-footer{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.close-preview-btn,.copy-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.copy-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.copy-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.close-preview-btn{background:#fff;border:1.5px solid #e0e0e0;color:#666}.close-preview-btn:hover{background:#f8f9fa}@media (max-width:968px) and (min-width:769px){.schedule-content{gap:16px;grid-template-columns:3fr 7fr}.left-panel{height:auto;max-height:none}.dates-panel,.history-panel{flex:none;height:auto;max-height:400px}}@media (max-width:768px){.schedule-container{min-height:100vh;padding:10px}.schedule-content{grid-template-columns:1fr}.left-panel,.schedule-content{display:flex;flex-direction:column;gap:12px}.left-panel{height:auto;max-height:none}.history-panel{border-radius:8px;flex:none;height:auto;max-height:250px}.history-panel .panel-header{padding:10px 14px}.history-panel .panel-header h3{font-size:14px}.save-btn-header{font-size:12px;padding:5px 12px}.history-list{padding:8px}.history-item{margin-bottom:8px;padding:10px}.history-title{font-size:13px}.history-time{font-size:11px}.history-actions{gap:6px}.delete-history-btn,.load-btn{font-size:11px;padding:4px 8px}.dates-panel{border-radius:8px;flex:none;height:auto}.panel-header{padding:10px 14px}.panel-header h3{font-size:14px}.date-count{font-size:11px;padding:3px 10px}.add-date-form{flex-direction:row;flex-wrap:wrap;gap:8px;padding:10px}.add-date-form input[type=date],.add-date-form input[type=time]{flex:1 1;font-size:14px;min-width:100px;padding:10px 12px}.add-date-form .add-btn{flex:1 1 100%}.add-btn{font-size:14px;padding:10px}.dates-list{max-height:300px;padding:8px}.date-item{font-size:14px;padding:10px 12px}.delete-date-btn{font-size:18px;height:26px;width:26px}.schedule-panel{border-radius:8px;height:auto;min-height:400px}.schedule-title-section{padding:10px 14px}.schedule-title-input{font-size:14px;padding:10px 12px}.add-item-form{gap:8px;grid-template-columns:1fr;padding:10px}.add-item-form input{font-size:14px;padding:12px}.items-list{padding:10px}.items-table{display:none!important}.mobile-items-list{display:block!important}.mobile-item-card{background:#f8f9fa;border-left:3px solid #667eea;border-radius:8px;margin-bottom:10px;padding:12px;transition:all .3s ease}.mobile-item-card:hover{background:#f0f1f3;transform:translateX(2px)}.mobile-item-header{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.mobile-item-index{color:#999;font-size:12px;font-weight:500}.mobile-item-time{color:#667eea;font-size:13px;font-weight:600}.mobile-item-duration{background:#667eea1a;border-radius:4px;color:#666;font-size:12px;padding:2px 8px}.mobile-item-content{color:#333;font-size:14px;line-height:1.6;margin-bottom:10px;word-break:break-word}.mobile-item-actions{display:flex;flex-wrap:wrap;gap:6px}.mobile-item-actions button{flex:1 1;font-size:12px;min-width:60px;padding:6px 10px}.mobile-edit-card{background:#fff;border:2px solid #667eea}.mobile-edit-input{border:1.5px solid #e0e0e0;border-radius:6px;font-size:14px;margin-bottom:8px;padding:8px 10px;width:100%}.mobile-edit-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.action-btn{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;font-size:13px;min-width:120px;padding:10px}.modal-dialog,.preview-content{margin:10px;max-width:none;width:95%}.modal-header,.preview-header{padding:12px 16px}.modal-header h3,.preview-header h3{font-size:16px}.modal-body,.preview-body{padding:16px}.preview-body pre{font-size:13px;line-height:1.6}.modal-footer,.preview-footer{flex-wrap:wrap;padding:12px 16px}.modal-footer button,.preview-footer button{flex:1 1;min-width:100px}}@media (max-width:480px){.schedule-container{padding:8px}.action-btn{flex:1 1 100%;min-width:100%}.mobile-item-actions{flex-direction:column}.mobile-item-actions button{min-width:100%;width:100%}.modal-footer,.preview-footer{flex-direction:column}.modal-footer button,.preview-footer button{width:100%}}@media (hover:none) and (pointer:coarse){.date-item,.history-item,.mobile-item-card{padding:14px}button{min-height:44px}.date-item{min-height:48px}}.schedule-title-section{background:#fafafa;border-bottom:1px solid #e8e8e8;padding:15px 20px}.schedule-title-input{border:2px solid #d9d9d9;border-radius:6px;font-size:16px;outline:none;padding:10px 15px;transition:all .3s;width:100%}.schedule-title-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.schedule-title-input::placeholder{color:#bfbfbf}.action-btn.save-action{background:#722ed1;color:#fff}.action-btn.save-action:hover{background:#531dab}.action-btn.save-action:disabled{background:#d3adf7;cursor:not-allowed}.table-sign-container{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);box-sizing:border-box;min-height:100vh;padding:24px}.table-sign-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:280px 1fr;height:calc(100vh - 170px);margin:0 auto;max-width:1400px}.table-sign-content>.history-panel{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden}.table-sign-content>.history-panel>.history-list{flex:1 1;min-height:0;overflow-y:auto;padding:12px}.history-panel .panel-header{background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;padding:16px 20px}.history-panel .panel-header h3{font-size:16px;font-weight:500}.empty-history{font-size:14px;padding:40px 20px}.history-item{margin-bottom:12px;padding:12px}.history-item:hover{transform:translateX(3px)}.history-title-row{margin-bottom:8px}.history-title{font-size:14px;margin-right:10px}.history-meta{color:#999;display:flex;font-size:12px;justify-content:space-between}.history-actions{gap:6px}.history-count{background:#667eea1a;border-radius:4px;color:#667eea;padding:2px 8px}.history-actions{gap:8px}.load-btn{background:#667eea1a;border-radius:6px;color:#667eea;flex:1 1;font-size:13px;min-width:44px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.load-btn:hover:not(:disabled){background:#667eea33}.delete-btn{background:#e74c3c1a;color:#e74c3c;flex:1 1;min-width:44px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.delete-btn:hover:not(:disabled){background:#e74c3c33}.delete-btn:disabled,.load-btn:disabled{cursor:not-allowed;opacity:.5}.input-panel{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden}.input-panel .panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:space-between;padding:16px 20px}.input-panel .panel-header h3{color:#fff;font-size:16px;font-weight:500;margin:0}.header-actions{display:flex;gap:8px}.panel-body{display:flex;flex:1 1;flex-direction:column;min-height:0}.form-group{margin-bottom:16px}.form-group-textarea{display:flex;flex:1 1;flex-direction:column;min-height:0}.form-group label{color:#333}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.title-input{border:2px solid #e8e8e8;font-size:15px;padding:12px 16px;transition:all .3s ease}.title-input:focus{outline:none}.title-input::placeholder{color:#aaa}.names-input{border:2px solid #e8e8e8;border-radius:8px;box-sizing:border-box;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.6;min-height:180px;padding:12px 16px;resize:none;transition:all .3s ease;width:100%}.names-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.names-input::placeholder{color:#aaa}.input-stats{background:#f8f9fa;border-radius:6px;color:#666;display:flex;font-size:13px;justify-content:space-between;margin-top:8px;padding:8px 12px}.copies-select,.font-select{background:#fff;border:2px solid #e8e8e8;border-radius:8px;box-sizing:border-box;cursor:pointer;font-size:14px;padding:12px 14px;transition:all .3s ease;width:100%}.copies-select:focus,.font-select:focus{border-color:#667eea;outline:none}.action-buttons{flex-shrink:0;margin-top:auto;padding-top:16px}.action-btn{flex:1 1;font-size:15px;padding:14px 20px}.action-btn.full-width{width:100%}.action-btn.secondary{background:#fff3;color:#fff;font-size:13px;padding:8px 16px;white-space:nowrap}.action-btn.secondary:hover{background:#ffffff4d}@media (max-width:968px){.table-sign-content{gap:16px;grid-template-columns:240px 1fr}}@media (max-width:768px){.table-sign-container{padding:16px}.page-title{font-size:24px}.table-sign-content{gap:16px;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:calc(100vh - 94px)}.table-sign-content>.history-panel{max-height:1000px}.form-row{grid-template-columns:1fr}.input-panel .panel-header{align-items:flex-start;flex-direction:column;gap:12px}.header-actions{justify-content:flex-end;width:100%}}@media (max-width:480px){.table-sign-container{padding:12px}.panel-body{padding:16px}.history-actions{flex-direction:column;gap:6px}.delete-btn,.load-btn{width:100%}}@media (hover:none) and (pointer:coarse){.action-btn{min-height:44px}.names-input,.title-input{font-size:16px}.delete-btn,.load-btn{min-height:40px}}.unit-sort-container{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);box-sizing:border-box;min-height:100vh;padding:24px}.unit-sort-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:3fr 7fr;margin:0 auto;max-width:1500px}.unit-left-panel{display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 140px)}.operation-panel,.unit-list-panel{height:fit-content}.unit-list-panel{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.unit-list-panel .panel-header{flex-shrink:0}.unit-list-panel .panel-body{flex:1 1;min-height:0;overflow-y:auto;padding:20px}.operation-panel .panel-body{padding:20px}.operation-panel,.unit-list-panel{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:visible}.panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:space-between;padding:16px 20px}.panel-header h3{color:#fff;font-size:16px;font-weight:500;margin:0}.panel-body{max-height:calc(100vh - 300px);overflow-y:auto;padding:20px}.panel-footer{background:#f8f9fa;border-top:1px solid #e8e8e8;flex-shrink:0;padding:12px 20px}.empty-state{color:#999}.empty-icon{opacity:.5}.empty-state p{font-size:15px;margin:8px 0}.empty-hint{color:#aaa;font-size:14px}.hint{color:#aaa;font-size:13px}.groups-list{display:flex;flex-direction:column;gap:6px}.group-item{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.group-header{align-items:flex-start;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;padding:8px 16px;position:relative}.group-header:hover{background:#f0f1f2}.group-info{cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;padding-right:80px;-webkit-user-select:none;user-select:none}.collapse-icon{align-items:center;color:#888;display:inline-flex;flex-shrink:0;font-size:12px;justify-content:center;transition:transform .2s;width:16px}.group-name-row{align-items:center;display:flex;gap:6px}.group-name{color:#333;font-weight:500}.group-count{color:#888;font-size:12px;padding-left:22px}.group-actions{display:flex;gap:4px;opacity:0;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:opacity .2s}.group-header:hover .group-actions{opacity:1}.icon-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:14px;height:28px;transition:all .2s;width:28px}.icon-btn:hover:not(:disabled){background:#e0e0e0}.icon-btn:disabled{cursor:not-allowed;opacity:.3}.icon-btn.delete:hover:not(:disabled){background:#fee}.units-list{padding:4px 8px}.select-all{border-bottom:1px solid #f0f0f0;margin-bottom:4px;padding:3px 12px}.select-all label{color:#666;cursor:pointer;font-size:12px}.select-all label,.unit-item{align-items:center;display:flex;gap:6px;line-height:1.4}.unit-item{border-radius:4px;margin-bottom:0;padding:3px 12px;transition:all .2s}.unit-item:hover{background:#f5f5f5}.unit-item.selected{background:#e8f4fd}.unit-checkbox{align-items:center;cursor:pointer;display:flex}.unit-checkbox input[type=checkbox]{cursor:pointer;height:14px;width:14px}.unit-name{color:#333;cursor:pointer;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-actions{display:flex;gap:2px;opacity:0;transition:opacity .2s}.unit-item:hover .unit-actions{opacity:1}.icon-btn-small{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .2s;width:24px}.icon-btn-small:hover:not(:disabled){background:#e0e0e0}.icon-btn-small:disabled{cursor:not-allowed;opacity:.3}.icon-btn-small.insert{color:#667eea;font-weight:700}.icon-btn-small.insert:hover:not(:disabled){background:#e8f4fd}.icon-btn-small.delete:hover:not(:disabled){background:#fee}.edit-unit-form,.insert-unit-form{background:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;gap:8px;margin-bottom:4px;padding:8px 12px}.edit-unit-form input,.insert-unit-form input{border:1px solid #e0e0e0;border-radius:4px;box-sizing:border-box;font-size:13px;padding:8px 10px;width:100%}.edit-unit-form input:focus,.insert-unit-form input:focus{border-color:#667eea;outline:none}.edit-unit-actions,.insert-unit-actions{display:flex;gap:8px}.btn-cancel-small,.btn-save-small{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:12px;padding:6px 12px;transition:all .2s}.btn-save-small{background:#667eea;color:#fff}.btn-save-small:hover{background:#5a6fd6}.btn-cancel-small{background:#f0f0f0;color:#666}.btn-cancel-small:hover{background:#e0e0e0}.edit-form{background:#fafafa;padding:16px}.edit-form input,.edit-form textarea{border:1px solid #e0e0e0;border-radius:6px;box-sizing:border-box;font-size:14px;margin-bottom:12px;padding:10px 12px;width:100%}.edit-form textarea{font-family:inherit;resize:vertical}.edit-actions{display:flex;gap:8px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;padding:8px 16px;transition:all .2s}.btn-save{background:#667eea;color:#fff}.btn-save:hover{background:#5a6fd6}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.stats{color:#666;font-size:13px}.recognize-section,.result-section,.selected-section{margin-bottom:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.recognize-section h4,.result-section h4,.section-header h4{color:#333;font-size:14px;margin:0}.selected-units{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;max-height:400px;min-height:200px;overflow-y:auto;padding:16px}.usage-guide-placeholder{color:#666}.usage-guide-placeholder h4{align-items:center;color:#333;display:flex;font-size:15px;gap:6px;margin:0 0 12px}.usage-guide-placeholder ul{margin:0;padding-left:20px}.usage-guide-placeholder li{color:#555;font-size:13px;line-height:1.8;margin-bottom:10px}.selected-tags{display:flex;flex-wrap:wrap;gap:8px}.unit-tag{align-items:center;background:#e8f4fd;border-radius:20px;color:#1976d2;cursor:pointer;display:inline-flex;font-size:13px;gap:4px;padding:6px 12px;transition:all .2s}.unit-tag:hover{background:#d0e8fa}.recognize-section .action-btn{width:100%}.recognize-section p{margin:8px 0 12px}.action-buttons{display:flex;flex-direction:column;gap:12px}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.action-btn:disabled{cursor:not-allowed;opacity:.6}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.action-btn.secondary{background:#f0f0f0;color:#666}.action-btn.secondary:hover:not(:disabled){background:#e0e0e0}.action-btn.success{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.action-btn.success:hover:not(:disabled){box-shadow:0 4px 12px #38ef7d66;transform:translateY(-2px)}.action-btn.large{font-size:15px;padding:14px 20px;width:100%}.text-btn{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:13px;padding:4px 8px}.text-btn:hover{text-decoration:underline}.result-text{background:#f8f9fa;border-radius:8px;color:#333;font-size:15px;line-height:1.8;margin-bottom:12px;padding:16px}.modal-dialog{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e8e8e8;padding:16px 20px}.modal-header h3{color:#333;font-size:18px;margin:0}.close-btn{background:#0000;color:#999}.close-btn:hover{color:#333}.modal-body{padding:20px}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.modal-body input,.modal-body textarea{border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px 14px;width:100%}.modal-body textarea{resize:vertical}.modal-footer{border-top:1px solid #e8e8e8;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 2px 8px #667eea66;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-primary.full-width{width:100%}.recognize-result{margin-top:20px}.matched-section,.unmatched-section{margin-bottom:16px}.matched-section h4,.unmatched-section h4{color:#333;font-size:14px;margin:0 0 12px}.matched-list{display:flex;flex-direction:column;gap:8px}.matched-item{align-items:center;background:#e8f5e9;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:10px 12px}.input-text{color:#666}.arrow{color:#999}.matched-text{color:#2e7d32;font-weight:500}.score{background:#c8e6c9;border-radius:10px;color:#2e7d32;font-size:12px;margin-left:auto;padding:2px 8px}.unmatched-list{display:flex;flex-direction:column;gap:8px}.unmatched-item-wrapper{align-items:center;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;display:flex;gap:12px;padding:8px 12px}.unmatched-item{background:#ffebee;border-radius:20px;color:#c62828;font-size:13px;padding:4px 10px;white-space:nowrap}.unmatched-select-wrapper{flex:1 1;min-width:180px;position:relative}.unmatched-select-trigger{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px;transition:border-color .2s}.unmatched-select-trigger:hover{border-color:#667eea}.unmatched-select-trigger .placeholder{color:#999}.unmatched-select-trigger .selected{color:#333}.unmatched-select-trigger .dropdown-arrow{color:#999;font-size:10px;margin-left:8px}.unmatched-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:0;margin-top:4px;max-height:250px;position:absolute;right:0;top:100%;z-index:100}.unmatched-search{background:#fff;border:none;border-bottom:1px solid #e0e0e0;border-radius:6px 6px 0 0;font-size:13px;padding:8px 12px}.unmatched-search:focus{background:#f8f9fa;outline:none}.unmatched-options{max-height:200px;overflow-y:auto}.unmatched-option{cursor:pointer;font-size:13px;padding:8px 12px;transition:background .2s}.unmatched-option:hover{background:#f0f0f0}.unmatched-option.active{background:#e8f4fd;color:#1976d2}.no-options{color:#999;font-size:13px;padding:12px;text-align:center}.remove-unmatched-btn{align-items:center;background:#ef5350;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;transition:background .2s;width:24px}.remove-unmatched-btn:hover{background:#d32f2f}.usage-guide-inner{border-top:1px solid #e8e8e8;margin-top:20px;padding-top:20px}.usage-guide-inner h4{color:#333;font-size:14px;margin:0 0 12px}.usage-guide-inner ul{color:#666;margin:0;padding-left:20px}.usage-guide-inner li{font-size:13px;line-height:1.6;margin-bottom:6px}.unit-left-panel>.history-panel{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;flex-shrink:0;max-height:280px;overflow:hidden}.unit-left-panel>.history-panel .panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 20px;-webkit-user-select:none;user-select:none}.history-panel .panel-header h3{color:#fff;font-size:15px;margin:0}.toggle-history-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:12px;height:30px;justify-content:center;padding:4px 12px;transition:all .3s ease;width:30px}.toggle-history-btn:hover{background:#ffffff4d}.history-list{flex:1 1;overflow-y:auto;padding:12px}.empty-history{color:#999;font-size:13px;padding:30px 20px;text-align:center}.history-item{background:#f8f9fa;border-radius:8px;margin-bottom:8px;padding:10px 12px;transition:all .3s ease}.history-item:hover{background:#e9ecef;transform:translateX(2px)}.history-item.loaded{background:#e8f4fd;border:1px solid #b3d9f2}.history-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.history-title{color:#333;flex:1 1;font-size:13px;font-weight:600;margin-right:8px;word-break:break-all}.history-time{color:#999;font-size:11px}.history-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.history-item:hover .history-actions{opacity:1}.load-btn{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:2px 10px;transition:background .2s}.load-btn:hover:not(:disabled){background:#5a6fd6}.load-btn:disabled{cursor:not-allowed;opacity:.5}.delete-history-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:2px 10px;transition:background .2s}.delete-history-btn:hover:not(:disabled){background:#c0392b}.delete-history-btn:disabled{cursor:not-allowed;opacity:.5}.title-section{margin-bottom:20px}.title-section h4{color:#333;font-size:15px;font-weight:500;margin:0 0 8px}.title-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;color:#333;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s;width:100%}.title-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.title-input::placeholder{color:#bbb}@media (max-width:1024px){.unit-sort-content{grid-template-columns:1fr}}@media (max-width:768px){.unit-sort-container{padding:16px}.page-title{font-size:24px}.panel-header{align-items:flex-start}.group-header,.panel-header{flex-direction:column;gap:12px}.group-actions{justify-content:flex-end;width:100%}}.messages-page{margin:0 auto;max-width:900px;padding:24px}.messages-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.messages-header h1{color:#1f2937;font-size:28px;margin:0}.messages-header p{color:#6b7280;font-size:14px;margin:8px 0 0}.new-message-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.new-message-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.new-message-btn span{font-size:20px}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;padding:20px;text-align:center;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a}.stat-card.active{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.stat-value{color:#1f2937;font-size:32px;font-weight:700}.stat-label{color:#6b7280;font-size:14px;margin-top:4px}.messages-list{display:flex;flex-direction:column;gap:16px}.message-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px;transition:box-shadow .2s}.message-card:hover{box-shadow:0 4px 12px #0000001a}.message-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.message-header h3{color:#1f2937;flex:1 1;font-size:18px;margin:0}.message-meta{align-items:center;display:flex;flex-shrink:0;gap:12px}.message-time{color:#9ca3af;font-size:13px}.status-badge{border-radius:20px;font-size:12px;font-weight:500;padding:4px 10px}.status-pending{background:#fef3c7;color:#d97706}.status-replied{background:#d1fae5;color:#059669}.status-closed{background:#f3f4f6;color:#6b7280}.message-content{border-bottom:1px solid #f3f4f6;color:#4b5563;line-height:1.6;padding:12px 0}.message-content p{margin:0;white-space:pre-wrap}.message-reply{background:#f0f9ff;border-left:3px solid #0ea5e9;border-radius:0 8px 8px 0;margin-top:16px;padding:16px}.reply-header{align-items:center;color:#0369a1;display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:8px}.reply-icon{font-size:16px}.reply-time{color:#7dd3fc;font-size:12px;font-weight:400;margin-left:auto}.reply-content{color:#334155;line-height:1.6;white-space:pre-wrap}.message-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.delete-btn{background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.delete-btn:hover{background:#fecaca}.empty-state{background:#fff;border-radius:12px;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state p{color:#6b7280;margin:0 0 20px}.empty-state button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 24px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:20px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.close-btn:hover{background:#f3f4f6;color:#6b7280}.message-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px;transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:120px;resize:vertical}.char-count{color:#9ca3af;font-size:12px;margin-top:4px;text-align:right}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:15px;padding:10px 20px;transition:all .2s}.cancel-btn:hover{background:#e5e7eb}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:10px 24px;transition:all .2s}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.loading{color:#6b7280;padding:60px;text-align:center}@media (max-width:640px){.messages-page{padding:16px}.messages-header{flex-direction:column;gap:16px}.new-message-btn{justify-content:center;width:100%}.stats-cards{gap:8px;grid-template-columns:repeat(3,1fr)}.stat-card{padding:12px 8px}.stat-value{font-size:24px}.message-header{flex-direction:column;gap:8px}.message-meta{justify-content:flex-start;width:100%}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s ease-in-out infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;width:50px}.loading-container p{color:#fff;font-size:16px;margin-top:20px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.34ce5769.css.map*/