:root{--color-primary: #1a3557;--color-primary-dark: #0f2240;--color-primary-light: #2a5080;--color-accent: #f0a500;--color-accent-dark: #c98000;--color-accent-light: #ffc740;--color-bg: #f4f7fb;--color-surface: #ffffff;--color-surface-alt: #eef2f8;--color-border: #d0dcea;--color-text: #1c2b3a;--color-text-muted: #5a7090;--color-text-light: #8aa0ba;--color-success: #22a06b;--color-warning: #f0a500;--color-error: #e5534b;--color-info: #2a7bde;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--font-sans: "Inter", "Segoe UI", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(26,53,87,.08);--shadow-md: 0 4px 12px rgba(26,53,87,.12);--shadow-lg: 0 8px 24px rgba(26,53,87,.16)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--sp-6)}@media(max-width:768px){.container{padding:0 var(--sp-4)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-8)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-sans);border:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none!important}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--accent{background:var(--color-accent);color:var(--color-text)}.btn--accent:hover:not(:disabled){background:var(--color-accent-dark)}.btn--outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn--ghost{background:transparent;color:var(--color-text-muted)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-alt)}.btn--sm{padding:var(--sp-2) var(--sp-4);font-size:var(--font-size-xs)}.btn--lg{padding:var(--sp-4) var(--sp-8);font-size:var(--font-size-lg)}.btn--full{width:100%}.form{max-width:720px}.form-group{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-5)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.form-control{width:100%;padding:var(--sp-3) var(--sp-4);font-size:var(--font-size-base);font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a35571f}.form-control.is-invalid{border-color:var(--color-error)}.form-control::placeholder{color:var(--color-text-light)}.form-error{font-size:var(--font-size-xs);color:var(--color-error)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-5)}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-6)}.form-check{flex-direction:row;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.form-check label{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--font-size-base);font-weight:400;cursor:pointer}.form-check input[type=checkbox]{accent-color:var(--color-primary);width:18px;height:18px}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--sp-6);transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md)}.card--clickable{cursor:pointer}.card--clickable:hover{transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge--primary{background:#1a35571a;color:var(--color-primary)}.badge--accent{background:#f0a50026;color:var(--color-accent-dark)}.badge--success{background:#22a06b1a;color:var(--color-success)}.badge--error{background:#e5534b1a;color:var(--color-error)}.alert{padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);border-left:4px solid}.alert--error{background:#e5534b14;border-color:var(--color-error);color:var(--color-error)}.alert--success{background:#22a06b14;border-color:var(--color-success);color:var(--color-success)}.alert--info{background:#2a7bde14;border-color:var(--color-info);color:var(--color-info)}.spinner{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--sp-2)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-6)}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-sm{font-size:var(--font-size-sm)}.mt-4{margin-top:var(--sp-4)}.mt-8{margin-top:var(--sp-8)}.mb-4{margin-bottom:var(--sp-4)}.mb-8{margin-bottom:var(--sp-8)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-primary);height:64px;transition:box-shadow .2s}.navbar--scrolled{box-shadow:var(--shadow-lg)}.navbar__inner{height:100%;display:flex;align-items:center;gap:var(--sp-8)}.navbar__logo{display:flex;align-items:center;gap:var(--sp-2);color:#fff;text-decoration:none;font-size:var(--font-size-lg)}.navbar__logo-icon{font-size:1.4rem}.navbar__logo-text{color:#fff}.navbar__logo-text strong{color:var(--color-accent)}.navbar__links{display:flex;list-style:none;gap:var(--sp-6);flex:1;margin:0;padding:0}.navbar__links li a{color:#fffc;font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:color .2s}.navbar__links li a:hover,.navbar__links li a.active{color:#fff}@media(max-width:768px){.navbar__links{display:none}}.navbar__actions{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto}@media(max-width:768px){.navbar__actions{display:none}}.navbar__user{color:#ffffffe6;font-size:var(--font-size-sm)}.navbar__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--sp-2);margin-left:auto}.navbar__hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px}@media(max-width:768px){.navbar__hamburger{display:flex}}.navbar__mobile{background:var(--color-primary-dark);padding:var(--sp-4) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}.navbar__mobile a{color:#ffffffe6;font-size:var(--font-size-base);text-decoration:none}.navbar__mobile a:hover{color:#fff}.hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;padding:var(--sp-16) 0 var(--sp-12)}.hero__title{font-size:clamp(2rem,5vw,3rem);color:#fff;margin-bottom:var(--sp-4)}.hero__title span{color:var(--color-accent)}.hero__sub{font-size:var(--font-size-lg);color:#ffffffd9;margin-bottom:var(--sp-8)}.search-box{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);background:#fff;border-radius:var(--radius-xl);padding:var(--sp-4);box-shadow:var(--shadow-lg);max-width:860px}.search-box__input{flex:2;min-width:180px;border:none;background:transparent;box-shadow:none}.search-box__select{flex:1;min-width:140px;border:none;background:#fff;box-shadow:none;appearance:auto}.results{padding:var(--sp-12) 0}.results__header h2{color:var(--color-text-muted);font-size:var(--font-size-xl);font-weight:600}.job-card__header{display:flex;gap:var(--sp-4);align-items:flex-start;margin-bottom:var(--sp-4)}.job-card__company-logo{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--color-surface-alt)}.job-card__company-logo img{width:100%;height:100%;object-fit:contain}.job-card__logo-placeholder{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700}.job-card__company{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--sp-1)}.job-card__title{font-size:var(--font-size-lg);font-weight:700}.job-card__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.job-card__tag{font-size:var(--font-size-xs);color:var(--color-text-muted)}.job-card__salary{font-weight:600;color:var(--color-success);font-size:var(--font-size-sm);margin-bottom:var(--sp-2)}.job-card__date{margin-top:var(--sp-2)}.empty-state{grid-column:1/-1;text-align:center;padding:var(--sp-16);color:var(--color-text-muted);font-size:var(--font-size-lg)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--sp-6);margin-top:var(--sp-10)}
