/* Local palette — inherits from master.css */
*{margin:0;padding:0;box-sizing:border-box;}
body{min-height:100vh;}

/* Navbar */
.navbar{background:var(--clr-surface-elevated);border-bottom:1px solid var(--border);backdrop-filter:blur(20px);padding:14px 0;}
.navbar-brand{font-weight:900;font-size:1.4rem;color:var(--clr-on-surface)!important;text-decoration:none;}
.navbar-brand span{background:linear-gradient(135deg,var(--purple-light),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}

/* Container */
.page-wrap{max-width:680px;margin:0 auto;padding:48px 20px 80px;}

/* Step indicator */
.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:44px;}
.step-dot{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:800;transition:all .3s;position:relative;}
.step-dot.active{background:linear-gradient(135deg,var(--purple),var(--cyan));color:#fff;box-shadow:0 0 16px rgba(124,58,237,0.4);}
.step-dot.done{background:var(--green);color:#fff;}
.step-dot.pending{background:var(--clr-white-hover);border:1px solid var(--border);color:var(--muted);}
.step-label{position:absolute;top:44px;font-size:0.6rem;color:var(--muted);white-space:nowrap;font-weight:700;}
.step-line{flex:1;height:2px;background:var(--border);max-width:80px;transition:background .3s;}
.step-line.done{background:var(--green);}

/* Panels */
.step-panel{display:none;animation:fadeIn .35s ease;}
.step-panel.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Form elements */
.form-label-custom{font-size:0.82rem;font-weight:700;color:var(--muted);margin-bottom:6px;display:block;}
.form-control-custom{
    width:100%;background:var(--clr-white-hover);border:1px solid var(--border);
    border-radius:10px;padding:12px 16px;color:var(--text);font-family:'Cairo',sans-serif;
    font-size:0.88rem;outline:none;transition:border-color .2s;
}
.form-control-custom:focus{border-color:rgba(124,58,237,0.5);background:rgba(124,58,237,0.04);}
.form-control-custom option{background:var(--clr-surface);color:var(--text);}

/* Search job */
.job-search-wrap{position:relative;}
.job-search-wrap .search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:0.85rem;pointer-events:none;}
.job-search-input{padding-right:40px!important;}
.job-dropdown{
    position:absolute;top:calc(100% + 4px);right:0;left:0;
    background:var(--clr-surface);border:1px solid var(--border);border-radius:10px;
    max-height:240px;overflow-y:auto;z-index:999;display:none;
}
.job-dropdown.open{display:block;}
.job-option{padding:10px 16px;cursor:pointer;font-size:0.84rem;transition:background .15s;border-bottom:1px solid var(--clr-grid-line);}
.job-option:last-child{border-bottom:none;}
.job-option:hover,.job-option.highlighted{background:rgba(124,58,237,0.1);}
.job-option .en{font-size:0.7rem;color:var(--muted);direction:ltr;}
.job-alias{font-size:0.72rem;color:var(--purple-light);margin-top:2px;opacity:.85;}

/* Slider */
.exp-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--clr-border);outline:none;cursor:pointer;}
.exp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--cyan));cursor:pointer;box-shadow:0 0 8px rgba(124,58,237,0.4);}
.exp-value{font-size:1.4rem;font-weight:900;color:var(--clr-on-surface);text-align:center;margin:10px 0 4px;}
.exp-label-txt{font-size:0.75rem;color:var(--muted);text-align:center;}

/* Buttons */
.btn-primary-custom{
    background:linear-gradient(135deg,var(--purple),var(--cyan));border:none;
    color:#fff;padding:13px 32px;border-radius:12px;font-family:'Cairo',sans-serif;
    font-size:0.95rem;font-weight:700;cursor:pointer;transition:all .3s;width:100%;
}
.btn-primary-custom:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,0.35);}
.btn-primary-custom:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.btn-back{background:none;border:1px solid var(--border);color:var(--muted);padding:12px 24px;border-radius:12px;font-family:'Cairo',sans-serif;font-size:0.88rem;cursor:pointer;transition:all .2s;}
.btn-back:hover{border-color:rgba(255,255,255,0.2);color:var(--text);}

/* Info card */
.info-card{background:rgba(124,58,237,0.06);border:1px solid rgba(124,58,237,0.15);border-radius:12px;padding:16px 20px;}

/* Cat buttons */
#catButtons button{background:var(--clr-grid-line);border:1px solid var(--border);color:var(--muted);padding:5px 14px;border-radius:50px;font-family:'Cairo',sans-serif;font-size:0.72rem;cursor:pointer;transition:all .15s;}
#catButtons button:hover{background:rgba(124,58,237,0.1);border-color:rgba(124,58,237,0.3);color:var(--purple-light);}

/* Loading overlay */
#loadingOverlay{
    display:none;position:fixed;inset:0;background:var(--clr-surface-elevated);
    z-index:9999;align-items:center;justify-content:center;flex-direction:column;gap:16px;
}
#loadingOverlay.show{display:flex;}
.spinner{width:48px;height:48px;border:4px solid rgba(124,58,237,0.2);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* Toast */
#toast{
    position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
    background:var(--clr-surface);border:1px solid var(--border);border-radius:10px;
    padding:12px 24px;font-size:0.82rem;color:var(--text);z-index:9999;
    transition:transform .3s;white-space:nowrap;
}
#toast.show{transform:translateX(-50%) translateY(0);}

@media(max-width:600px){
    .page-wrap{padding:32px 16px 60px;}
}

/* ── LIGHT MODE OVERRIDES ── */
html[data-theme="light"] .btn-back:hover{border-color:rgba(0,0,0,0.15);color:var(--text);}
html[data-theme="light"] .job-dropdown{box-shadow:0 8px 30px rgba(0,0,0,0.12);}
html[data-theme="light"] .info-card{background:rgba(124,58,237,0.04);}
html[data-theme="light"] #loadingOverlay{background:rgba(255,255,255,0.95);}
