*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #0b8ba8;--color-primary-hover: #097a95;--color-secondary: #5a7488;--color-success: #16a34a;--color-danger: #dc2626;--color-warning: #d97706;--color-bg: linear-gradient(150deg, #e4eef8 0%, #eaf2f8 60%, #ddeaf5 100%);--color-surface: rgba(255, 255, 255, .88);--color-border: rgba(0, 34, 57, .12);--color-text: #0a1928;--color-text-muted: #5a7488;--radius: 10px;--shadow-sm: 0 2px 8px rgba(0,29,52,.08), 0 0 0 1px rgba(0,29,52,.04);--shadow-md: 0 6px 20px rgba(0,29,52,.12), 0 0 0 1px rgba(0,29,52,.05);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:linear-gradient(150deg,#e4eef8,#eaf2f8 60%,#ddeaf5);background-attachment:fixed;color:var(--color-text);line-height:1.6}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}.navbar{background:#002239;border-bottom:none;padding:.875rem 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #0016264d}.navbar__inner{display:flex;align-items:center;gap:1rem}.navbar__brand{font-weight:700;font-size:1.15rem;color:#fff;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:var(--radius);border:none;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:#0b8ba812}.btn-sm{padding:.35rem .9rem;font-size:.82rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-label{font-size:.88rem;font-weight:500;color:var(--color-text)}.form-label .required{color:var(--color-danger);margin-left:.15rem}.form-control{padding:.55rem .75rem;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;width:100%;outline:none;transition:border-color .15s}.form-control:focus{border-color:var(--color-primary)}.form-control.error{border-color:var(--color-danger)}.form-error{font-size:.8rem;color:var(--color-danger)}.form-hint{font-size:.8rem;color:var(--color-text-muted)}textarea.form-control{resize:vertical;min-height:100px}.alert{padding:.85rem 1rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.alert-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.alert-success{background:#f0fdf4;color:#15803d;border:1px solid #86efac}.spinner{display:inline-block;width:1.2rem;height:1.2rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page{padding:2rem 0 4rem}.page-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.page-subtitle{color:var(--color-text-muted);margin-bottom:1.75rem}.search-bar{display:flex;flex-wrap:wrap;gap:.75rem;background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1.25rem;border-radius:14px;box-shadow:0 2px 8px #001d3414,0 0 0 1px #001d340a;margin-bottom:1.75rem;align-items:flex-end}.search-bar .form-group{flex:1 1 180px}.search-bar .checkbox-group{display:flex;align-items:center;gap:.4rem;font-size:.9rem;padding-bottom:.5rem}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.job-card{background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:14px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 2px 8px #001d3414,0 0 0 1px #001d340a;transition:transform .15s,box-shadow .15s}.job-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #001d341f,0 0 0 1px #001d340d}.job-card__title{font-size:1.05rem;font-weight:600}.job-card__meta{display:flex;flex-wrap:wrap;gap:.4rem .75rem;font-size:.83rem;color:var(--color-text-muted)}.job-card__badge{background:#0b8ba81a;color:var(--color-primary);padding:.2rem .6rem;border-radius:20px;font-size:.77rem;font-weight:600;border:1px solid rgba(11,139,168,.2)}.job-card__salary{font-size:.88rem;color:var(--color-success);font-weight:500}.job-card__footer{margin-top:auto;padding-top:.6rem}.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.job-detail{background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:14px;padding:2rem;box-shadow:0 2px 8px #001d3414,0 0 0 1px #001d340a}.job-detail__title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.job-detail__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1.5rem;color:var(--color-text-muted);font-size:.9rem}.job-detail__description{white-space:pre-wrap;font-size:.95rem;line-height:1.75}.job-detail__actions{margin-top:1.75rem;display:flex;gap:.75rem}.app-form{background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:14px;padding:2rem;box-shadow:0 2px 8px #001d3414,0 0 0 1px #001d340a;max-width:640px}.app-form__fields{display:flex;flex-direction:column;gap:1rem}.app-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.app-form__actions{display:flex;gap:.75rem;margin-top:1.5rem}.stepper{display:flex;gap:0;margin-bottom:2rem}.stepper__step{flex:1;text-align:center;position:relative;font-size:.82rem}.stepper__step:not(:last-child):after{content:"";position:absolute;top:.85rem;left:50%;width:100%;height:2px;background:var(--color-border)}.stepper__step.active:after,.stepper__step.done:after{background:var(--color-primary)}.stepper__circle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--color-border);background:var(--color-surface);font-weight:600;font-size:.8rem;position:relative;z-index:1;margin-bottom:.25rem}.stepper__step.active .stepper__circle{border-color:var(--color-primary);color:var(--color-primary)}.stepper__step.done .stepper__circle{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.stepper__label{display:block;color:var(--color-text-muted)}.stepper__step.active .stepper__label{color:var(--color-primary);font-weight:600}.file-upload{border:2px dashed var(--color-border);border-radius:var(--radius);padding:1.5rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.file-upload:hover{border-color:var(--color-primary);background:#f0f9ff}.file-upload.uploading{opacity:.6;pointer-events:none}.file-upload.done{border-color:var(--color-success);background:#f0fdf4}.file-upload__input{display:none}.file-upload__text{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.5rem}.file-upload__filename{font-size:.88rem;font-weight:500;color:var(--color-success)}.file-upload__hint{font-size:.78rem;color:var(--color-text-muted);margin-top:.25rem}.stage-timeline{display:flex;flex-direction:column;gap:0;padding:.5rem 0}.stage-timeline__item{display:flex;align-items:flex-start;gap:1rem;position:relative}.stage-timeline__item:not(:last-child) .stage-timeline__line{position:absolute;left:.875rem;top:1.75rem;width:2px;height:calc(100% + .5rem);background:var(--color-border)}.stage-timeline__dot{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-border);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;color:#fff;font-weight:700}.stage-timeline__item.current .stage-timeline__dot{background:var(--color-primary);border-color:var(--color-primary)}.stage-timeline__content{padding-bottom:1.5rem}.stage-timeline__name{font-weight:600;font-size:.95rem}.stage-timeline__item.current .stage-timeline__name{color:var(--color-primary)}.stage-timeline__date{font-size:.82rem;color:var(--color-text-muted)}.status-card{background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:none;border-radius:14px;padding:2rem;max-width:560px;box-shadow:0 2px 8px #001d3414,0 0 0 1px #001d340a}.status-card__title{font-size:1.2rem;font-weight:700;margin-bottom:1.25rem}.status-card__vacancy{font-size:.9rem;color:var(--color-text-muted);margin-bottom:1.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.empty-state h3{font-size:1.1rem;margin-bottom:.5rem}.auth-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,rgba(0,34,57,.03) 25%,transparent 25%) -50px 0,linear-gradient(225deg,rgba(0,34,57,.03) 25%,transparent 25%) -50px 0,linear-gradient(315deg,rgba(0,34,57,.03) 25%,transparent 25%),linear-gradient(45deg,rgba(0,34,57,.03) 25%,transparent 25%);background-size:100px 100px;background-color:#eef3f8;position:relative}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(11,139,168,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(0,51,79,.06) 0%,transparent 40%),radial-gradient(ellipse at 60% 80%,rgba(11,139,168,.05) 0%,transparent 45%);pointer-events:none}.auth-card{background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:none;border-radius:18px;overflow:hidden;padding:0;width:100%;max-width:420px;box-shadow:0 8px 40px #00162624,0 0 0 1px #0022390f}.auth-card h1{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;color:#fff}.auth-card__header{background:linear-gradient(135deg,#002239,#00334f);padding:1.75rem 2rem;text-align:center}.auth-card__body{padding:2rem}.auth-card p.auth-subtitle{color:#ffffffa6;font-size:.9rem;margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--color-text)}.form-group input{padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;background:var(--color-bg);color:var(--color-text);transition:border-color .15s}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group input.input-error{border-color:var(--color-danger)}.form-group .field-error{font-size:.8rem;color:var(--color-danger)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:var(--color-danger);padding:.75rem 1rem;font-size:.88rem;margin-bottom:1.25rem}.auth-submit-btn{width:100%;padding:.75rem;font-size:1rem;font-weight:700;background:#002239;color:#fff;border:none;border-radius:9px;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;margin-top:.5rem;font-family:inherit;letter-spacing:.01em}.auth-submit-btn:hover:not(:disabled){background:#003351;box-shadow:0 4px 16px #00223947;transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.25rem;font-size:.88rem;color:var(--color-text-muted)}.auth-switch a{color:var(--color-primary);font-weight:500}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1200}.cookie-banner__content{max-width:980px;margin:0 auto;background:#002239f5;color:#f8fbff;border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 14px 40px #00111e59;padding:1rem 1.1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.cookie-banner__title{font-size:1rem;margin:0 0 .2rem}.cookie-banner__text{font-size:.86rem;color:#d2e4f3;margin:0}.cookie-banner__text a{color:#8dd6e6;font-weight:600}.cookie-banner__actions{display:flex;gap:.6rem;flex-shrink:0}@media(max-width:760px){.cookie-banner__content{flex-direction:column;align-items:stretch}.cookie-banner__actions{justify-content:flex-end}}
