.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:420px;width:calc(100% - var(--space-12))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-lg);border-left:4px solid transparent;animation:slideInRight .3s var(--transition-spring);position:relative;overflow:hidden}.toast.toast-success{border-left-color:var(--accent-500);background:linear-gradient(135deg,var(--accent-50),var(--surface-elevated))}.toast.toast-error{border-left-color:var(--danger-500);background:linear-gradient(135deg,var(--danger-50),var(--surface-elevated))}.toast.toast-info{border-left-color:var(--primary-500);background:linear-gradient(135deg,var(--primary-50),var(--surface-elevated))}.toast.toast-warning{border-left-color:var(--warning-500);background:linear-gradient(135deg,var(--warning-50),var(--surface-elevated))}.toast-icon{font-size:var(--text-xl);flex-shrink:0;margin-top:1px}.toast-content{flex:1}.toast-title{font-weight:600;font-size:var(--text-sm);color:var(--text-primary);margin-bottom:2px}.toast-message{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.toast-close{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1);color:var(--text-tertiary);font-size:var(--text-lg);cursor:pointer;transition:color var(--transition-fast);line-height:1}.toast-close:hover{color:var(--text-primary)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 0 var(--radius-lg);animation:shrink 5s linear forwards}.toast-success .toast-progress{background:var(--accent-500)}.toast-error .toast-progress{background:var(--danger-500)}.toast-info .toast-progress{background:var(--primary-500)}.toast-warning .toast-progress{background:var(--warning-500)}@keyframes shrink{0%{width:100%}to{width:0%}}@media(max-width:640px){.toast-container{top:var(--space-4);right:var(--space-4);left:var(--space-4);max-width:none;width:auto}}.spinner-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4)}.spinner-overlay.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal)}.spinner{width:48px;height:48px;border:4px solid var(--primary-100);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;border-width:2px}.spinner-text{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.login-page{min-height:100vh;display:flex;position:relative;overflow:hidden}.login-branding{flex:1;background:linear-gradient(135deg,var(--primary-700) 0%,var(--primary-900) 50%,#1e1b4b 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-16);position:relative;overflow:hidden}.login-branding:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(129,140,248,.3) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(99,102,241,.2) 0%,transparent 50%)}.login-branding-content{position:relative;z-index:1;text-align:center;max-width:400px}.login-branding-icon{width:80px;height:80px;background:#ffffff26;border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto var(--space-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);animation:float 6s ease-in-out infinite}.login-branding h2{font-size:var(--text-3xl);font-weight:800;color:#fff;margin-bottom:var(--space-4);letter-spacing:-.03em}.login-branding p{color:#ffffffb3;font-size:var(--text-lg);line-height:1.7}.login-features{list-style:none;margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.login-features li{display:flex;align-items:center;gap:var(--space-3);color:#ffffffd9;font-size:var(--text-sm);font-weight:500}.login-features li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#34d39933;border-radius:var(--radius-full);color:var(--accent-400);font-size:var(--text-xs);font-weight:700;flex-shrink:0}.login-shape{position:absolute;border-radius:var(--radius-full);opacity:.1;background:#fff}.login-shape-1{width:300px;height:300px;top:-100px;right:-50px;animation:float 8s ease-in-out infinite}.login-shape-2{width:200px;height:200px;bottom:-60px;left:-40px;animation:float 10s ease-in-out infinite reverse}.login-shape-3{width:120px;height:120px;top:50%;left:20%;animation:float 7s ease-in-out infinite 1s}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--surface-primary)}.login-form-wrapper{width:100%;max-width:420px;animation:fadeInUp .6s ease-out}.login-form-header{margin-bottom:var(--space-8)}.login-form-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.02em}.login-form-header p{color:var(--text-secondary);font-size:var(--text-sm)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.form-label-icon{font-size:var(--text-base)}.form-input-wrapper{position:relative}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-primary);transition:all var(--transition-fast);height:48px}.form-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 4px #6366f11a}.form-input::placeholder{color:var(--text-tertiary)}.form-input.error{border-color:var(--danger-400)}.form-input.error:focus{box-shadow:0 0 0 4px #f43f5e1a}.form-error{display:flex;align-items:center;gap:var(--space-2);color:var(--danger-600);font-size:var(--text-xs);font-weight:500;padding:var(--space-2) var(--space-3);background:var(--danger-50);border-radius:var(--radius-md);animation:fadeInDown .2s ease-out}.login-google-section{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.login-google-btn{width:100%;height:52px;background:var(--surface-primary);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-lg);border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;gap:var(--space-3);transition:all var(--transition-base);cursor:pointer;box-shadow:var(--shadow-sm);letter-spacing:.01em}.login-google-btn:hover:not(:disabled){border-color:#4285f4;box-shadow:0 0 0 3px #4285f426,var(--shadow-md);transform:translateY(-2px);background:#4285f40a}.login-google-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.login-google-btn:disabled{opacity:.7;cursor:not-allowed}.login-google-btn .spinner{border-color:#6366f14d;border-top-color:var(--primary-500)}.google-icon{flex-shrink:0}.login-domain-notice{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;line-height:1.5}.login-domain-notice strong{color:var(--text-secondary)}.login-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--danger-50);border:1px solid var(--danger-200);animation:fadeInDown .3s ease-out}.login-alert-icon{font-size:var(--text-lg);flex-shrink:0}.login-alert-text{font-size:var(--text-sm);color:var(--danger-700);line-height:1.5}.password-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);padding:var(--space-1);cursor:pointer;transition:color var(--transition-fast)}.password-toggle:hover{color:var(--text-secondary)}@media(max-width:900px){.login-page{flex-direction:column}.login-branding{padding:var(--space-8) var(--space-6);min-height:auto}.login-branding h2{font-size:var(--text-2xl)}.login-features,.login-shape{display:none}.login-form-panel{padding:var(--space-6)}.login-form-wrapper{max-width:100%}}.header{position:sticky;top:0;z-index:var(--z-sticky);background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);padding:0 var(--space-6);height:72px;display:flex;align-items:center;justify-content:space-between;transition:box-shadow var(--transition-base)}.header.scrolled{box-shadow:0 1px 12px #00000014}.header-brand{display:flex;align-items:center;gap:var(--space-3)}.header-logo{width:42px;height:42px;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #6366f14d;position:relative;overflow:hidden}.header-logo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.15) 100%)}.header-logo-icon{font-size:20px;position:relative;z-index:1}.header-brand-text{display:flex;flex-direction:column}.header-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.header-subtitle{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:400;line-height:1.2}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--gray-50);border:1px solid var(--border-light)}.header-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-400),var(--primary-600));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--text-xs);letter-spacing:.03em;box-shadow:0 2px 6px #6366f140}.header-user-info{display:flex;flex-direction:column}.header-user-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);line-height:1.2}.header-user-id{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.2}.header-logout-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast);border:1px solid var(--border-light);background:var(--surface-elevated);cursor:pointer}.header-logout-btn:hover{color:var(--danger-600);border-color:var(--danger-200);background:var(--danger-50);box-shadow:0 2px 8px #f43f5e1a}@media(max-width:768px){.header{padding:0 var(--space-4);height:64px}.header-logo{width:36px;height:36px}.header-logo-icon{font-size:18px}.header-title{font-size:var(--text-base)}.header-subtitle{display:none}.header-actions{gap:var(--space-2)}.header-user{padding:var(--space-1) var(--space-2)}.header-user-info{display:none}.header-logout-btn{padding:var(--space-2);border-radius:var(--radius-md)}.header-logout-btn span{display:none}}@media(max-width:480px){.header{padding:0 var(--space-3);height:56px}.header-brand{gap:var(--space-2)}.header-logo{width:32px;height:32px}.header-logo-icon{font-size:16px}.header-title{font-size:var(--text-sm)}.header-avatar{width:30px;height:30px;font-size:.65rem}}.issue-form-card{background:var(--surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;animation:fadeInUp .5s ease-out}.issue-form-header{padding:var(--space-6);background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-bottom:1px solid var(--primary-200)}.issue-form-header h3{font-size:var(--text-lg);font-weight:700;color:var(--primary-800);display:flex;align-items:center;gap:var(--space-2)}.issue-form-header p{font-size:var(--text-sm);color:var(--primary-600);margin-top:var(--space-1)}.issue-form-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.form-select{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-primary);transition:all var(--transition-fast);height:48px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:var(--space-10)}.form-select:focus{border-color:var(--primary-400);box-shadow:0 0 0 4px #6366f11a}.form-select.placeholder{color:var(--text-tertiary)}.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-primary);transition:all var(--transition-fast);min-height:120px;resize:vertical;line-height:1.6}.form-textarea:focus{border-color:var(--primary-400);box-shadow:0 0 0 4px #6366f11a}.form-textarea::placeholder{color:var(--text-tertiary)}.form-char-count{text-align:right;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.file-upload-area{border:2px dashed var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.file-upload-area:hover{border-color:var(--primary-400);background:var(--primary-50)}.file-upload-area.dragging{border-color:var(--primary-500);background:var(--primary-50);transform:scale(1.02)}.file-upload-area.has-file{border-color:var(--accent-400);background:var(--accent-50);border-style:solid}.file-upload-icon{font-size:32px;margin-bottom:var(--space-3)}.file-upload-text{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.file-upload-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-2)}.file-upload-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);margin-top:var(--space-3)}.file-preview img{width:48px;height:48px;border-radius:var(--radius-md);object-fit:cover}.file-preview-info{flex:1}.file-preview-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.file-preview-size{font-size:var(--text-xs);color:var(--text-tertiary)}.file-preview-remove{padding:var(--space-2);color:var(--text-tertiary);font-size:var(--text-lg);transition:color var(--transition-fast)}.file-preview-remove:hover{color:var(--danger-500)}.submit-btn{width:100%;height:52px;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));color:#fff;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-base);box-shadow:var(--shadow-md),0 0 20px #6366f133}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 30px #6366f14d}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn .spinner{border-color:#ffffff4d;border-top-color:#fff}.form-message{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;animation:fadeInDown .3s ease-out}.form-message.success{background:var(--accent-50);color:var(--accent-600);border:1px solid var(--accent-200, #a7f3d0)}.form-message.error{background:var(--danger-50);color:var(--danger-600);border:1px solid var(--danger-200, #fecdd3)}@media(max-width:640px){.issue-form-header,.issue-form-body{padding:var(--space-4)}.issue-form-header h3{font-size:var(--text-base)}.file-upload-area{padding:var(--space-4)}}.issue-status-card{background:var(--surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;animation:fadeInUp .5s ease-out;margin-bottom:var(--space-6)}.issue-status-header{padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light)}.issue-status-header h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.pending{background:linear-gradient(135deg,var(--warning-50),var(--warning-100));color:var(--warning-600);border:1px solid var(--warning-200, #fde68a)}.status-badge.completed{background:linear-gradient(135deg,var(--accent-50),var(--accent-100));color:var(--accent-600);border:1px solid var(--accent-200, #a7f3d0)}.status-badge-dot{width:8px;height:8px;border-radius:var(--radius-full)}.status-badge.pending .status-badge-dot{background:var(--warning-500);animation:pulse 2s ease-in-out infinite}.status-badge.completed .status-badge-dot{background:var(--accent-500)}.status-badge.rejected{background:linear-gradient(135deg,#fee2e2,#fef2f2);color:#b91c1c;border:1px solid #fecaca}.status-badge.in-progress{background:linear-gradient(135deg,#dbeafe,#eff6ff);color:#1d4ed8;border:1px solid #bfdbfe}.status-badge.rejected .status-badge-dot{background:#ef4444}.status-badge.in-progress .status-badge-dot{background:#3b82f6;animation:pulse 2s ease-in-out infinite}.issue-status-body{padding:var(--space-6)}.issue-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.issue-detail{display:flex;flex-direction:column;gap:var(--space-1)}.issue-detail.full-width{grid-column:1 / -1}.issue-detail-label{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.issue-detail-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.issue-detail-value.type{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--primary-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);color:var(--primary-700);width:fit-content}.issue-detail-value.description{background:var(--gray-50);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);line-height:1.6;white-space:pre-wrap}.issue-screenshot{margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light)}.issue-screenshot img{width:100%;max-height:300px;object-fit:contain;background:var(--gray-100)}.completed-notice{margin-top:var(--space-6);padding:var(--space-5);background:linear-gradient(135deg,var(--accent-50),var(--accent-100));border-radius:var(--radius-lg);border:1px solid var(--accent-200, #a7f3d0);text-align:center;animation:bounceIn .5s ease-out}.completed-notice-icon{font-size:40px;margin-bottom:var(--space-3);display:block}.completed-notice h4{font-size:var(--text-base);font-weight:700;color:var(--accent-700, #047857);margin-bottom:var(--space-2)}.completed-notice p{font-size:var(--text-sm);color:var(--accent-600)}@media(max-width:640px){.issue-detail-grid{grid-template-columns:1fr}.issue-status-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4)}.issue-status-body{padding:var(--space-4)}}.feedback-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;z-index:9999;display:flex;justify-content:center;align-items:center;padding:var(--space-4);box-sizing:border-box}.feedback-card{width:100%;max-width:500px;background:var(--surface-0, var(--surface-elevated));border-radius:var(--radius-xl, var(--radius-lg));box-shadow:var(--shadow-xl, var(--shadow-sm));border:1px solid var(--border-light);overflow:hidden;animation:bounceIn .5s ease-out;max-height:90vh;overflow-y:auto}.feedback-header{padding:var(--space-6);background:linear-gradient(135deg,var(--accent-50),var(--accent-100));border-bottom:1px solid var(--accent-200, #a7f3d0);text-align:center}.feedback-header-icon{font-size:3rem;display:block;margin-bottom:var(--space-3)}.feedback-header h3{font-size:var(--text-lg);font-weight:700;color:var(--text-900, var(--accent-800, #065f46));margin:0}.feedback-header p{font-size:var(--text-sm);color:var(--accent-600);margin-top:var(--space-1)}.feedback-prompt-text{text-align:center;color:var(--text-600)}.feedback-issue-summary{background-color:var(--surface-50, #f9fafb);padding:var(--space-3);border-radius:var(--radius-md);margin:var(--space-4) 0;text-align:center;border:1px solid var(--surface-200, #e5e7eb)}.feedback-issue-topic{margin:0;font-weight:700;color:var(--primary-700, #1d4ed8)}.feedback-issue-status{margin:var(--space-1) 0 0 0;color:var(--text-600, #6b7280)}.feedback-issue-desc{margin:var(--space-2) 0 0 0;color:var(--text-800, #1f2937);font-size:.9rem;font-style:italic;word-break:break-word}.feedback-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.feedback-textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--border-light);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-primary);transition:all var(--transition-fast);min-height:120px;resize:vertical;line-height:1.6;box-sizing:border-box}.feedback-textarea:focus{border-color:var(--accent-400);box-shadow:0 0 0 4px #10b9811a;outline:none}.feedback-textarea::placeholder{color:var(--text-tertiary)}.feedback-char-count{text-align:right;font-size:.75rem;color:var(--text-tertiary, #9ca3af);margin-top:var(--space-1)}.feedback-actions{display:flex;gap:var(--space-3);width:100%}.feedback-ignore-btn{flex:1;height:48px;background:var(--surface-200);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-lg);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-base)}.feedback-ignore-btn:hover:not(:disabled){background:var(--surface-300);color:var(--text-primary)}.feedback-ignore-btn:disabled{opacity:.7;cursor:not-allowed}.feedback-submit-btn{flex:2;height:48px;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-base);box-shadow:var(--shadow-md);border:none;cursor:pointer}.feedback-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.feedback-submit-btn:disabled{opacity:.7;cursor:not-allowed}.feedback-submit-btn .spinner{border-color:#ffffff4d;border-top-color:#fff}@media(max-width:768px){.feedback-overlay{padding:var(--space-3);align-items:flex-start;padding-top:5vh}.feedback-card{max-width:100%}.feedback-header{padding:var(--space-5)}.feedback-header-icon{font-size:2.5rem}.feedback-body{padding:var(--space-5);gap:var(--space-4)}.feedback-textarea{min-height:100px}}@media(max-width:480px){.feedback-overlay{padding:var(--space-2);padding-top:3vh}.feedback-card{border-radius:var(--radius-lg, 12px)}.feedback-header{padding:var(--space-4)}.feedback-header-icon{font-size:2rem;margin-bottom:var(--space-2)}.feedback-header h3{font-size:1rem}.feedback-issue-summary{padding:var(--space-2);margin:var(--space-3) 0}.feedback-issue-topic{font-size:.85rem}.feedback-issue-status,.feedback-issue-desc{font-size:.8rem}.feedback-prompt-text{font-size:.85rem}.feedback-body{padding:var(--space-3);gap:var(--space-3)}.feedback-textarea{padding:var(--space-2) var(--space-3);min-height:80px;font-size:.85rem}.feedback-actions{flex-direction:column-reverse;gap:var(--space-2)}.feedback-submit-btn,.feedback-ignore-btn{width:100%;height:44px;font-size:.85rem}}@media(max-width:360px){.feedback-overlay{padding:var(--space-1);padding-top:2vh}.feedback-header{padding:var(--space-3)}.feedback-header-icon{font-size:1.75rem}.feedback-body{padding:var(--space-2)}.feedback-submit-btn,.feedback-ignore-btn{height:40px}}.queue-card{background:var(--surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;animation:fadeInUp .5s ease-out .1s both}.queue-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.queue-header h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.queue-body{padding:var(--space-6)}.queue-position{text-align:center;padding:var(--space-8) var(--space-4)}.queue-number-display{width:100px;height:100px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-500),var(--primary-700));display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);box-shadow:var(--shadow-glow-lg);animation:float 4s ease-in-out infinite}.queue-number{font-size:var(--text-4xl);font-weight:800;color:#fff;letter-spacing:-.03em}.queue-position-label{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.queue-position-subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.queue-progress{margin-top:var(--space-6);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg)}.queue-progress-bar-container{height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3)}.queue-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-400),var(--primary-600));border-radius:var(--radius-full);transition:width 1s ease-out}.queue-progress-info{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.queue-message{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--primary-50);border-radius:var(--radius-lg);margin-top:var(--space-4);border:1px solid var(--primary-200)}.queue-message-icon{font-size:var(--text-xl);flex-shrink:0}.queue-message-text{font-size:var(--text-sm);color:var(--primary-700);line-height:1.5}@media(max-width:640px){.queue-header,.queue-body{padding:var(--space-4)}.queue-number-display{width:80px;height:80px}.queue-number{font-size:var(--text-3xl)}}.profile-card{background:var(--surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;animation:fadeInUp .5s ease-out}.profile-banner{height:80px;background:linear-gradient(135deg,var(--primary-500),var(--primary-700),#4c1d95);position:relative;overflow:hidden}.profile-banner-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 40%)}.profile-avatar-wrapper{display:flex;justify-content:center;margin-top:-36px;position:relative;z-index:2}.profile-avatar{width:72px;height:72px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-400),var(--primary-600));display:flex;align-items:center;justify-content:center;border:4px solid var(--surface-elevated);box-shadow:var(--shadow-md);position:relative}.profile-avatar-text{font-size:1.75rem;font-weight:700;color:#fff;text-transform:uppercase}.profile-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.profile-status-indicator{position:absolute;bottom:2px;right:calc(50% - 44px);width:14px;height:14px;border-radius:var(--radius-full);background:var(--accent-500);border:3px solid var(--surface-elevated);z-index:3}.profile-info{text-align:center;padding:var(--space-3) var(--space-4) 0}.profile-name{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);text-transform:capitalize;letter-spacing:-.01em}.profile-role{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;margin-top:var(--space-1);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--primary-50);border-radius:var(--radius-full);color:var(--primary-600)}.profile-details{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.profile-detail-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast)}.profile-detail-item:hover{background:var(--gray-50)}.profile-detail-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--primary-50);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-600)}.profile-detail-content{display:flex;flex-direction:column;min-width:0}.profile-detail-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.profile-detail-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-quick-stats{display:flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-light);background:var(--gray-50)}.profile-quick-stat{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.profile-quick-stat-value{font-size:var(--text-xl);font-weight:800;color:var(--primary-600);line-height:1}.profile-quick-stat-value.resolved{color:var(--accent-600)}.profile-quick-stat-value.pending{color:var(--warning-600)}.profile-quick-stat-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.profile-stat-divider{width:1px;height:32px;background:var(--border-light)}@media(max-width:768px){.profile-banner{height:64px}.profile-avatar-wrapper{margin-top:-30px}.profile-avatar{width:60px;height:60px}.profile-avatar-text{font-size:1.4rem}.profile-details,.profile-quick-stats{padding:var(--space-3) var(--space-4)}}.history-card{background:var(--surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;animation:fadeInUp .5s ease-out .15s both}.history-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.history-header-left{display:flex;align-items:center;gap:var(--space-3)}.history-header h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.history-count{font-size:var(--text-xs);font-weight:600;color:var(--primary-600);background:var(--primary-50);padding:2px var(--space-2);border-radius:var(--radius-full)}.history-refresh-btn{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);border:1px solid var(--border-light);transition:all var(--transition-fast);cursor:pointer;background:none}.history-refresh-btn:hover{color:var(--primary-600);border-color:var(--primary-300);background:var(--primary-50)}.history-filters{display:flex;padding:var(--space-3) var(--space-4);gap:var(--space-2);border-bottom:1px solid var(--border-light);background:var(--gray-50);overflow-x:auto}.history-filter-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.history-filter-btn:hover{color:var(--primary-600);border-color:var(--primary-200)}.history-filter-btn.active{background:var(--primary-600);color:#fff;border-color:var(--primary-600);box-shadow:0 2px 8px #6366f14d}.history-list{max-height:480px;overflow-y:auto}.history-empty{padding:var(--space-12) var(--space-6);text-align:center}.history-empty-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.7}.history-empty h4{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.history-empty p{font-size:var(--text-sm);color:var(--text-secondary)}.history-item{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition-fast)}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--gray-50)}.history-item.expanded{background:var(--primary-50)}.history-item-main{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.history-item-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--surface-elevated);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;border:1px solid var(--border-light);box-shadow:var(--shadow-xs)}.history-item-info{flex:1;min-width:0}.history-item-type{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-date{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.history-item-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.history-status-badge{font-size:.65rem;font-weight:600;padding:3px var(--space-2);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.history-status-badge.resolved{background:var(--accent-50);color:var(--accent-600);border:1px solid var(--accent-200, #a7f3d0)}.history-status-badge.pending{background:var(--warning-50);color:var(--warning-600);border:1px solid var(--warning-200, #fde68a)}.history-status-badge.rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.history-status-badge.in-progress{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.history-item-chevron{color:var(--text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.history-item-chevron.rotated{transform:rotate(180deg)}.history-item-detail{padding:0 var(--space-5) var(--space-4);padding-left:calc(var(--space-5) + 40px + var(--space-3));display:flex;flex-direction:column;gap:var(--space-3);animation:fadeInDown .2s ease-out}.history-detail-row{display:flex;flex-direction:column;gap:2px}.history-detail-label{font-size:.65rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.history-detail-value{font-size:var(--text-sm);color:var(--text-primary);line-height:1.5;word-break:break-word}.history-detail-value.highlight{color:var(--primary-700);font-weight:600}.history-detail-value.feedback{font-style:italic;color:var(--text-secondary)}.history-screenshot-link{font-size:var(--text-sm);color:var(--primary-600);font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-1)}.history-screenshot-link:hover{text-decoration:underline;color:var(--primary-700)}.history-loading{padding:var(--space-12) var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.history-loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary-500);border-radius:var(--radius-full);animation:spin .8s linear infinite}.history-loading p{font-size:var(--text-sm);color:var(--text-secondary)}@media(max-width:768px){.history-header{padding:var(--space-4) var(--space-4)}.history-item-main{padding:var(--space-3) var(--space-4)}.history-item-detail{padding-left:var(--space-4)}.history-status-badge{font-size:.6rem;padding:2px var(--space-2)}}@media(max-width:480px){.history-header-left{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.history-item-icon{width:34px;height:34px;font-size:1rem}.history-item-right{flex-direction:column;align-items:flex-end;gap:var(--space-1)}.history-item-chevron{display:none}}.dashboard-page{min-height:calc(100vh - 72px);background:var(--gray-50)}.dashboard-container{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-6)}.dashboard-greeting{margin-bottom:var(--space-6);animation:fadeInUp .5s ease-out}.dashboard-greeting h2{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.dashboard-greeting p{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-1)}.dashboard-tabs{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-elevated);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-xs);margin-bottom:var(--space-6);animation:fadeInUp .5s ease-out .05s both;overflow-x:auto}.dashboard-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);transition:all var(--transition-base);cursor:pointer;background:transparent;border:none;white-space:nowrap;position:relative}.dashboard-tab:hover{color:var(--primary-600);background:var(--primary-50)}.dashboard-tab.active{background:var(--primary-600);color:#fff;box-shadow:0 4px 12px #6366f159}.dashboard-tab.active svg{stroke:#fff}.tab-badge{font-size:.6rem;font-weight:700;background:#ffffff40;color:#fff;padding:1px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center}.dashboard-tab:not(.active) .tab-badge{background:var(--primary-100);color:var(--primary-700)}.dashboard-tab-content{animation:fadeIn .3s ease-out}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--surface-elevated);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-xs);border:1px solid var(--border-light);display:flex;align-items:center;gap:var(--space-4);transition:all var(--transition-base);animation:fadeInUp .5s ease-out}.stat-card:nth-child(2){animation-delay:.05s}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.15s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-icon.primary{background:linear-gradient(135deg,var(--primary-100),var(--primary-200))}.stat-icon.accent{background:linear-gradient(135deg,var(--accent-100),var(--accent-200, #a7f3d0))}.stat-icon.warning{background:linear-gradient(135deg,var(--warning-100),var(--warning-200, #fde68a))}.stat-icon.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.dashboard-refresh-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.refresh-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.refresh-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--accent-500);animation:pulse 2s ease-in-out infinite}.refresh-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border:1px solid var(--border-light);transition:all var(--transition-fast);cursor:pointer;background:var(--surface-elevated)}.refresh-btn:hover{color:var(--primary-600);border-color:var(--primary-300);background:var(--primary-50)}.refresh-btn.spinning svg{animation:spin 1s linear infinite}.dashboard-main-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-6);align-items:start}.dashboard-left-col{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-right-col{display:flex;flex-direction:column;gap:var(--space-6);position:sticky;top:96px}.dashboard-history-layout{max-width:800px;margin:0 auto}.dashboard-profile-layout{display:grid;grid-template-columns:360px 1fr;gap:var(--space-6);align-items:start}.profile-recent-activity{background:var(--surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;animation:fadeInUp .5s ease-out .1s both}.recent-activity-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light)}.recent-activity-header h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.recent-activity-list{padding:var(--space-5) var(--space-6)}.recent-activity-empty{padding:var(--space-8) 0;text-align:center}.recent-activity-empty p{color:var(--text-tertiary);font-size:var(--text-sm)}.recent-activity-item{display:flex;gap:var(--space-4);position:relative}.recent-activity-item:not(:last-child){padding-bottom:var(--space-5)}.recent-activity-dot-wrapper{display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative}.recent-activity-dot{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0;margin-top:4px;border:2px solid;z-index:1}.recent-activity-dot.completed{background:var(--accent-500);border-color:var(--accent-200)}.recent-activity-dot.pending{background:var(--warning-500);border-color:var(--warning-200)}.recent-activity-line{width:2px;flex:1;background:var(--border-light);margin-top:var(--space-1)}.recent-activity-content{flex:1;min-width:0}.recent-activity-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.recent-activity-time{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}@media(max-width:1024px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-right-col{position:static}.dashboard-profile-layout{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-container{padding:var(--space-4)}.dashboard-greeting{margin-bottom:var(--space-4)}.dashboard-greeting h2{font-size:var(--text-xl)}.dashboard-tabs{margin-bottom:var(--space-4)}.dashboard-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat-card{padding:var(--space-4)}.stat-icon{width:40px;height:40px;font-size:18px}.stat-value{font-size:var(--text-xl)}.dashboard-main-grid{gap:var(--space-4)}}@media(max-width:480px){.dashboard-container{padding:var(--space-3)}.dashboard-greeting h2{font-size:var(--text-lg)}.dashboard-tabs{border-radius:var(--radius-lg)}.dashboard-tab{padding:var(--space-2);gap:var(--space-1);font-size:.7rem}.dashboard-tab svg{width:14px;height:14px}.dashboard-stats{grid-template-columns:1fr 1fr;gap:var(--space-2)}.stat-card{padding:var(--space-3);gap:var(--space-2)}.stat-icon{width:36px;height:36px;font-size:16px}.stat-value{font-size:var(--text-lg)}.stat-label{font-size:.6rem}}.app-footer{width:100%;background:var(--surface-0, #fff);border-top:1px solid var(--border-light, #e2e8f0);padding:var(--space-4, 1rem) 0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--space-6, 1.5rem);text-align:center}@media(max-width:640px){.app-footer{padding:var(--space-6) 0}.footer-content p{font-size:var(--text-xs);line-height:1.6}}.footer-content p{margin:0;font-size:var(--text-sm, .875rem);color:var(--text-500, #64748b);font-weight:500}.profile-link{color:var(--primary-600, #4f46e5);text-decoration:none;font-weight:600;transition:color .2s ease-in-out}.profile-link:hover{color:var(--primary-700, #4338ca);text-decoration:underline}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-50),var(--gray-50));gap:var(--space-6)}.app-loading-logo{width:72px;height:72px;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;font-size:36px;box-shadow:var(--shadow-glow-lg);animation:float 3s ease-in-out infinite}.app-loading h2{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}:root{--primary-50: #eef2ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--primary-800: #3730a3;--primary-900: #312e81;--accent-50: #ecfdf5;--accent-100: #d1fae5;--accent-400: #34d399;--accent-500: #10b981;--accent-600: #059669;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--danger-50: #fff1f2;--danger-100: #ffe4e6;--danger-400: #fb7185;--danger-500: #f43f5e;--danger-600: #e11d48;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--gray-950: #020617;--surface-primary: #ffffff;--surface-secondary: var(--gray-50);--surface-elevated: #ffffff;--surface-glass: rgba(255, 255, 255, .7);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-400);--text-inverse: #ffffff;--text-link: var(--primary-600);--border-light: var(--gray-200);--border-medium: var(--gray-300);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--shadow-glow-lg: 0 0 40px rgba(99, 102, 241, .2);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--z-dropdown: 50;--z-sticky: 100;--z-modal: 200;--z-toast: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--gray-50);line-height:1.6;min-height:100vh}#root{min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}button{cursor:pointer;font-family:inherit;border:none;outline:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;outline:none;border:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}::selection{background:var(--primary-200);color:var(--primary-900)}
