*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{min-height:100vh}.main-content{padding-top:64px}.app-header{z-index:100;background-color:#fff;border-bottom:1px solid #e5e7eb;height:64px;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 3px #0000000d}.header-container{justify-content:space-between;align-items:center;max-width:1100px;height:100%;margin:0 auto;padding:0 24px;display:flex}.header-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.header-logo-img{width:auto;height:110px}.header-logo-text{color:#111;letter-spacing:-.5px;font-size:22px;font-weight:700}.header-nav{align-items:center;gap:8px;display:flex}.header-nav-link{color:#4b5563;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s}.header-nav-link:hover{color:#111;background-color:#f3f4f6}.header-user-section{border-left:1px solid #e5e7eb;align-items:center;gap:12px;margin-left:8px;padding-left:16px;display:flex}.header-user-email{color:#6b7280;font-size:13px}.auth-container{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:20px;display:flex}.auth-card{background:#fff;border-radius:8px;width:100%;max-width:420px;padding:40px;box-shadow:0 2px 10px #0000001a}.auth-title{color:#111;margin-bottom:8px;font-size:28px;font-weight:700}.auth-subtitle{color:#666;margin-bottom:24px;font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-footer{text-align:center;color:#666;margin-top:20px;font-size:14px}.auth-link{color:#2563eb;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#374151;font-size:14px;font-weight:600}.form-input{border:1px solid #d1d5db;border-radius:6px;outline:none;padding:10px 14px;font-size:16px;transition:border-color .2s}.form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled{cursor:not-allowed;background-color:#f9fafb}.btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:16px;font-weight:600;transition:background-color .2s,opacity .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background-color:#2563eb}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{color:#374151;background-color:#e5e7eb}.btn-secondary:hover:not(:disabled){background-color:#d1d5db}.btn-sm{padding:6px 12px;font-size:13px}.btn-full{width:100%}.btn-loading{align-items:center;gap:6px;display:inline-flex}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.alert{border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px;position:relative}.alert-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.alert-success{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0}.alert-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;font-size:18px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.alert-close:hover{opacity:1}.card-alert{margin-top:12px;margin-bottom:0}.dashboard-container{max-width:900px;margin:0 auto;padding:24px}.dashboard-content{flex-direction:column;gap:24px;display:flex}.welcome-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.welcome-title{color:#111;margin-bottom:8px;font-size:20px;font-weight:600}.welcome-text{color:#666;font-size:15px}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.dashboard-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.dashboard-card-link{color:inherit;cursor:pointer;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block}.dashboard-card-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.card-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-icon{color:#2563eb;flex-shrink:0;width:22px;height:22px}.card-title{margin-bottom:0;font-size:18px;font-weight:600}.card-text{color:#666;font-size:14px}.card-stat{font-size:14px;line-height:1.5}.card-loading{color:#9ca3af}.card-stat-success{color:#16a34a;font-weight:500}.card-stat-empty{color:#9ca3af}.card-stat-detail{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;font-weight:400;display:block;overflow:hidden}.card-stat-highlight{font-size:14px;font-weight:600}.card-stat-score-high{color:#16a34a}.card-stat-score-medium{color:#ca8a04}.card-stat-score-low{color:#dc2626}.card-stat-group{flex-direction:column;gap:4px;display:flex}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:200px;display:flex}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.resume-container{max-width:800px;margin:0 auto;padding:24px}.resume-header{margin-bottom:24px}.resume-title{color:#111;font-size:28px;font-weight:700}.resume-upload-section{background:#fff;border-radius:8px;margin-bottom:24px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-title{color:#111;margin-bottom:8px;font-size:20px;font-weight:600}.section-description{color:#666;margin-bottom:20px;font-size:14px}.file-upload-area{text-align:center;border:2px dashed #d1d5db;border-radius:8px;padding:32px;transition:border-color .2s}.file-upload-area:hover{border-color:#2563eb}.file-input{display:none}.file-upload-label{color:#fff;cursor:pointer;background-color:#2563eb;border-radius:6px;padding:12px 24px;font-size:16px;font-weight:600;transition:background-color .2s;display:inline-block}.file-upload-label:hover{background-color:#1d4ed8}.upload-text{align-items:center;gap:8px;display:flex}.upload-icon{font-size:20px}.file-hint{color:#9ca3af;margin-top:12px;font-size:12px}.resume-details{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.resume-info-card{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:16px;padding:16px}.resume-info-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:8px 0;display:flex}.resume-info-row:last-child{border-bottom:none}.info-label{color:#6b7280;font-size:14px;font-weight:600}.info-value{color:#111;font-size:14px}.resume-preview{margin-top:16px}.preview-title{color:#111;margin-bottom:12px;font-size:16px;font-weight:600}.preview-content{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:300px;padding:16px;overflow-y:auto}.preview-text{white-space:pre-wrap;word-wrap:break-word;color:#374151;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.jobs-container{max-width:900px;margin:0 auto;padding:24px}.jobs-header{margin-bottom:24px}.jobs-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.jobs-title{color:#111;font-size:28px;font-weight:700}.jobs-count{color:#6b7280;margin-top:8px;font-size:14px}.jobs-list{flex-direction:column;gap:16px;display:flex}.job-card{background:#fff;border-radius:8px;padding:20px;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a}.job-card:hover{box-shadow:0 4px 12px #0000001a}.job-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.job-title{color:#111;font-size:18px;font-weight:600}.job-source{color:#6b7280;white-space:nowrap;background-color:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.job-company{color:#2563eb;margin-bottom:4px;font-size:15px;font-weight:500}.job-location{color:#6b7280;margin-bottom:8px;font-size:13px}.job-description{color:#4b5563;margin-bottom:12px;font-size:14px;line-height:1.5}.job-card-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.job-date{color:#9ca3af;font-size:12px}.job-link{color:#2563eb;font-size:14px;font-weight:500;text-decoration:none}.job-link:hover{text-decoration:underline}.empty-state{text-align:center;background:#fff;border-radius:8px;padding:60px 20px;box-shadow:0 1px 3px #0000001a}.empty-state-icon{margin-bottom:16px;font-size:48px}.empty-state-title{color:#111;margin-bottom:8px;font-size:20px;font-weight:600}.empty-state-text{color:#6b7280;margin-bottom:24px;font-size:14px}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px 0;display:flex}.pagination-info{color:#6b7280;font-size:14px}.matches-container{max-width:900px;margin:0 auto;padding:24px}.matches-header{margin-bottom:24px}.matches-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.matches-title{color:#111;font-size:28px;font-weight:700}.matches-count{color:#6b7280;margin-top:8px;font-size:14px}.matches-list{flex-direction:column;gap:16px;display:flex}.match-card{background:#fff;border-radius:8px;padding:20px;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a}.match-card:hover{box-shadow:0 4px 12px #0000001a}.match-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.match-job-info{flex:1}.match-job-title{color:#111;margin-bottom:4px;font-size:18px;font-weight:600}.match-job-company{color:#2563eb;margin-bottom:2px;font-size:15px;font-weight:500}.match-job-location{color:#6b7280;font-size:13px}.match-score{text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:80px;padding:10px 16px;display:flex}.score-high{background-color:#f0fdf4;border:2px solid #86efac}.score-medium{background-color:#fefce8;border:2px solid #fde047}.score-low{background-color:#fef2f2;border:2px solid #fca5a5}.score-number{font-size:28px;font-weight:700;line-height:1}.score-high .score-number{color:#16a34a}.score-medium .score-number{color:#ca8a04}.score-low .score-number{color:#dc2626}.score-label{margin-top:2px;font-size:11px;font-weight:600}.score-high .score-label{color:#15803d}.score-medium .score-label{color:#a16207}.score-low .score-label{color:#b91c1c}.match-explanation{background-color:#f9fafb;border-radius:6px;margin-bottom:12px;padding:12px 16px}.explanation-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:600}.explanation-text{color:#374151;font-size:14px;line-height:1.5}.match-card-footer{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.match-date{color:#9ca3af;font-size:12px}.matching-progress{text-align:center;background:#fff;border-radius:8px;margin-bottom:24px;padding:40px 20px;box-shadow:0 1px 3px #0000001a}.matching-progress .loading-spinner{margin:0 auto 16px}.matching-progress-text{color:#111;margin-bottom:8px;font-size:16px;font-weight:600}.matching-progress-hint{color:#6b7280;font-size:13px}.cover-letter-section{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.cover-letter-header{justify-content:space-between;align-items:center;display:flex}.cover-letter-toggle{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:14px;font-weight:600;display:flex}.cover-letter-toggle:hover{color:#1d4ed8}.cover-letter-icon{font-size:10px}.cover-letter-content{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:300px;margin-top:12px;padding:16px;overflow-y:auto}.cover-letter-text{white-space:pre-wrap;word-wrap:break-word;color:#374151;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.7}
