:root{--color-bg: #f8f9fb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-brand: #2563eb;--color-brand-hover: #1d4ed8;--color-brand-light: #eff6ff;--color-brand-mid: #bfdbfe;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.06);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;display:flex;flex-direction:column}#root{flex:1;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}.nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm)}.nav-brand{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;text-decoration:none}.nav-brand:hover{text-decoration:none;color:var(--color-brand)}.nav-brand-icon{font-size:1.25rem;color:var(--color-brand)}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-link{padding:.5rem .875rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-sm);text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--color-text-primary);background:var(--color-border-light);text-decoration:none}.nav-profile{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem .375rem .375rem;border-radius:var(--radius-full);border:1px solid var(--color-border);text-decoration:none;transition:background .15s,border-color .15s;margin-left:.25rem}.nav-profile:hover{background:var(--color-border-light);border-color:#d1d5db;text-decoration:none}.nav-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-brand) 0%,#7c3aed 100%);color:#fff;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-user{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.btn-nav-primary{padding:.5rem 1rem;font-size:.875rem;font-weight:600;background:var(--color-brand);color:#fff;border-radius:var(--radius-sm);text-decoration:none;transition:background .15s,transform .1s;border:none;cursor:pointer;margin-left:.5rem}.btn-nav-primary:hover{background:var(--color-brand-hover);text-decoration:none;transform:translateY(-1px)}.btn-nav-ghost{padding:.5rem .875rem;font-size:.875rem;font-weight:500;background:none;color:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.btn-nav-ghost:hover{color:var(--color-text-primary);background:var(--color-border-light)}.container{max-width:640px;margin:2rem auto;padding:0 1rem}.container-wide{max-width:1120px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.home-page{min-height:calc(100vh - 64px)}.hero{background:linear-gradient(135deg,#1e3a8a,#1d4ed8,#2563eb);padding:4rem 1.5rem 3.5rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.hero-inner{position:relative;max-width:640px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:.375rem;background:#ffffff26;color:#bfdbfe;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.375rem .875rem;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.2);margin-bottom:1.25rem}.hero-badge:before{content:"●";font-size:.5rem;color:#86efac}.hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff;margin:0 0 1rem;line-height:1.15;letter-spacing:-.03em}.hero-title-accent{background:linear-gradient(90deg,#93c5fd,#c4b5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.0625rem;color:#ffffffbf;margin:0 0 2rem;line-height:1.6}.hero-cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn-hero-primary{display:inline-flex;align-items:center;padding:.75rem 1.75rem;font-size:.9375rem;font-weight:600;background:#fff;color:var(--color-brand);border-radius:var(--radius-full);text-decoration:none;box-shadow:0 4px 14px #00000026;transition:transform .15s,box-shadow .15s}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003;text-decoration:none}.btn-hero-secondary{display:inline-flex;align-items:center;padding:.75rem 1.75rem;font-size:.9375rem;font-weight:600;background:#ffffff1a;color:#fff;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.3);text-decoration:none;transition:background .15s,transform .15s}.btn-hero-secondary:hover{background:#fff3;transform:translateY(-2px);text-decoration:none}.filters-bar{margin-bottom:2rem}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem}.category-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .875rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.category-btn:hover{background:var(--color-border-light);border-color:#d1d5db;color:var(--color-text-primary)}.category-btn.active{background:var(--color-brand);color:#fff;border-color:var(--color-brand);box-shadow:0 2px 8px #2563eb4d}.category-btn.active:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.category-btn-icon{font-size:.6875rem;opacity:.7}.category-btn.active .category-btn-icon{opacity:1}.results-count{margin:0 0 1.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.job-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.job-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:#d1d5db}.job-card--clickable{cursor:pointer}.job-card--clickable:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.job-card-header{display:flex;gap:.875rem;align-items:flex-start}.job-card-logo{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;border:1px solid var(--color-border)}.job-card-logo-placeholder{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,#dbeafe,#ede9fe);color:var(--color-brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;flex-shrink:0;border:1px solid #e0e7ff}.job-card-header-text{flex:1;min-width:0}.job-card-title{margin:0;font-size:1rem;font-weight:650;color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-company{margin:.2rem 0 0;color:var(--color-text-secondary);font-size:.8125rem}.job-card-badge{flex-shrink:0;font-size:.6875rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-full);background:var(--color-brand-light);color:var(--color-brand);border:1px solid var(--color-brand-mid);white-space:nowrap}.job-card-description{margin:0;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card-chips{display:flex;flex-wrap:wrap;gap:.375rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.chip-location{background:var(--color-border-light);color:var(--color-text-secondary);border:1px solid var(--color-border)}.chip-category{background:#f5f3ff;color:#5b21b6;border:1px solid #ddd6fe}.chip-salary{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.job-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.875rem;border-top:1px solid var(--color-border-light);gap:.5rem}.job-card-footer-left{display:flex;align-items:center;gap:.625rem}.job-card-posted{font-size:.75rem;color:var(--color-text-muted)}.job-card-deadline{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);padding:.1875rem .5rem;border-radius:var(--radius-full);background:var(--color-border-light)}.job-card-deadline.deadline-soon{color:var(--color-warning);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.job-card-action{flex-shrink:0}.apply-btn{display:inline-flex;align-items:center;padding:.4375rem 1rem;font-size:.8125rem;font-weight:600;background:var(--color-brand);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .1s}.apply-btn:hover{background:var(--color-brand-hover);transform:translateY(-1px)}.apply-btn--ghost{background:transparent;color:var(--color-brand);border:1px solid var(--color-brand-mid);text-decoration:none;font:inherit;font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);padding:.4375rem 1rem}.apply-btn--ghost:hover{background:var(--color-brand-light);text-decoration:none}.job-card-applied{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:600;color:var(--color-success)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--color-text-secondary);font-size:.9375rem}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem}.empty-state-icon{font-size:2.5rem;color:var(--color-text-muted);margin-bottom:1rem}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.empty-state-sub{font-size:.875rem;color:var(--color-text-secondary);margin:0}.form{display:flex;flex-direction:column;gap:1.125rem}.form-field{display:flex;flex-direction:column;gap:.3125rem}.form-field label{font-size:.875rem;font-weight:500;color:#374151}.form-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.form-label-link{font-size:.8125rem;font-weight:500;color:var(--color-brand)}.form-label-link:hover{text-decoration:underline}.auth-narrow{max-width:440px;margin:4rem auto;padding:0 1rem}.auth-narrow-title{margin:0 0 .375rem;font-size:1.5rem;letter-spacing:-.02em}.auth-narrow-sub{margin:0 0 1.5rem;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.verify-notice{text-align:center;padding:.5rem .25rem}.verify-notice-icon{font-size:2.5rem;line-height:1;margin-bottom:.75rem}.verify-notice-title{margin:0 0 .5rem;font-size:1.25rem}.verify-notice-text{margin:0 0 1.25rem;color:var(--color-text-secondary);line-height:1.6;font-size:.9375rem}.verify-notice-btn{display:inline-block}.form-field input,.form-field textarea,.form-field select{font:inherit;font-size:.9375rem;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #2563eb1f}.form-field textarea{resize:vertical;min-height:110px;line-height:1.6}.form-field input[type=file]{padding:.5rem .625rem;cursor:pointer}.form-field input[type=file]::file-selector-button{font:inherit;font-size:.8125rem;font-weight:500;margin-right:.75rem;padding:.375rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg, #f3f4f6);color:var(--color-text-primary);cursor:pointer}.form-hint{font-size:.8125rem;color:var(--color-text-secondary)}.role-select{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.role-option{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;text-align:left;padding:.875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;transition:border-color .15s,background .15s}.role-option:hover{border-color:var(--color-brand);background:var(--color-surface)}.role-option--active{border-color:var(--color-brand);box-shadow:0 0 0 3px #2563eb1f}.role-option-icon{font-size:1.25rem}.role-option-title{font-weight:600;font-size:.9375rem}.role-option-sub{font-size:.75rem;color:var(--color-text-secondary);line-height:1.3}.job-card-role-note{font-size:.8125rem;color:var(--color-text-secondary);font-style:italic}.job-details{max-width:820px;margin:2rem auto;padding:0 1.5rem}.job-details-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:2rem;margin-top:1rem}.job-details-header{display:flex;align-items:center;gap:1rem}.job-details-logo{flex-shrink:0;width:64px;height:64px;border-radius:var(--radius-md);object-fit:cover}.job-details-logo--placeholder{display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:var(--color-brand);background:var(--color-brand-light)}.job-details-heading{flex:1;min-width:0}.job-details-title{margin:0;font-size:1.6rem;letter-spacing:-.02em;line-height:1.15}.job-details-company{margin:.25rem 0 0;color:var(--color-text-secondary);font-size:1rem}.job-details-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.job-details-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1.5rem;padding:1.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.job-fact{display:flex;flex-direction:column;gap:.2rem}.job-fact-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-text-muted)}.job-fact-value{font-size:.9375rem;color:var(--color-text-primary);font-weight:500}.job-details-body{margin-top:1.75rem}.job-details-section-title{margin:0 0 .75rem;font-size:1.125rem;letter-spacing:-.01em}.job-details-description{margin:0;color:#374151;line-height:1.7;white-space:pre-line}.job-details-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}.employer-dashboard{margin-top:2rem;margin-bottom:1rem}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.dashboard-title{margin:0;font-size:1.5rem;letter-spacing:-.02em}.dashboard-sub{margin:.25rem 0 0;color:var(--color-text-secondary);font-size:.9375rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-value{font-size:2rem;font-weight:700;line-height:1;color:var(--color-brand);letter-spacing:-.02em}.stat-label{font-size:.8125rem;color:var(--color-text-secondary);font-weight:500}.dashboard-manage-link{margin-top:1.25rem;text-align:center}.market-heading{margin:1rem 0 1.25rem;font-size:1.5rem;letter-spacing:-.02em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:.75rem;margin-top:.25rem}button{font:inherit;font-weight:500;padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;background:var(--color-brand);color:#fff;transition:background .15s}button:hover{background:var(--color-brand-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--color-surface);color:#374151;border-color:var(--color-border)}button.secondary:hover{background:var(--color-border-light)}button.link{background:none;color:var(--color-brand);border:none;padding:0}button.link:hover{text-decoration:underline;background:none}.alert-error{padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--color-error-bg);color:#991b1b;border:1px solid var(--color-error-border);font-size:.875rem}.alert-success{padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--color-success-bg);color:#166534;border:1px solid var(--color-success-border);font-size:.875rem}.profile{max-width:720px;margin:2rem auto;padding:0 1rem}.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden}.profile-hero{position:relative;padding:2rem 2rem 1.75rem;background:radial-gradient(120% 120% at 0% 0%,rgba(124,58,237,.35) 0%,transparent 55%),linear-gradient(135deg,var(--color-brand) 0%,#6d28d9 100%);color:#fff}.profile-hero-edit{position:absolute;top:1.25rem;right:1.25rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;color:#fff;background:#ffffff29;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.profile-hero-edit:hover{background:#ffffff47}.profile-identity{display:flex;align-items:center;gap:1.25rem}.profile-avatar{flex-shrink:0;width:88px;height:88px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;letter-spacing:.02em;color:var(--color-brand);background:#fff;border-radius:var(--radius-full);box-shadow:0 6px 18px #0000002e;border:3px solid rgba(255,255,255,.75)}.profile-identity-text{min-width:0}.profile-name{margin:0;font-size:1.6rem;line-height:1.15;letter-spacing:-.02em;color:#fff}.profile-headline{margin:.25rem 0 0;font-size:.9375rem;color:#ffffffd9}.profile-badges{margin-top:.75rem}.profile-role-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);background:#ffffff2e;border:1px solid rgba(255,255,255,.3);color:#fff}.profile-details{padding:1.75rem 2rem 2rem}.profile-section-title{margin:0 0 .5rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-text-muted)}.profile-about{margin-bottom:1.75rem}.profile-bio{margin:0;color:var(--color-text-primary);line-height:1.65}.profile-bio--empty{color:var(--color-text-muted);font-style:italic}.profile-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.profile-tile{display:flex;align-items:flex-start;gap:.75rem;padding:.9375rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);transition:border-color .15s,box-shadow .15s}.profile-tile:hover{border-color:var(--color-brand-mid);box-shadow:var(--shadow-sm)}.profile-tile-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);background:var(--color-brand-light);color:var(--color-brand)}.profile-tile-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.profile-tile-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-text-muted)}.profile-tile-value{color:var(--color-text-primary);font-weight:500;font-size:.9375rem;overflow-wrap:anywhere}.profile-tile-link{color:var(--color-brand)}.profile-tile-link:hover{text-decoration:underline}.profile-tile-empty{color:var(--color-text-muted);font-style:italic;font-size:.9375rem}.profile-edit-head{padding:1.75rem 2rem 0}.profile-edit-head h1{margin:0;font-size:1.5rem;letter-spacing:-.02em}.profile-edit-head p{margin:.375rem 0 0;color:var(--color-text-secondary);font-size:.9375rem}.profile-edit-form{padding:1.5rem 2rem 2rem}@media(max-width:560px){.profile-identity{flex-direction:column;text-align:center;align-items:center}.profile-tiles{grid-template-columns:1fr}.profile-hero-edit{position:static;display:block;margin:0 auto 1rem}}.status-badge{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:var(--radius-full);white-space:nowrap}.status-submitted{background:var(--color-brand-light);color:var(--color-brand)}.status-in-review{background:#fefce8;color:#a16207}.status-interview{background:#f0fdf4;color:#15803d}.status-offered{background:#ecfdf5;color:#047857}.status-rejected{background:var(--color-error-bg);color:#991b1b}.status-withdrawn{background:#f3f4f6;color:var(--color-text-secondary)}.applications-page{max-width:1120px;margin:2rem auto;padding:0 1.5rem}.applications-head{display:flex;align-items:baseline;gap:.875rem;margin-bottom:1.5rem}.applications-head h1{margin:0;letter-spacing:-.02em}.applications-sub{margin:0;color:var(--color-text-secondary);font-size:.9375rem;font-weight:500}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.25rem}.app-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.375rem;display:flex;flex-direction:column;gap:.875rem;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,border-color .15s}.app-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-brand-mid)}.app-card-top{display:flex;align-items:center;gap:.875rem}.app-card-logo{flex-shrink:0;width:46px;height:46px;border-radius:var(--radius-md);object-fit:cover}.app-card-logo--placeholder{display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:var(--color-brand);background:var(--color-brand-light)}.app-card-headings{min-width:0;flex:1}.app-card-title{margin:0;font-size:1.0625rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card-company{margin:.125rem 0 0;color:var(--color-text-secondary);font-size:.875rem}.app-card-top .status-badge{flex-shrink:0;align-self:flex-start}.app-card-chips{display:flex;flex-wrap:wrap;gap:.5rem}.app-chip{font-size:.8125rem;color:var(--color-text-secondary);background:var(--color-border-light);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.25rem .75rem}.app-attachment{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;max-width:100%;font-size:.8125rem;font-weight:500;color:var(--color-brand);background:var(--color-brand-light);border:1px solid var(--color-brand-mid);border-radius:var(--radius-sm);padding:.375rem .625rem;overflow:hidden}.app-attachment svg{flex-shrink:0}.app-card-cover{font-size:.875rem;color:#4b5563;margin:0;padding:.75rem .875rem;background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.app-card-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.25rem}.app-withdraw-btn{font-size:.8125rem;padding:.4rem 1.1rem}@media(max-width:480px){.applications-grid{grid-template-columns:1fr}}.postings-new-btn{margin-left:auto}.posting-applicants{display:inline-block;font-size:.875rem;color:var(--color-brand);font-weight:500;padding:.5rem .75rem;background:var(--color-brand-light);border:1px solid var(--color-brand-mid);border-radius:var(--radius-md);transition:background .15s}.posting-applicants:hover{background:#e0ecff}.posting-actions{gap:.625rem}button.danger{background:var(--color-error);color:#fff;border-color:var(--color-error)}button.danger:hover{background:#b91c1c;border-color:#b91c1c}.back-link{display:inline-block;margin-bottom:1rem;font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.back-link:hover{color:var(--color-brand)}.applicant-list{display:flex;flex-direction:column;gap:1rem}.applicant-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.375rem;display:flex;flex-direction:column;gap:.875rem;box-shadow:var(--shadow-sm)}.applicant-card-head{display:flex;align-items:center;gap:.875rem}.applicant-avatar{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;color:#fff;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-brand) 0%,#7c3aed 100%)}.applicant-identity{flex:1;min-width:0}.applicant-name{margin:0;font-size:1.0625rem;font-weight:600}.applicant-applied{margin:.125rem 0 0;font-size:.8125rem;color:var(--color-text-muted)}.applicant-contact{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.applicant-contact-item{font-size:.875rem;color:var(--color-text-secondary);overflow-wrap:anywhere}.applicant-contact-item:hover{color:var(--color-brand)}.applicant-cover{margin:0;font-size:.875rem;color:#4b5563;line-height:1.6;padding:.75rem .875rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.applicant-cv{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;font-size:.8125rem;font-weight:600;color:var(--color-brand);background:var(--color-brand-light);border:1px solid var(--color-brand-mid);border-radius:var(--radius-sm);padding:.45rem .75rem;transition:background .15s}.applicant-cv:hover{background:#e0ecff}.modal-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h2{margin:0 0 .25rem;font-size:1.25rem;letter-spacing:-.02em}.modal-subtitle{margin:0 0 1.5rem;color:var(--color-text-secondary);font-size:.875rem}.footer{background:#111827;color:#d1d5db;margin-top:6rem;padding:3rem 2rem 1.5rem}#root:has(.auth-page) .footer{margin-top:0}.footer-content{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-section h3{color:#fff;font-size:.9375rem;margin:0 0 1rem;letter-spacing:-.01em}.footer-section p{font-size:.875rem;line-height:1.7;margin:0;color:#9ca3af}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{font-size:.875rem;margin-bottom:.625rem;color:#9ca3af}.footer-section a{color:#93c5fd;transition:color .15s}.footer-section a:hover{color:#fff;text-decoration:none}.footer-bottom{max-width:1100px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid #1f2937;text-align:center;font-size:.8125rem;color:#6b7280}.footer-bottom p{margin:0}.auth-page{flex:1;display:flex;align-items:stretch}.auth-brand{display:none;flex-direction:column;justify-content:center;padding:4rem 3.5rem;background:linear-gradient(135deg,#1e3a8a,#1d4ed8,#2563eb);position:relative;overflow:hidden;flex:1 1 45%;min-width:0}.auth-brand:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.auth-brand-inner{position:relative}.auth-brand-logo{display:inline-flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;color:#fff;letter-spacing:-.02em;text-decoration:none;margin-bottom:3rem}.auth-brand-logo-icon{font-size:1.375rem;color:#93c5fd}.auth-brand-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;color:#fff;margin:0 0 1rem;line-height:1.2;letter-spacing:-.03em}.auth-brand-title-accent{background:linear-gradient(90deg,#93c5fd,#c4b5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand-subtitle{font-size:1rem;color:#ffffffb8;margin:0 0 2.5rem;line-height:1.65}.auth-brand-features{display:flex;flex-direction:column;gap:.875rem}.auth-brand-feature{display:flex;align-items:flex-start;gap:.75rem;color:#ffffffd9;font-size:.9375rem}.auth-brand-feature-icon{width:28px;height:28px;border-radius:var(--radius-sm);background:#ffffff26;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;margin-top:.0625rem}.auth-brand-feature-text{line-height:1.5}.auth-brand-feature-text strong{display:block;font-weight:600;color:#fff;font-size:.875rem}.auth-brand-feature-text span{font-size:.8125rem;color:#fff9}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;padding:2.5rem 1.5rem;background:var(--color-bg);flex:1 1 55%;min-width:0;overflow-y:auto}.auth-form-inner{width:100%;max-width:420px;margin:0 auto}.auth-badge{display:inline-flex;align-items:center;gap:.375rem;background:var(--color-brand-light);color:var(--color-brand);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.3125rem .75rem;border-radius:var(--radius-full);border:1px solid var(--color-brand-mid);margin-bottom:1rem}.auth-heading{font-size:1.75rem;font-weight:800;color:var(--color-text-primary);margin:0 0 .375rem;letter-spacing:-.03em;line-height:1.2}.auth-subheading{font-size:.9375rem;color:var(--color-text-secondary);margin:0 0 2rem}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-md)}.auth-card button[type=submit]{width:100%;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;border-radius:var(--radius-sm);letter-spacing:-.01em}.auth-footer-link{margin-top:1.25rem;text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--color-text-muted);font-size:.8125rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-google-btn{display:flex;justify-content:center}@media(min-width:900px){.auth-brand{display:flex}}@media(max-width:768px){.nav{padding:0 1rem}.nav-user{display:none}.footer-content,.job-grid,.form-row{grid-template-columns:1fr}.hero{padding:3rem 1.25rem 2.5rem}}
