:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-secondary: #6b7280;--color-success: #10b981;--color-error: #dc2626;--color-warning: #f59e0b;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-tertiary: #6b7280;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-border: #e5e7eb;--color-border-light: #d1d5db;--container-max-width: 1200px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-secondary);color:var(--color-text-primary)}#root{min-height:100vh}.header{background:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;color:#2563eb;display:flex;align-items:center}.logo-img{height:40px;width:auto;object-fit:contain}.nav{display:flex;gap:2rem}.nav-link{text-decoration:none;color:#374151;font-weight:500;transition:color .2s}.nav-link:hover{color:#2563eb}.auth-section{display:flex;align-items:center;gap:1rem}.auth-buttons{display:flex;gap:.75rem}.btn{padding:.5rem 1.25rem;border-radius:.375rem;text-decoration:none;font-weight:500;transition:all .2s;border:none;cursor:pointer;font-size:.875rem}.btn-secondary{background:transparent;color:#2563eb;border:1px solid #2563eb}.btn-secondary:hover{background:#eff6ff}.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:#374151;font-weight:500}.btn-logout{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:background .2s}.btn-logout:hover{background:#dc2626}@media(max-width:1200px){.header-container{padding:1rem 1.5rem}}@media(max-width:768px){.header-container{flex-direction:column;gap:1rem;padding:1rem}.logo-img{height:35px}.nav{gap:1rem;flex-wrap:wrap;justify-content:center}.user-menu{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.75rem}.user-name{font-size:.875rem}}@media(max-width:640px){.header-container{padding:.75rem 1rem}.logo-img{height:30px}.nav{flex-direction:column;width:100%;align-items:center}.nav-link{padding:.5rem 0}.user-menu{width:100%;flex-direction:column}.btn-logout{width:100%}}.job-card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s;box-shadow:0 1px 3px #0000001a}.job-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px);border-color:#2563eb}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.job-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827;flex:1}.job-post{background:#eff6ff;color:#2563eb;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:500;white-space:nowrap}.job-card-body{margin-bottom:1rem}.job-info{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.job-info-item{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.info-label{font-size:1rem}.job-salary{color:#059669;font-weight:600;margin-bottom:.75rem;font-size:.875rem}.job-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:.75rem 0 0}.job-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb;font-size:.875rem}.deadline{color:#dc2626;font-weight:500}.vacancies{color:#6b7280}@media(max-width:640px){.job-card{padding:1rem}.job-card-header{flex-direction:column;gap:.75rem}.job-title{font-size:1.125rem}.job-info{flex-direction:column;gap:.5rem}.job-card-footer{flex-direction:column;align-items:flex-start;gap:.5rem}}.job-filters{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;margin-bottom:2rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.filters-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.btn-clear{padding:.5rem 1rem;background:transparent;color:#dc2626;border:1px solid #dc2626;border-radius:.375rem;cursor:pointer;font-weight:500;transition:all .2s;font-size:.875rem}.btn-clear:hover{background:#fee2e2}.filter-group{margin-bottom:1.25rem}.filter-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.filter-input,.filter-select{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s}.filter-input:focus,.filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filters-loading{padding:2rem;text-align:center;color:#6b7280}@media(max-width:640px){.job-filters{padding:1rem}.filters-header{flex-direction:column;align-items:flex-start;gap:.75rem}.btn-clear{width:100%}}.job-list-page{min-height:calc(100vh - 200px);padding:2rem 0;background:#f9fafb}.job-list-layout{display:grid;grid-template-columns:300px 1fr;gap:2rem}.filters-sidebar{position:sticky;top:100px;height:fit-content}.jobs-main{min-height:400px}.jobs-grid{display:flex;flex-direction:column;gap:1.5rem}.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.btn-retry{padding:.75rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:background .2s}.btn-retry:hover{background:#1d4ed8}.empty-state p{color:#6b7280;margin:.5rem 0}@media(max-width:968px){.job-list-layout{grid-template-columns:1fr}.filters-sidebar{position:static}.page-header h1{font-size:2rem}}@media(max-width:640px){.container{padding:0 1rem}.job-list-page{padding:1.5rem 0}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.75rem}.page-header p{font-size:1rem}.pagination{flex-direction:column;gap:.75rem;padding:1rem}.pagination-btn{width:100%}}.application-form{background:transparent;border:none;border-radius:0;padding:0;margin:0}.application-form h3{display:none}.contact-info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.contact-info-section h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#111827}.form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s;font-family:inherit}.required{color:#dc2626}.form-help{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280}.existing-resume-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.existing-resume-notice p{margin:0;color:#1e40af;font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-file-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;cursor:pointer}.file-info{margin-top:.5rem;padding:.5rem;background:#f3f4f6;border-radius:.25rem;font-size:.875rem;color:#374151}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.btn{padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.875rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#2563eb;color:#fff}.btn-secondary{background:transparent;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb}.application-success{text-align:center;padding:3rem 2rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem}.success-icon{width:64px;height:64px;margin:0 auto 1rem;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.application-success h3{margin:0 0 .5rem;color:#111827;font-size:1.5rem}.application-success p{margin:0;color:#6b7280}@media(max-width:640px){.application-form{padding:1rem;margin-top:1rem}.application-form h3{font-size:1.25rem}.user-info-section{padding:1rem}.form-actions{flex-direction:column}.btn{width:100%}.application-success{padding:2rem 1rem}.success-icon{width:48px;height:48px;font-size:1.5rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:.5rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:10;border-radius:.5rem .5rem 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.modal-close{background:transparent;border:none;font-size:2rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-body{padding:1.5rem}@media(max-width:640px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh;border-radius:.5rem}.modal-header{padding:1rem}.modal-header h2{font-size:1.25rem}.modal-body{padding:1rem}}.job-detail-page{min-height:calc(100vh - 200px);padding:2rem 0;background:#f9fafb}.back-link{display:inline-block;margin-bottom:1.5rem;color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s}.back-link:hover{color:#1d4ed8}.job-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.job-detail-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#111827}.job-post-badge{display:inline-block;background:#eff6ff;color:#2563eb;padding:.375rem .875rem;border-radius:.25rem;font-size:.875rem;font-weight:500}.btn-apply{padding:.75rem 2rem;background:#2563eb;color:#fff;border:none;border-radius:.375rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-apply:hover{background:#1d4ed8}.job-detail-content{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:2rem}.job-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;color:#6b7280;font-weight:500}.info-value{font-size:1rem;color:#111827;font-weight:600}.job-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.date-item{display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:.875rem;color:#6b7280;font-weight:500}.date-value{font-size:1rem;color:#111827;font-weight:600}.date-value.deadline{color:#dc2626}.job-description-section{margin-top:2rem}.job-description-section h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:#111827}.job-description-content{color:#374151;line-height:1.75}.job-description-content p{margin:0 0 1rem}.loading-state,.error-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.error-state p{color:#dc2626;margin-bottom:1rem}.btn-back{display:inline-block;padding:.75rem 1.5rem;background:#2563eb;color:#fff;text-decoration:none;border-radius:.375rem;font-weight:500;transition:background .2s}.btn-back:hover{background:#1d4ed8}@media(max-width:768px){.container{padding:0 1rem}.job-detail-page{padding:1.5rem 0}.job-detail-header{flex-direction:column;gap:1rem}.job-detail-header h1{font-size:1.5rem}.btn-apply{width:100%}.job-detail-content{padding:1.5rem}.job-info-grid,.job-dates{grid-template-columns:1fr;gap:1rem}}@media(max-width:640px){.job-detail-content{padding:1rem}.job-info-grid,.job-dates{gap:.75rem}.job-description-section h2{font-size:1.25rem}}.auth-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem;background:#f9fafb}.auth-container{width:100%;max-width:450px}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:2.5rem;box-shadow:0 4px 6px #0000001a}.auth-card h2{margin:0 0 .5rem;font-size:1.875rem;font-weight:700;color:#111827;text-align:center}.auth-subtitle{margin:0 0 2rem;text-align:center;color:#6b7280;font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#374151;font-size:.875rem}.form-input{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.btn-primary{padding:.75rem;background:#2563eb;color:#fff;border:none;border-radius:.375rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s;margin-top:.5rem}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:.375rem;margin-bottom:1rem;font-size:.875rem}.auth-footer{margin:1.5rem 0 0;text-align:center;color:#6b7280;font-size:.875rem}.auth-footer a{color:#2563eb;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}@media(max-width:640px){.auth-page{padding:1rem}.auth-card{padding:2rem 1.5rem}.auth-card h2{font-size:1.5rem}}.my-applications-page{min-height:calc(100vh - 200px);padding:2rem 0;background:#f9fafb}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.page-header p{font-size:1.125rem;color:#6b7280;margin:0}.auth-required,.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-state p{color:#dc2626}.empty-state p{color:#6b7280;margin-bottom:1rem}.btn-primary{display:inline-block;padding:.75rem 1.5rem;background:#2563eb;color:#fff;text-decoration:none;border-radius:.375rem;font-weight:500;transition:background .2s;border:none;cursor:pointer}.btn-primary:hover{background:#1d4ed8}.applications-list{display:flex;flex-direction:column;gap:1.5rem}.application-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:box-shadow .2s}.application-card:hover{box-shadow:0 4px 6px #0000001a}.application-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.application-header h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#111827}.job-link{color:#2563eb;text-decoration:none;transition:color .2s}.job-link:hover{color:#1d4ed8;text-decoration:underline}.job-location{margin:0;color:#6b7280;font-size:.875rem}.status-badge{padding:.375rem .875rem;border-radius:.25rem;font-size:.875rem;font-weight:600;white-space:nowrap}.status-submitted{background:#dbeafe;color:#1e40af}.status-shortlisted{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#991b1b}.status-interview{background:#fef3c7;color:#92400e}.application-details,.detail-item{margin-bottom:1rem}.detail-label{display:block;font-size:.875rem;color:#6b7280;font-weight:500;margin-bottom:.25rem}.detail-value{display:block;color:#111827;font-weight:500}.cover-letter-preview{margin:.5rem 0 0;color:#374151;font-size:.875rem;line-height:1.5;max-height:100px;overflow:hidden;text-overflow:ellipsis}.view-job-link{display:inline-block;color:#2563eb;text-decoration:none;font-weight:500;font-size:.875rem;transition:color .2s}.view-job-link:hover{color:#1d4ed8;text-decoration:underline}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:3rem;padding:1.5rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.pagination-btn{padding:.75rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:background .2s}.pagination-btn:hover:not(:disabled){background:#1d4ed8}.pagination-btn:disabled{background:#9ca3af;cursor:not-allowed}.pagination-info{color:#374151;font-weight:500}@media(max-width:1200px){.container{padding:0 1.5rem}}@media(max-width:640px){.container{padding:0 1rem}.my-applications-page{padding:1.5rem 0}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem}.page-header p{font-size:1rem}.application-header{flex-direction:column;gap:.75rem}.application-card{padding:1rem}.pagination{flex-direction:column;gap:.75rem;padding:1rem}.pagination-btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#111827;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.app-footer{background:#111827;color:#fff;padding:2rem 0;margin-top:4rem}.app-footer .container{max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center}.app-footer p{margin:0;color:#9ca3af;font-size:.875rem}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.app-footer .container{padding:0 1.5rem}}@media(max-width:640px){.app-footer{padding:1.5rem 0}.app-footer .container{padding:0 1rem}.app-footer p{font-size:.75rem}}
