:root{--color-primary: #1976d2;--color-primary-dark: #0d47a1;--color-accent: #42a5f5;--color-blue: #3498db;--color-success: #2ed573;--color-success-bg: rgba(46, 213, 115, .2);--color-success-border: rgba(46, 213, 115, .3);--color-error: #ff6b6b;--color-error-bg: rgba(231, 76, 60, .2);--color-error-border: rgba(231, 76, 60, .3);--color-warning: #f59e0b;--color-gold: #ffd700;--color-text: #fff;--color-text-dark: #333;--color-text-muted: #666;--color-text-light: rgba(255, 255, 255, .7);--color-glass-bg: rgba(255, 255, 255, .1);--color-glass-border: rgba(255, 255, 255, .2);--color-glass-hover: rgba(255, 255, 255, .15);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--shadow-sm: 0 4px 16px rgba(0, 0, 0, .1);--shadow-md: 0 8px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 25px 60px rgba(0, 0, 0, .25);--transition: all .3s ease;--gradient-bg: linear-gradient(135deg, #0a1929 0%, #1a2a4a 50%, #16213e 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans SC,Segoe UI,Tahoma,sans-serif;background:var(--gradient-bg);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.glass{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3;transition:all .3s ease}.glass:hover{background:#ffffff26;box-shadow:0 12px 40px #00000026,inset 0 1px #ffffff4d}.glass-light{background:#ffffff26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.25);border-radius:24px;box-shadow:0 8px 32px #00000014,inset 0 1px #ffffff4d}.glass-dark{background:#0000001a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a}.header{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.2);color:#fff;padding:25px 20px;text-align:center;box-shadow:0 4px 20px #0000001a,inset 0 1px #fff3}.header h1{font-size:28px;font-weight:300;letter-spacing:2px}.report-title{font-weight:600!important}.main-content{flex:1;padding:30px 20px;max-width:1000px;margin:0 auto;width:100%}.form{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:30px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}.form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;margin-bottom:25px}@media (max-width:768px){.form-grid{grid-template-columns:1fr!important}}.input-group{margin-bottom:15px;display:block}.input-group label{display:inline-block;margin-bottom:8px;font-weight:600;color:#fff;font-size:14px}.input-group.full-width label{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px}.input-group input[type=text]{width:100%;padding:12px 16px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:14px;font-family:Segoe UI,sans-serif;color:#fff;transition:all .3s ease;outline:none;display:block}.input-group input[type=text]:focus{border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a}.input-group.is-focused label{color:#ffffffe6}.input-group input[type=text]::placeholder{color:#fff9}.input-group.full-width{grid-column:1/-1;margin-bottom:25px}.form-section{margin-bottom:24px;padding:22px 24px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;transition:border-color .3s ease,box-shadow .3s ease}.form-section:hover{border-color:#ffffff38}.form-section-primary{background:#42a5f50d;border-color:#42a5f540}.section-highlight{background:#ffc1070f;border-color:#ffc10740}.section-title{color:#fff;font-size:16px;font-weight:700;margin:0 0 18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-desc{font-size:12px;font-weight:400;color:#ffffff80;margin-left:4px}.required-mark{color:#ff6b6b;margin-left:2px;font-weight:700}.field-hint{font-size:11px;font-weight:400;color:#42a5f5b3;margin-left:6px;padding:1px 6px;background:#42a5f51a;border-radius:4px}.input-group.has-error input{border-color:#ff6b6b99!important;box-shadow:0 0 0 3px #ff6b6b1a!important}.field-error{display:block;margin-top:4px;font-size:12px;color:#ff6b6b}.field-select{width:100%;padding:12px 40px 12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:14px;color:#fff;outline:none;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center}.field-select:focus{border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a}.field-select option{background:#1a1a2e;color:#fff}.form-section .form-grid{margin-bottom:0!important}.textarea-container{position:relative}.placeholder-hint{position:absolute;top:12px;left:15px;color:#fff9;font-size:12px;pointer-events:none;z-index:10}.large-input{width:100%;min-height:180px;padding:15px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);border-radius:14px;font-family:Arial,sans-serif;font-size:14px;resize:vertical;color:#fff;transition:all .3s ease;outline:none}.large-input:focus{border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a}.large-input::placeholder{color:#fff9}.submit-btn{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:14px 30px;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-size:16px;cursor:pointer;width:100%;font-weight:600;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#ffffff4d;box-shadow:0 4px 15px #0003}.submit-btn:active:not(:disabled){transform:scale(.98);box-shadow:inset 0 2px 8px #0000004d}.submit-btn:disabled{background:#ffffff1a;cursor:not-allowed;border-color:#ffffff1a}.message{margin-top:15px;padding:12px;border-radius:10px;text-align:center;font-weight:600}.message.success{background:#2ed57333;color:#2ed573;border:1px solid rgba(46,213,115,.3)}.message.error{background:#e74c3c33;color:#ff6b6b;border:1px solid rgba(231,76,60,.3)}.error-boundary{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gradient-bg);padding:20px;text-align:center}.error-icon{font-size:80px;margin-bottom:24px}.error-title{font-size:28px;color:#fff;margin-bottom:16px;font-weight:600}.error-message{font-size:16px;color:#fffc;margin-bottom:24px;max-width:400px}.retry-btn{padding:14px 32px;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gradient-bg)}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#fff;margin-top:20px;font-size:16px;opacity:.8}.welcome-page{min-height:80vh;display:flex;align-items:center;justify-content:center;flex-direction:column}.welcome-center{text-align:center;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column}.welcome-center h1{font-size:36px;margin-bottom:10px}.welcome-sub{color:#ffffffb3;margin-bottom:20px}.welcome-actions .primary{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:12px 24px;border-radius:12px;border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.welcome-actions .primary:hover{background:#ffffff4d}.welcome-footer-compact{position:absolute;bottom:0;left:0;right:0;padding:12px 20px;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;gap:6px}.footer-links{display:flex;align-items:center;gap:8px;font-size:11px}.footer-links a{color:#ffffffb3;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#fff}.footer-links span{color:#fff6}.footer-info{display:flex;align-items:center;gap:15px;font-size:10px;color:#ffffff80}@media (max-width: 768px){.footer-links{flex-wrap:wrap;justify-content:center;gap:6px}.footer-info{flex-direction:column;gap:3px}}.welcome-footer{padding:40px 20px 20px;text-align:center;display:flex;flex-direction:column;gap:8px}.policy-links{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:10px;flex-wrap:wrap}.link-separator{color:#ffffff80;font-size:12px}.privacy-link{color:#ffffff80;font-size:12px;text-decoration:none;opacity:.7;transition:all .3s ease}.privacy-link:hover{text-decoration:underline;opacity:1;color:#ffffffe6}.contact-info{color:#ffffff80;font-size:12px;opacity:.7;margin:0}.copyright-info{margin-top:15px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.copyright-info p{color:#fff6;font-size:11px;margin:3px 0}.icp-info{opacity:.5}.welcome-title{font-size:42px;margin-bottom:10px;color:#fff;cursor:pointer;font-weight:700;letter-spacing:4px}.welcome-title:hover{color:#64b5f6}.welcome-subtitle{font-size:14px;color:#fff9;cursor:pointer;margin-top:10px}.dashboard{display:flex;gap:20px;padding:20px;min-height:calc(100vh - 40px)}.left-panel{flex:7;display:flex;flex-direction:column;gap:16px}.right-panel{flex:3;display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 40px)}@media (max-width: 768px){.dashboard{flex-direction:column;padding:12px;gap:12px}.left-panel{flex:1}.right-panel{flex:none;min-height:auto}.main-content{max-width:100%!important;padding:12px!important}.form-grid{grid-template-columns:1fr!important}.header{padding:10px 12px!important}.report-title{font-size:18px!important}}.file-upload-area.drag-over{border-color:var(--color-accent);background:#42a5f51a;transform:scale(1.02)}.file-analyzing-indicator{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:var(--radius-sm);color:var(--color-primary);font-size:13px;margin-top:8px}.file-analyzing-indicator .mini-spinner{width:14px;height:14px;border:2px solid rgba(102,126,234,.3);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.not-found-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text);text-align:center}.not-found-page h1{font-size:120px;margin-bottom:10px;background:var(--gradient-bg);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.not-found-page p{font-size:18px;margin-bottom:30px;color:var(--color-text-light)}.glass-box,.glass-item{background:#ffffff1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.22);border-radius:20px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3;transition:all .3s ease}.glass-item{padding:16px 20px;cursor:pointer;color:#fff}.glass-item:hover{background:#ffffff2e;transform:translateY(-2px);box-shadow:0 12px 40px #00000026,inset 0 1px #ffffff4d}.nav-item,.link-item{color:#fff}.login-link{color:#64b5f6;font-weight:500}.user-display{color:#fff;font-weight:500}.box{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:20px;border-radius:16px;box-shadow:0 8px 32px #0000001a}.main-box{margin-bottom:16px;cursor:pointer}.box-header{display:flex;align-items:center;justify-content:space-between}.box-title{font-weight:600;color:#fff;font-size:18px}.expand-icon{color:#fff;font-size:12px;transition:transform .3s ease}.expand-icon.expanded{transform:rotate(180deg)}.box-content{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:0}.box-content.expanded{max-height:150px;opacity:1}.box-link{margin-top:12px;padding-top:12px}.box-link a{color:#64b5f6;text-decoration:none;font-size:16px;font-weight:500}.box-link a:hover{text-decoration:underline}.ad-box{padding:24px;text-align:center;background:linear-gradient(135deg,#ffd70033,#ffa50033);border:1px dashed rgba(255,215,0,.4);flex-grow:1;display:flex;flex-direction:column;justify-content:center;gap:16px}.ad-text{color:gold;font-size:16px;font-weight:600;letter-spacing:2px}.ad-contact{color:#fa0;font-size:14px;font-weight:500}.login-modal,.feedback-modal,.profile-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-box{position:relative;background:#ffffff26;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.3);padding:40px;border-radius:24px;width:420px;display:flex;flex-direction:column;justify-content:flex-start;box-shadow:0 25px 60px #00000040,inset 0 1px #fff6;max-height:80vh;overflow-y:auto}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.login-modal-container{background:linear-gradient(135deg,#ffffff26,#ffffff0d);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.2);border-radius:24px;width:420px;max-width:90vw;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.login-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid rgba(255,255,255,.1)}.login-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.modal-close-btn{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.modal-close-btn:hover{background:#ffffff1a;color:#fff}.login-form{padding:24px 32px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:500;color:#fffc;margin-bottom:8px}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;color:#ffffff80}.form-input{width:100%;padding:14px 14px 14px 48px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:15px;transition:all .3s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#42a5f5;box-shadow:0 0 0 3px #42a5f526}.form-input::placeholder{color:#fff6}.form-message{padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:center}.form-message.success{background:#00ff8826;color:#0f8;border:1px solid rgba(0,255,136,.3)}.form-message.error{background:#ff505026;color:#ff5050;border:1px solid rgba(255,80,80,.3)}.submit-btn{width:100%;padding:14px;background:linear-gradient(135deg,#1976d2,#0d47a1);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #42a5f566}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{background:#fff3;cursor:not-allowed}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.form-footer{text-align:center;margin-top:16px}.switch-link{color:#42a5f5cc;font-size:14px;cursor:pointer;transition:color .2s}.switch-link:hover{color:#42a5f5;text-decoration:underline}.user-center-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:0 16px}.user-center-header h1{margin:0;font-size:24px;color:#fff}.user-card{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:24px;margin-bottom:24px}.user-avatar{text-align:center;margin-bottom:20px}.avatar-icon{font-size:64px}.user-details{margin-bottom:20px}.detail-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff0d;border-radius:12px;margin-bottom:12px}.detail-row:last-child{margin-bottom:0}.detail-label{font-size:14px;color:#fff9}.detail-value{font-size:14px;color:#fff;font-weight:500}.edit-btn{padding:6px 16px;background:#42a5f533;border:1px solid rgba(66,165,245,.4);border-radius:8px;color:#42a5f5;font-size:13px;cursor:pointer;transition:all .2s}.edit-btn:hover{background:#42a5f54d}.user-card .logout-btn{width:100%;padding:12px;background:#ff505033;border:1px solid rgba(255,80,80,.4);border-radius:12px;color:#ff5050;font-size:14px;cursor:pointer;transition:all .2s}.user-card .logout-btn:hover{background:#ff50504d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{background:#1e1e28f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;width:360px;max-width:90vw}.modal-content h3{margin:0 0 20px;color:#fff;font-size:18px}.modal-content input{width:100%;padding:12px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:14px;margin-bottom:12px;box-sizing:border-box}.modal-content input:focus{outline:none;border-color:#42a5f5}.modal-content input::placeholder{color:#fff6}.modal-message{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:center}.modal-message.success{background:#00ff8826;color:#0f8}.modal-message.error{background:#ff505026;color:#ff5050}.modal-actions{display:flex;gap:12px}.modal-actions .cancel-btn{flex:1;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.modal-actions .cancel-btn:hover{background:#ffffff26}.modal-actions .confirm-btn{flex:1;padding:12px;background:linear-gradient(135deg,#1976d2,#0d47a1);border:none;border-radius:10px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.modal-actions .confirm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #42a5f566}.profile-box{width:360px;height:auto}.modal-box h2{font-size:24px;margin-bottom:24px;text-align:center;color:#fff;font-weight:600}.modal-box .close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#ffffff1a;border-radius:50%;color:#ffffffb3;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.modal-box .close-btn:hover{background:#fff3;color:#fff}.form-group{display:flex;flex-direction:column;gap:10px;margin-top:8px}.modal-box label{color:#fff;font-weight:600;font-size:14px}.modal-box input{padding:14px 16px;border:2px solid rgba(255,255,255,.2);border-radius:12px;font-size:15px;width:100%;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;transition:all .2s ease;outline:none;box-sizing:border-box}.modal-box input:focus{border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff26}.modal-box input:hover{border-color:#ffffff4d}.modal-box input::placeholder{color:#fff9}.modal-box input:disabled{background:#ffffff0d;border-color:#ffffff1a;color:#ffffff80;cursor:not-allowed}.modal-box input.error{border-color:#e74c3c;background:#e74c3c26}.modal-box input.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #e74c3c33}.modal-box button{padding:14px;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-weight:600;cursor:pointer;width:100%;font-size:15px;transition:all .2s ease}.modal-box button:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 15px #0003}.modal-box button:active:not(:disabled){transform:translateY(0)}.modal-box button:disabled{background:#ffffff14;border-color:#ffffff1a;cursor:not-allowed;box-shadow:none}.modal-box .hint{color:#ff6b6be6;text-align:center;margin-top:12px;font-size:13px;padding:10px 12px;background:#fef2f2;border-radius:8px;border:1px solid #fee2e2}.hint-success{color:#27ae60!important;background:#f0fdf4!important;border-color:#bbf7d0!important}.button-wrapper{display:flex;flex-direction:column;gap:10px}.modal-tip{text-align:center;color:#6b7280;font-size:12px;display:block;margin-top:8px}.welcome-hint{color:#aaa;font-size:13px;margin-top:12px}.input-wrapper{position:relative}.clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;color:#9ca3af;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.clear-btn:hover{background:#0000000d;color:#6b7280}.input-error{color:#dc2626;font-size:12px;margin-top:4px;margin-bottom:0}@media (max-width:480px){.modal-box{width:calc(100% - 32px);padding:24px;margin:16px}.modal-box input{padding:12px 14px;font-size:14px}.modal-box button{padding:12px;font-size:14px}}.feedback-textarea{width:100%;min-height:120px;padding:14px 16px;border:2px solid #e1e5e9;border-radius:10px;font-size:15px;resize:vertical;background:#fff;color:#2c3e50;transition:all .2s ease;outline:none;box-sizing:border-box;font-family:inherit}.feedback-textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.feedback-textarea:hover{border-color:#cbd5dc}.feedback-textarea::placeholder{color:#9ca3af}.char-count{text-align:right;font-size:12px;color:#6b7280;margin-top:4px}.profile-greeting{text-align:center;font-size:18px;margin-bottom:24px;color:#333}.info-box{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:12px}.info-title{font-size:12px;color:#999;margin-bottom:4px}.info-content{font-size:14px;color:#333;font-weight:500}.toast-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:16px 24px;border-radius:12px;font-size:14px;z-index:2000;box-shadow:0 4px 20px #0000004d}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);padding:32px;border-radius:16px;width:400px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 32px #0003}.modal-content h2{font-size:20px;margin:0;color:#333}.modal-content p{color:#666;font-size:14px;margin:0}.report-name-input{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;width:100%;box-sizing:border-box}.modal-actions{display:flex;gap:12px;margin-top:8px}.modal-btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn.cancel{background:#f5f5f5;color:#666}.modal-btn.cancel:hover{background:#e8e8e8}.modal-btn.confirm{background:#3498db;color:#fff}.modal-btn.confirm:hover{background:#2980b9}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.date-picker-group{width:100%}.date-picker{display:flex;align-items:center;gap:4px}.date-select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;color:#333;cursor:pointer;min-width:100px}.date-select:focus{outline:none;border-color:#3498db}.date-select option{padding:8px}.date-separator{color:#999;font-size:16px;margin:0 4px}.ai-selector{background:#667eea26!important;border:2px solid rgba(102,126,234,.6)!important;border-radius:12px;padding:16px 24px;margin-bottom:20px;cursor:pointer;text-align:center;transition:all .3s ease;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px;visibility:visible!important;opacity:1!important;min-height:56px;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.ai-notice{display:flex;align-items:center;justify-content:center;gap:10px;background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:10px;padding:12px 20px;margin-bottom:20px;font-size:14px;color:#1976d2}.ai-notice .ai-icon{font-size:18px}.ai-selector.selected{background:linear-gradient(135deg,#1976d2,#0d47a1)!important;border-color:#1976d2!important;box-shadow:0 4px 20px #667eea80!important}.ai-selector.selected .ai-text{color:#fff}.ai-text{font-weight:700;color:#1976d2;font-size:16px}.ai-icon{font-size:20px}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}.toast{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px;border-radius:10px;box-shadow:0 5px 20px #00000026;display:flex;align-items:center;gap:10px;animation:slideIn .3s ease;min-width:300px}.toast-success{border-left:4px solid #27ae60}.toast-error{border-left:4px solid #e74c3c}.toast-warning{border-left:4px solid #f39c12}.toast-info{border-left:4px solid #3498db}.toast-icon{font-size:18px;font-weight:700}.toast-success .toast-icon{color:#27ae60}.toast-error .toast-icon{color:#e74c3c}.toast-warning .toast-icon{color:#f39c12}.toast-info .toast-icon{color:#3498db}.toast-message{font-size:14px;color:#333}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto}}.loading-fields{grid-column:1/-1;text-align:center;color:#fff;padding:20px}.debug-border{border:1px solid red!important}.policy-page{min-height:100vh;background:var(--gradient-bg);padding:40px 20px}.policy-header{max-width:900px;margin:0 auto 40px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:30px;box-shadow:0 10px 40px #0000001a}.policy-header h1{font-size:32px;font-weight:700;color:#333;margin:20px 0;text-align:center}.policy-meta{display:flex;justify-content:center;gap:20px;color:#666;font-size:14px}.policy-content{max-width:900px;margin:0 auto;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;box-shadow:0 10px 40px #0000001a}.policy-section{margin-bottom:40px}.policy-section h2{font-size:24px;font-weight:700;color:#1976d2;margin:30px 0 20px;padding-bottom:10px;border-bottom:2px solid #1976d2}.policy-section h3{font-size:18px;font-weight:600;color:#333;margin:20px 0 15px}.policy-section h4{font-size:16px;font-weight:600;color:#555;margin:15px 0 10px}.policy-section p{font-size:15px;line-height:1.8;color:#444;margin:10px 0}.policy-section ul{margin:15px 0;padding-left:20px}.policy-section li{font-size:15px;line-height:1.8;color:#444;margin:8px 0}.policy-table{width:100%;border-collapse:collapse;margin:20px 0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.policy-table th{background:linear-gradient(135deg,#1976d2,#0d47a1);color:#fff;padding:15px;font-weight:600;text-align:left}.policy-table td{padding:12px 15px;border-bottom:1px solid #eee;color:#444}.policy-table tr:last-child td{border-bottom:none}.policy-footer{text-align:center;padding:30px 0;color:#666;font-size:14px}.back-btn{background:#667eea1a;border:2px solid rgba(102,126,234,.3);color:#1976d2;padding:10px 20px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.back-btn:hover{background:#667eea33;border-color:#667eea80}.back-btn:active{transform:scale(.98);box-shadow:inset 0 2px 6px #667eea4d}.preview-page{display:flex;min-height:100vh;background:var(--gradient-bg)}.preview-content{flex:1;padding:20px;max-width:60%}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:15px 20px}.preview-header h2{font-size:20px;font-weight:700;color:#333}.preview-actions{display:flex;gap:10px;align-items:center}.export-select{padding:8px 15px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:14px}.export-btn{background:linear-gradient(135deg,#1976d2,#0d47a1);color:#fff;padding:10px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease}.export-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.export-btn:active:not(:disabled){transform:scale(.98);box-shadow:inset 0 2px 6px #667eea4d}.export-btn:disabled{opacity:.6;cursor:not-allowed}.restore-btn{background:#e74c3c1a;color:#e74c3c;padding:10px 20px;border:2px solid rgba(231,76,60,.3);border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease}.restore-btn:hover{background:#e74c3c33;border-color:#e74c3c80}.restore-btn:active{transform:scale(.98);box-shadow:inset 0 2px 6px #e74c3c4d}.preview-body{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:30px;min-height:500px;overflow-y:auto}.report-preview{font-size:15px;line-height:1.8;color:#333}.report-preview p{margin:10px 0}.ai-chat-panel{width:40%;max-width:500px;padding:20px;display:flex;flex-direction:column;gap:15px}.chat-header{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:20px;text-align:center}.chat-header h3{font-size:18px;font-weight:700;color:#1976d2;margin:0 0 5px}.chat-header p{font-size:14px;color:#666}.revision-info{margin-top:10px;padding:8px 16px;background:#ffc10726;border-radius:20px;display:inline-block}.revision-info span{font-size:12px;color:#f59e0b;font-weight:500}.regenerate-section{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:15px;padding:15px;text-align:center}.regenerate-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;width:100%}.regenerate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #22c55e66}.regenerate-btn:active:not(:disabled){transform:scale(.98);box-shadow:inset 0 2px 6px #22c55e4d}.regenerate-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.regenerate-tip{font-size:12px;color:#666;margin:10px 0 0;line-height:1.5}.quick-actions{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:15px}.quick-actions h4{font-size:14px;font-weight:600;color:#333;margin:0 0 10px}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-btn{background:#667eea1a;border:1px solid rgba(102,126,234,.3);color:#1976d2;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .3s ease}.action-btn:hover{background:#667eea33;border-color:#667eea80}.action-btn:active{transform:scale(.98);box-shadow:inset 0 2px 4px #667eea4d}.chat-messages{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:15px;min-height:200px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.chat-message{display:flex;gap:10px;align-items:flex-start}.chat-message.user{flex-direction:row-reverse}.message-avatar{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:50%;font-size:16px}.chat-message.user .message-avatar{background:#e74c3c1a}.message-content{flex:1;background:#667eea1a;padding:10px 15px;border-radius:10px;font-size:14px;color:#333;line-height:1.5}.chat-message.user .message-content{background:#e74c3c1a}.message-content.typing{color:#999;font-style:italic}.chat-input-area{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:15px;display:flex;flex-direction:column;gap:10px}.chat-input{width:100%;padding:12px;border:2px solid #ddd;border-radius:10px;font-size:14px;resize:none;font-family:inherit}.chat-input:focus{outline:none;border-color:#1976d2}.send-btn{background:linear-gradient(135deg,#1976d2,#0d47a1);color:#fff;padding:10px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.send-btn:active:not(:disabled){transform:scale(.98);box-shadow:inset 0 2px 6px #667eea4d}.send-btn:disabled{opacity:.6;cursor:not-allowed}.chat-tips{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;padding:15px}.chat-tips h4{font-size:14px;font-weight:600;color:#333;margin:0 0 10px}.chat-tips ul{margin:0;padding-left:20px}.chat-tips li{font-size:13px;color:#666;line-height:1.6;margin:5px 0}@media (max-width: 1024px){.preview-page{flex-direction:column}.preview-content{max-width:100%}.ai-chat-panel{width:100%;max-width:100%}}@media (max-width: 768px){.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%;flex-wrap:wrap}.policy-meta{flex-direction:column;gap:10px}}.attachment-section{margin-top:12px}.attachment-label{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:12px 16px;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.attachment-title{font-weight:700;color:#ea580c;white-space:nowrap}.attachment-items{color:#9a3412;font-size:13px;line-height:1.6}.file-upload-area{border:2px dashed #ddd;border-radius:8px;padding:30px;cursor:pointer;transition:all .3s ease;min-height:150px;display:flex;align-items:center;justify-content:center}.file-upload-area:hover{border-color:#3498db;background:#3498db0d}.upload-hint{display:flex;flex-direction:column;align-items:center;color:#999;gap:8px}.upload-icon{font-size:48px;margin-bottom:10px}.upload-tip{font-size:12px;color:#bbb;margin-top:5px}.uploaded-files{display:flex;flex-wrap:wrap;gap:10px}.uploaded-file-item{position:relative;width:120px;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;background:#f8f9fa}.file-preview{width:100%;height:80px;object-fit:cover}.file-icon{width:100%;height:80px;display:flex;align-items:center;justify-content:center;font-size:36px;background:#e9ecef}.file-info{padding:8px;display:flex;flex-direction:column;gap:2px}.file-name{font-size:11px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:10px;color:#999}.remove-file-btn{position:absolute;top:5px;right:5px;background:#ffffffe6;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#e74c3c;transition:background .3s;box-shadow:0 1px 3px #0003}.remove-file-btn:hover{background:#e74c3c;color:#fff}.add-more-file{width:120px;height:120px;border:2px dashed #ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;font-size:24px;color:#999}.add-more-file:hover{border-color:#3498db;color:#3498db}.file-analysis-results{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px}.file-analysis-results h4{margin:0 0 10px;color:#333;font-size:14px}.analysis-result{margin-bottom:10px;padding:10px;background:#fff;border-radius:4px;border-left:3px solid #3498db}.analysis-result strong{color:#333}.analysis-result p{margin:5px 0 0;color:#666;font-size:13px;line-height:1.5}.analysis-result:last-child{margin-bottom:0}.progress-container{margin-top:15px}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#9b59b6);border-radius:4px;transition:width .3s ease}.progress-text{display:block;text-align:center;font-size:14px;color:#666}.library-select-page{min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center}.page-header{text-align:center;margin-bottom:32px;display:flex;flex-direction:column;align-items:center;gap:12px}.back-btn{display:inline-block;padding:8px 18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.back-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.page-title{font-size:28px;font-weight:700;color:#fff;margin:0}.legal-container{max-width:900px;margin:0 auto;padding:30px 20px}.legal-header{text-align:center;margin-bottom:30px}.legal-header h1{font-size:28px;color:#2c3e50;font-weight:700}.legal-tabs{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.tab-btn{padding:10px 20px;border:1px solid #3498db;background:#fff;color:#3498db;border-radius:5px;cursor:pointer;font-size:14px;transition:all .3s}.tab-btn:hover{background:#ecf0f1}.tab-btn.active{background:#3498db;color:#fff}.legal-content{background:#fffffff2;border-radius:10px;padding:30px;box-shadow:0 2px 10px #0000001a}.content-text{white-space:pre-wrap;line-height:1.8;color:#333;font-size:14px}.user-center{max-width:900px;margin:0 auto;padding:30px 20px}.user-header{display:flex;justify-content:space-between;align-items:center;padding:24px;background:#ffffff1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;margin-bottom:25px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}.user-info{display:flex;align-items:center;gap:15px}.avatar{width:60px;height:60px;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center}.avatar-icon{font-size:30px}.user-detail h2{font-size:20px;color:#fff;margin:0}.user-email{color:#ffffffb3;font-size:14px;margin:5px 0 0}.logout-btn{padding:10px 20px;background:#e74c3c33;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ff6b6b;border:1px solid rgba(231,76,60,.3);border-radius:10px;cursor:pointer;font-size:14px;transition:all .3s}.logout-btn:hover{background:#e74c3c4d}.section{background:#ffffff1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:25px;margin-bottom:20px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}.section h3{font-size:18px;color:#fff;margin-bottom:20px;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:10px}.empty-state{text-align:center;padding:40px 20px;color:#fff9}.empty-icon{font-size:50px;display:block;margin-bottom:15px}.report-list{display:flex;flex-direction:column;gap:15px}.report-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;transition:all .3s ease}.report-item:hover{background:#ffffff26}.report-info{flex:1}.report-name{font-size:16px;color:#fff;margin:0 0 8px}.report-meta{display:flex;gap:15px;font-size:13px;color:#fff9;margin:0}.report-type{background:#3498db4d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:4px 10px;border-radius:8px;font-size:12px;border:1px solid rgba(52,152,219,.4)}.report-actions{display:flex;gap:10px}.download-btn{padding:8px 15px;background:#27ae6033;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#2ed573;border:1px solid rgba(39,174,96,.3);border-radius:8px;cursor:pointer;font-size:13px;transition:all .3s}.download-btn:hover{background:#27ae604d}.word-btn{background:#2980b933;border-color:#2980b94d;color:#5dade2}.word-btn:hover{background:#2980b94d}.settings-list{display:flex;flex-direction:column;gap:10px}.settings-item{display:flex;align-items:center;gap:12px;padding:15px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;cursor:pointer;transition:all .3s}.settings-item:hover{background:#ffffff26}.settings-icon{font-size:20px}.settings-text{color:#fff;font-size:15px}.page-header{display:flex;align-items:center;justify-content:center;margin-bottom:32px;background:transparent;border:none;position:relative}.back-btn{position:absolute;right:0;padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;transition:all .2s}.back-btn:hover{background:#ffffff4d}.page-title{font-size:28px;color:#fff;font-weight:600;margin:0;text-align:center;background:transparent;border:none}.library-grid-wrapper{width:100%;max-width:1000px;margin-bottom:32px}.library-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;width:100%}@media (max-width:768px){.library-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:480px){.library-grid{grid-template-columns:1fr!important}}.library-card{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;cursor:pointer;text-align:center;position:relative;transition:all .3s ease}.library-card:hover{background:#ffffff26;transform:translateY(-4px);border-color:#fff6}.library-card.selected{background:#3498db4d;border-color:#3498db}.library-icon{font-size:48px;margin-bottom:12px}.library-name{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}.library-desc{font-size:14px;color:#ffffffb3}.selected-indicator{position:absolute;top:12px;right:12px;width:24px;height:24px;background:#3498db;border-radius:50%;color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}.library-card.disabled-card{background:#ffffff0d;border-color:#ffffff1a;cursor:not-allowed;opacity:.6}.library-card.disabled-card:hover{transform:none;background:#ffffff0d;border-color:#ffffff1a}.disabled-icon{opacity:.5}.disabled-text{color:#fff6!important}.confirm-section{text-align:center}.confirm-btn{padding:14px 48px;background:#3498db;border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn:hover:not(:disabled){background:#2980b9;transform:translateY(-2px);box-shadow:0 4px 15px #3498db66}.confirm-btn:active:not(:disabled){transform:scale(.98);box-shadow:inset 0 2px 8px #0000004d}.confirm-btn:disabled{background:#bdc3c7;cursor:not-allowed}.hint-text{color:#ffffffb3;font-size:14px;margin-top:12px}.library-tag{display:inline-block;font-size:13px;font-weight:600;color:#42a5f5;margin-top:10px;padding:4px 14px;background:#42a5f51f;border:1px solid rgba(66,165,245,.3);border-radius:20px}.report-item{color:#64b5f6;font-size:16px;font-weight:500;cursor:pointer;padding:8px 0;background:transparent}.report-item:hover{text-decoration:underline}.help-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#42a5f533;border:1px solid rgba(66,165,245,.4);border-radius:4px;cursor:pointer;margin-left:8px;transition:all .2s}.help-btn:hover{background:#42a5f54d;transform:scale(1.1)}.help-icon{font-size:14px;font-weight:700;color:#42a5f5}.help-modal{background:#14141ef2;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.15);border-radius:20px;width:500px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 25px 60px #00000059}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{margin:0;font-size:18px;color:#fff}.modal-header .close-btn{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.modal-header .close-btn:hover{background:#ffffff1a;color:#fff}.help-content{padding:20px 24px;max-height:60vh;overflow-y:auto}.help-section{margin-bottom:20px}.help-section:last-child{margin-bottom:0}.help-section h4{margin:0 0 10px;font-size:15px;color:#42a5f5}.help-section ul{margin:0;padding-left:20px}.help-section li{color:#fffc;font-size:14px;margin-bottom:6px;line-height:1.6}.help-section li:last-child{margin-bottom:0}.help-tip{margin-top:20px;padding:14px 16px;background:#42a5f51a;border-radius:10px;border-left:3px solid #42a5f5;color:#ffffffe6;font-size:14px}.payment-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000}.payment-modal{background:#14141ef2;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.15);border-radius:24px;width:420px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #00000059}.payment-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(255,255,255,.2)}.payment-header h2{color:#fff;font-size:20px;margin:0;font-weight:600}.payment-header .close-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:24px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.payment-header .close-btn:hover{background:#ffffff40}.payment-select{padding:24px}.payment-amount{text-align:center;padding:20px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:16px;margin-bottom:24px}.amount-label{display:block;color:#fffc;font-size:14px;margin-bottom:8px}.amount-value{display:block;color:gold;font-size:36px;font-weight:700}.payment-methods h3{color:#fff;font-size:16px;margin-bottom:16px;text-align:center}.payment-method{display:flex;align-items:center;padding:16px 20px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all .2s}.payment-method:hover{background:#ffffff26;border-color:#fff6}.payment-method.selected{background:#3498db4d;border-color:#3498db}.payment-method.disabled{opacity:.5;cursor:not-allowed}.payment-method.disabled:hover{background:#ffffff1a;border-color:#fff3}.method-badge{margin-left:auto;font-size:12px;padding:2px 10px;border-radius:10px;background:#f1c40f40;border:1px solid rgba(241,196,15,.6);color:#f1c40f;white-space:nowrap}.method-icon{font-size:32px;margin-right:16px}.tips-button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#667eea4d;border:1px solid rgba(102,126,234,.5);border-radius:6px;cursor:pointer;color:#fff;font-size:14px;font-weight:700;transition:all .3s ease;margin-left:8px;vertical-align:middle}.tips-button:hover{background:#667eea80;transform:scale(1.1);box-shadow:0 2px 10px #667eea66}.tips-button:active{transform:scale(.95)}.tips-modal{background:#14141ef2;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.15);border-radius:20px;width:520px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 25px 60px #00000059;display:flex;flex-direction:column}.tips-modal h2{color:#1976d2;font-size:20px;margin:0 0 16px;font-weight:600;text-align:center}.tips-content-wrapper{flex:1;overflow-y:auto;padding:0 24px 24px}.tips-content{padding:0}.tips-content p{color:#ffffffe6;font-size:14px;margin-bottom:16px;line-height:1.6}.tips-content ul{margin:0;padding-left:20px}.tips-content li{color:#fffc;font-size:14px;margin-bottom:10px;line-height:1.6}.tips-content li strong{color:#64b5f6}.tips-content li ul{margin-top:8px;margin-bottom:8px;padding-left:20px}.tips-content li ul li{color:#ffffffb3;font-size:13px;margin-bottom:6px;line-height:1.5}.tips-note{margin-top:20px!important;padding:12px 16px;background:#667eea26;border-left:3px solid #1976d2;border-radius:0 8px 8px 0;color:#ffffffe6;font-size:13px}.tips-modal .close-btn{position:absolute;top:12px;right:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;font-size:20px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.tips-modal .close-btn:hover{background:#fff3;color:#fff}@media (max-width: 768px){.tips-modal{width:calc(100% - 32px);margin:16px}}.method-name{color:#fff;font-size:18px;font-weight:600}.payment-tip{margin-top:24px;padding:12px;background:#ffffff0d;border-radius:8px}.payment-tip p{color:#fff9;font-size:12px;margin:4px 0}.payment-qrcode{padding:24px;text-align:center}.qrcode-info h3{color:#fff;font-size:18px;margin-bottom:8px}.amount-display{color:gold;font-size:32px;font-weight:700;margin-bottom:24px}.qrcode-box{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px}.qrcode-loading{padding:40px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.payment-processing{padding:40px 24px;text-align:center}.payment-processing .spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.payment-processing p{color:#fffc;font-size:16px}.qrcode-loading p{color:#666;font-size:14px}.qrcode-placeholder{margin-bottom:16px}.qr-icon{font-size:80px;margin-bottom:8px}.qr-icon p{color:#333;font-size:14px;margin:0}.qrcode-tip{margin-top:16px}.qrcode-tip p{color:#666;font-size:14px;margin:4px 0}.mock-pay-btn{width:100%;padding:14px;background:#27ae60;border:none;border-radius:10px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px;transition:all .2s}.mock-pay-btn:hover:not(:disabled){background:#219a52}.mock-pay-btn:disabled{background:#95a5a6;cursor:not-allowed}.payment-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}.back-payment-btn{width:100%;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.back-payment-btn:hover{background:#fff3}.back-btn{width:100%;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.back-btn:hover{background:#fff3}.payment-success{padding:60px 24px;text-align:center}.success-icon{width:80px;height:80px;background:#27ae60;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;margin:0 auto 24px;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.payment-success h3{color:#fff;font-size:24px;margin-bottom:12px}.payment-success p{color:#fffc;font-size:16px}.welcome-intro{color:#ffffffa6;font-size:13px;margin-top:10px;letter-spacing:1px}.welcome-actions{margin-top:28px}.dashboard-wrapper{display:flex;flex-direction:column;min-height:100vh}.dashboard-wrapper .dashboard{flex:1;min-height:auto}.coming-soon-tag{font-size:11px;color:#fff;background:#f59e0b4d;border:1px solid rgba(245,158,11,.5);padding:2px 10px;border-radius:12px;letter-spacing:1px}.box.main-box.disabled-card{cursor:not-allowed;opacity:.55}.box.main-box.disabled-card:hover{transform:none;background:#ffffff14}.quick-access{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.quick-access-title{font-size:15px;font-weight:600;color:#fff;margin:0;letter-spacing:1px}.quick-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,#667eea59,#764ba259);border:1px solid rgba(168,216,234,.4);border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;letter-spacing:1px}.quick-btn:hover{background:linear-gradient(135deg,#667eea8c,#764ba28c);transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.quick-btn:active{transform:translateY(0);box-shadow:inset 0 2px 6px #0000004d}.ad-box-subtle{padding:14px 18px;text-align:center;border:1px dashed rgba(255,255,255,.15);border-radius:12px;background:#ffffff0a;display:flex;flex-direction:column;gap:4px}.ad-text-subtle{color:#ffffff73;font-size:12px;letter-spacing:1px}.ad-contact-subtle{color:#ffffff59;font-size:11px}.button-group{display:flex;gap:16px;justify-content:center;margin-top:24px;flex-wrap:wrap}.btn-primary{padding:12px 40px;background:#3498db;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3498db40}.btn-primary:hover:not(:disabled){background:#2980b9;transform:translateY(-2px);box-shadow:0 4px 15px #3498db66}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed;box-shadow:none}.btn-secondary{padding:12px 32px;background:transparent;border:1px solid #bdc3c7;border-radius:8px;color:#7f8c8d;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:#3498db;color:#3498db;transform:translateY(-2px)}.report-doc-header{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.report-doc-title{font-size:26px;font-weight:700;color:#2c3e50;margin:0 0 12px;letter-spacing:2px}.report-type-label{display:inline-block;font-size:13px;color:#1976d2;background:#667eea1a;border:1px solid rgba(102,126,234,.3);padding:4px 14px;border-radius:20px;font-weight:600}.export-group{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#667eea14;border-radius:10px;border:1px solid rgba(102,126,234,.15)}.action-label{font-size:12px;color:#1976d2;font-weight:600;white-space:nowrap}.ai-assistant-tag{display:inline-block;font-size:11px;color:#fff;background:linear-gradient(135deg,#1976d2,#0d47a1);padding:3px 12px;border-radius:12px;font-weight:600;letter-spacing:1px;margin-bottom:8px}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;letter-spacing:.5px}.status-generated{color:#2ed573;background:#2ed57326;border:1px solid rgba(46,213,115,.3)}.status-exported{color:#3498db;background:#3498db26;border:1px solid rgba(52,152,219,.3)}.status-revised{color:#f59e0b;background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}.empty-hint{color:#ffffff80;font-size:13px;margin-top:4px}.user-avatar{display:flex;flex-direction:column;align-items:center;gap:8px}.role-tag{display:inline-block;font-size:12px;color:#fff;background:linear-gradient(135deg,#1976d2,#0d47a1);padding:4px 14px;border-radius:12px;font-weight:600;letter-spacing:1px}.user-card .logout-btn{margin-top:12px}body{background-image:radial-gradient(900px 600px at 12% -8%,rgba(66,165,245,.18),transparent 60%),radial-gradient(1000px 700px at 108% 12%,rgba(126,87,194,.16),transparent 60%),radial-gradient(900px 700px at 50% 115%,rgba(13,71,161,.35),transparent 65%),var(--gradient-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(0,0,0,.7),transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(0,0,0,.7),transparent 100%)}.app,.dashboard-wrapper,.library-select-page,.preview-page,.policy-page,.user-center,.welcome-page,.login-page,.error-boundary,.loading-container,.not-found-page{position:relative;z-index:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff0a}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:8px;border:2px solid rgba(0,0,0,.15)}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}::-webkit-scrollbar-corner{background:transparent}.back-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;width:auto!important;padding:8px 18px!important;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:10px!important;color:#fff!important;font-size:14px!important;font-weight:500;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001f;transition:all .25s ease}.back-btn:hover{background:#fff3!important;border-color:#ffffff80!important;transform:translateY(-1px);box-shadow:0 4px 16px #0000002e}.back-btn:active{transform:translateY(0) scale(.98)}.page-header{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;position:static!important;text-align:center}.page-title{font-size:30px!important;font-weight:700;color:#fff;letter-spacing:2px;text-shadow:0 2px 18px rgba(66,165,245,.35)}.glass-box,.glass-item,.box,.form,.form-section,.section,.user-card,.user-header{background:linear-gradient(145deg,#ffffff21,#ffffff0d)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 10px 34px #0000002e,inset 0 1px #ffffff38!important}.glass-box:hover,.box:hover,.section:hover{border-color:#ffffff4d!important;box-shadow:0 14px 44px #0000003d,0 0 0 1px #42a5f51f,inset 0 1px #ffffff42!important}.confirm-btn,.btn-primary,.submit-btn,.export-btn,.send-btn{background:linear-gradient(135deg,#3498db,#1976d2 55%,#1565c0)!important;border:none!important;border-radius:10px!important;box-shadow:0 4px 18px #1976d252,inset 0 1px #ffffff2e;letter-spacing:1px}.confirm-btn:hover:not(:disabled),.btn-primary:hover:not(:disabled),.submit-btn:hover:not(:disabled),.export-btn:hover:not(:disabled),.send-btn:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#1976d2 60%,#1565c0)!important;transform:translateY(-2px);box-shadow:0 8px 26px #1976d273,inset 0 1px #ffffff40}.input-group input[type=text],.field-select,.large-input,.form-input,.modal-box input,.report-name-input,.chat-input,.date-select{background:#ffffff14!important;border-color:#fff3!important;color:#fff!important;caret-color:#64b5f6;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease!important}.input-group input[type=text]:focus,.field-select:focus,.large-input:focus,.form-input:focus,.modal-box input:focus,.report-name-input:focus,.chat-input:focus,.date-select:focus{background:#ffffff1f!important;border-color:#42a5f5b3!important;box-shadow:0 0 0 3px #42a5f52e,0 4px 16px #00000026}.field-select option,.date-select option{background:#16213e;color:#fff}.form-section{border-left:3px solid rgba(66,165,245,.55)!important}.form-section-primary{border-left-color:#42a5f5cc!important}.section-title{letter-spacing:1px}.section-desc{background:#ffffff0f;padding:2px 8px;border-radius:6px}.library-card{background:linear-gradient(160deg,#ffffff1f,#ffffff0a)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:18px!important;box-shadow:0 8px 28px #00000029,inset 0 1px #ffffff2e}.library-card:hover{transform:translateY(-5px);border-color:#42a5f58c!important;box-shadow:0 16px 40px #00000042,0 0 0 1px #42a5f526,inset 0 1px #ffffff38}.library-card.selected{background:linear-gradient(160deg,#3498db61,#1976d233)!important;border-color:#42a5f5!important;box-shadow:0 12px 34px #1976d259,inset 0 1px #fff3}.library-icon{filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));transition:transform .3s ease}.library-card:hover .library-icon{transform:scale(1.08)}.selected-indicator{background:linear-gradient(135deg,#42a5f5,#1565c0);box-shadow:0 2px 10px #1976d280}.box-title{letter-spacing:1px;font-size:19px}.box-content.expanded .report-item{border-radius:8px;padding:10px 12px;margin-top:6px;transition:all .2s ease}.box-content.expanded .report-item:hover{background:#42a5f524;text-decoration:none!important;transform:translate(4px)}.modal-box,.login-modal-container,.help-modal,.tips-modal,.payment-modal{background:linear-gradient(160deg,#232d46eb,#141c30f5)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 30px 70px #00000080,inset 0 1px #ffffff2e;animation:modalFadeIn .25s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay,.login-modal-overlay,.payment-modal-overlay,.login-modal,.feedback-modal,.profile-modal{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-box h2,.login-modal-header h2,.payment-header h2,.tips-modal h2{letter-spacing:1px}.toast{background:#162036eb!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16)!important;border-radius:12px;box-shadow:0 12px 34px #00000059}.toast-message{font-size:14px!important;color:#ffffffeb!important}.file-upload-area{background:#ffffff0d;border-radius:14px;border-color:#ffffff40}.file-upload-area:hover{border-color:#42a5f599;background:#42a5f514}.attachment-label{background:#f59e0b14;border-color:#f59e0b4d}.progress-bar{background:#ffffff1a;height:10px;border-radius:6px}.progress-fill{background:linear-gradient(90deg,#42a5f5,#1976d2,#1565c0);box-shadow:0 0 12px #42a5f580}.preview-body,.preview-header,.chat-header,.quick-actions,.chat-messages,.chat-input-area,.chat-tips{background:#f5f7fcf7!important;border:1px solid rgba(255,255,255,.4);box-shadow:0 12px 34px #00000038}a{transition:color .2s ease}::selection{background:#42a5f566;color:#fff}@media (max-width:768px){.page-title{font-size:24px!important}.box-title{font-size:17px}.header{padding:16px 14px!important}}
