*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body.application-page{
    margin:0;
    min-height:100vh;
    background:var(--theme-bg);
    color:var(--theme-text);
    font-family:Arial,Helvetica,sans-serif;
}

.application-page a{
    color:inherit;
    text-decoration:none;
}

.application-page button,
.application-page input,
.application-page textarea,
.application-page select{
    font:inherit;
}

.application-page .site-header{
    position:sticky;
    inset:auto;
    top:0;
    background:color-mix(in srgb, var(--theme-bg) 94%, transparent);
    color:var(--theme-text);
    border-bottom:1px solid var(--theme-border);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.application-page .site-header.scrolled{
    background:color-mix(in srgb, var(--theme-bg) 96%, transparent);
    color:var(--theme-text);
    border-bottom-color:var(--theme-border);
}

.application-page .header-layout-centered{
    height:96px;
}

.application-page .header-nav a,
.application-page .site-header .year-select{
    color:var(--theme-text);
}

.application-page .site-header .year-select{
    border-color:var(--theme-border);
    background:color-mix(in srgb, #ffffff 42%, transparent);
}

.application-page .header-centered-logo img{
    filter:none !important;
}

.application-hero{
    padding:78px 0 54px;
}

.hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(310px,.36fr);
    gap:60px;
    align-items:end;
    padding-bottom:44px;
    border-bottom:1px solid var(--theme-border);
}

.hero-kicker{
    margin-bottom:22px;
    color:var(--theme-primary);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.16em;
}

.hero-title{
    margin:0;
    font-size:150px;
    line-height:.82;
    letter-spacing:0;
    font-weight:500;
}

.hero-side{
    display:grid;
    gap:18px;
}

.hero-side p{
    margin:0;
    color:var(--theme-muted);
    font-size:17px;
    line-height:1.75;
}

.deadline-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 0 0;
    border-top:1px solid var(--theme-border);
}

.deadline-card span{
    color:color-mix(in srgb, var(--theme-text) 44%, transparent);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.deadline-card strong{
    font-size:15px;
    font-weight:500;
}

.deadline-card.is-open strong{
    color:var(--success);
}

.deadline-card.is-closed strong{
    color:var(--danger);
}

.application-section{
    padding:50px 0 110px;
}

.application-layout{
    display:grid;
    grid-template-columns:minmax(250px,.27fr) minmax(0,1fr);
    gap:36px;
    align-items:start;
}

.application-sidebar{
    position:sticky;
    top:108px;
    padding:24px;
    border:1px solid var(--theme-border);
    background:var(--theme-dark);
    color:var(--theme-light);
}

.sidebar-title{
    margin-bottom:22px;
    color:color-mix(in srgb, var(--theme-light) 46%, transparent);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.sidebar-progress{
    display:grid;
    border-top:1px solid color-mix(in srgb, var(--theme-light) 12%, transparent);
}

.progress-row{
    display:grid;
    grid-template-columns:28px 1fr;
    gap:12px;
    padding:14px 0;
    border-bottom:1px solid color-mix(in srgb, var(--theme-light) 12%, transparent);
}

.progress-row span{
    color:var(--theme-primary);
    font-size:10px;
}

.progress-row strong{
    font-size:13px;
    font-weight:400;
}

.sidebar-note{
    margin:24px 0 0;
    color:color-mix(in srgb, var(--theme-light) 58%, transparent);
    font-size:12px;
    line-height:1.65;
}

.application-form,
.application-fieldset{
    display:grid;
    gap:18px;
}

.application-fieldset{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}

.application-fieldset[disabled]{
    opacity:.72;
}

.application-alert{
    padding:15px 16px;
    border:1px solid var(--theme-border);
    background:#fff;
    font-size:13px;
    line-height:1.6;
}

.application-alert-success{
    border-color:color-mix(in srgb, var(--success) 38%, transparent);
    color:var(--success);
}

.application-alert-error{
    border-color:color-mix(in srgb, var(--danger) 38%, transparent);
    color:var(--danger);
}

.form-section{
    padding:32px;
    border:1px solid var(--theme-border);
    background:color-mix(in srgb, var(--theme-card) 92%, transparent);
}

.form-section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    padding-bottom:24px;
    margin-bottom:28px;
    border-bottom:1px solid var(--theme-border);
}

.form-section-number{
    color:var(--theme-primary);
    font-size:10px;
    letter-spacing:.14em;
}

.form-section-title{
    margin:0;
    font-size:46px;
    line-height:1;
    letter-spacing:0;
    font-weight:500;
}

.form-section-desc{
    max-width:360px;
    margin:0;
    color:var(--theme-muted);
    font-size:13px;
    line-height:1.65;
    text-align:right;
}

.form-label{
    margin-bottom:8px;
    color:color-mix(in srgb, var(--theme-text) 50%, transparent);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.field-card{
    position:relative;
    min-width:0;
}

.field-label-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.field-label{
    margin:0;
    color:color-mix(in srgb, var(--theme-text) 78%, transparent);
    font-size:11px;
    font-weight:500;
}

.field-status{
    padding:5px 7px;
    border:1px solid var(--theme-border);
    color:color-mix(in srgb, var(--theme-text) 40%, transparent);
    font-size:8px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.field-status.required{
    border-color:color-mix(in srgb, var(--theme-primary) 25%, transparent);
    background:color-mix(in srgb, var(--theme-primary) 4%, transparent);
    color:var(--theme-primary);
}

.modern-input,
.modern-select,
.modern-textarea{
    width:100%;
    border:1px solid color-mix(in srgb, var(--theme-text) 13%, transparent)!important;
    border-radius:0!important;
    background:#fff!important;
    color:var(--theme-text);
    box-shadow:none!important;
    transition:border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
}

.modern-input,
.modern-select{
    min-height:54px;
    padding:13px 15px!important;
}

.modern-textarea{
    min-height:180px!important;
    padding:15px!important;
    line-height:1.7;
    resize:vertical;
}

.modern-input::placeholder,
.modern-textarea::placeholder{
    color:color-mix(in srgb, var(--theme-text) 30%, transparent);
}

.modern-input:hover,
.modern-select:hover,
.modern-textarea:hover{
    border-color:color-mix(in srgb, var(--theme-text) 26%, transparent)!important;
}

.modern-input:focus,
.modern-select:focus,
.modern-textarea:focus{
    border-color:var(--theme-primary)!important;
    background:#fff!important;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--theme-primary) 9%, transparent)!important;
}

.modern-input:disabled,
.modern-select:disabled,
.modern-textarea:disabled{
    cursor:not-allowed;
    color:color-mix(in srgb, var(--theme-text) 48%, transparent);
    background:color-mix(in srgb, #ffffff 72%, var(--theme-bg))!important;
}

.field-help{
    display:block;
    margin-top:7px;
    color:color-mix(in srgb, var(--theme-text) 42%, transparent);
    font-size:10px;
    line-height:1.5;
}

.field-error{
    display:block;
    margin-top:7px;
    color:var(--danger);
    font-size:11px;
    line-height:1.5;
}

.field-error-block{
    margin-top:12px;
}

.bio-wrap{
    position:relative;
}

.bio-wrap .char-count{
    position:absolute;
    right:12px;
    bottom:10px;
    margin:0;
    padding:4px 7px;
    background:color-mix(in srgb, var(--theme-bg) 92%, transparent);
    color:color-mix(in srgb, var(--theme-text) 42%, transparent);
    font-size:9px;
}

.char-count{
    margin-top:6px;
    color:color-mix(in srgb, var(--theme-text) 40%, transparent);
    font-size:10px;
    text-align:right;
}

.form-subgrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px;
}

.form-subgrid .full{
    grid-column:1 / -1;
}

.discipline-select-wrap{
    position:relative;
}

.discipline-select-wrap:after{
    content:"⌄";
    position:absolute;
    right:15px;
    bottom:17px;
    pointer-events:none;
    color:color-mix(in srgb, var(--theme-text) 45%, transparent);
    font-size:12px;
}

.modern-select{
    appearance:none;
    -webkit-appearance:none;
    padding-right:42px!important;
}

.section-tip{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:20px;
    padding:15px 16px;
    border-left:2px solid var(--theme-primary);
    background:color-mix(in srgb, var(--theme-primary) 5%, transparent);
}

.section-tip-number{
    flex:0 0 auto;
    color:var(--theme-primary);
    font-size:10px;
    letter-spacing:.1em;
}

.section-tip-text{
    margin:0;
    color:color-mix(in srgb, var(--theme-text) 52%, transparent);
    font-size:11px;
    line-height:1.65;
}

.upload-config{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
}

.upload-config span{
    padding:8px 10px;
    border:1px solid var(--theme-border);
    background:#fff;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.11em;
}

.upload-zone{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:280px;
    padding:34px;
    border:1px dashed color-mix(in srgb, var(--theme-text) 28%, transparent);
    background:color-mix(in srgb, var(--theme-bg) 82%, #ffffff);
    text-align:center;
    cursor:pointer;
    transition:border-color .22s var(--ease), background .22s var(--ease);
}

.application-fieldset[disabled] .upload-zone{
    cursor:not-allowed;
}

.upload-zone:hover,
.upload-zone.is-dragover{
    border-color:var(--theme-primary);
    background:color-mix(in srgb, var(--theme-primary) 5%, var(--theme-bg));
}

.upload-zone.is-valid{
    border-color:var(--success);
    background:color-mix(in srgb, var(--success) 5%, var(--theme-bg));
}

.upload-zone.is-error{
    border-color:var(--danger);
    background:color-mix(in srgb, var(--danger) 5%, var(--theme-bg));
}

.upload-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    margin:0 auto 18px;
    border:1px solid var(--theme-border);
    border-radius:50%;
    font-size:22px;
}

.upload-title{
    display:block;
    font-size:25px;
    line-height:1.05;
    letter-spacing:0;
    font-weight:500;
}

.upload-text{
    display:block;
    max-width:420px;
    margin:10px auto 0;
    color:var(--theme-muted);
    font-size:13px;
    line-height:1.65;
}

.upload-browse{
    display:inline-flex;
    margin-top:18px;
    padding-bottom:5px;
    border-bottom:1px solid currentColor;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
}

#portfolioFile{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.file-feedback{
    display:none;
    margin-top:14px;
    padding:14px 16px;
    border:1px solid var(--theme-border);
    background:#fff;
}

.file-feedback.show{
    display:block;
}

.file-feedback.valid{
    border-color:color-mix(in srgb, var(--success) 30%, transparent);
}

.file-feedback.error{
    border-color:color-mix(in srgb, var(--danger) 30%, transparent);
}

.file-feedback-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.file-info strong{
    display:block;
    font-size:14px;
    font-weight:500;
    word-break:break-word;
}

.file-info span{
    display:block;
    margin-top:4px;
    color:var(--theme-muted);
    font-size:11px;
}

.file-remove{
    border:0;
    background:transparent;
    color:var(--danger);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.file-message{
    margin-top:8px;
    font-size:12px;
    line-height:1.55;
}

.file-message.success{
    color:var(--success);
}

.file-message.danger{
    color:var(--danger);
}

.approvals-wrap{
    display:grid;
    gap:12px;
}

.approval-card{
    position:relative;
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:18px;
    align-items:center;
    min-height:88px;
    padding:18px 20px;
    border:1px solid var(--theme-border);
    background:#fff;
    cursor:pointer;
    transition:transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease);
}

.approval-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb, var(--theme-text) 24%, transparent);
    box-shadow:0 10px 26px rgba(0,0,0,.035);
}

.application-fieldset[disabled] .approval-card{
    cursor:not-allowed;
}

.approval-card:has(.form-check-input:checked){
    border-color:color-mix(in srgb, var(--theme-primary) 38%, transparent);
    background:color-mix(in srgb, var(--theme-primary) 4%, #ffffff);
}

.approval-check{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
}

.approval-card .form-check-input{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    margin:0;
    border:1px solid color-mix(in srgb, var(--theme-text) 22%, transparent);
    border-radius:50%!important;
    background:#fff;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    transition:.2s var(--ease);
}

.approval-card .form-check-input:before{
    content:"";
    width:10px;
    height:6px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(-45deg) scale(0);
    transition:.18s var(--ease);
}

.approval-card .form-check-input:checked{
    border-color:var(--theme-primary);
    background:var(--theme-primary);
}

.approval-card .form-check-input:checked:before{
    transform:rotate(-45deg) scale(1);
}

.approval-content{
    min-width:0;
}

.approval-label{
    display:block;
    margin:0 0 5px;
    font-size:15px;
    line-height:1.35;
    font-weight:500;
}

.approval-desc{
    display:block;
    margin:0;
    color:color-mix(in srgb, var(--theme-text) 52%, transparent);
    font-size:12px;
    line-height:1.55;
}

.approval-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:7px 10px;
    border:1px solid var(--theme-border);
    color:color-mix(in srgb, var(--theme-text) 48%, transparent);
    font-size:0;
    text-transform:uppercase;
    letter-spacing:.11em;
    white-space:nowrap;
    transition:.2s var(--ease);
}

.approval-card:has(.form-check-input:checked) .approval-badge{
    border-color:color-mix(in srgb, var(--theme-primary) 25%, transparent);
    background:color-mix(in srgb, var(--theme-primary) 6%, transparent);
    color:var(--theme-primary);
}

.approval-card:has(.form-check-input:checked) .approval-badge::before{
    content:"Onaylandı";
    font-size:9px;
}

.approval-card:not(:has(.form-check-input:checked)) .approval-badge::before{
    content:"Gerekli";
    font-size:9px;
}

.approvals-note{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--theme-border);
    color:color-mix(in srgb, var(--theme-text) 42%, transparent);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.11em;
}

.submit-panel{
    padding:28px;
    border:1px solid var(--theme-border);
    background:var(--theme-dark);
    color:var(--theme-light);
}

.submit-panel-grid{
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    align-items:end;
}

.submit-title{
    margin:0 0 12px;
    font-size:58px;
    line-height:1;
    letter-spacing:0;
    font-weight:500;
}

.submit-text{
    max-width:620px;
    margin:0;
    color:color-mix(in srgb, var(--theme-light) 58%, transparent);
    font-size:13px;
    line-height:1.7;
}

.submit-btn{
    min-width:190px;
    border:0;
    background:var(--theme-primary);
    color:#fff;
    padding:16px 20px;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em;
    transition:.22s var(--ease);
}

.submit-btn:hover:not(:disabled){
    background:var(--theme-light);
    color:var(--theme-dark);
}

.submit-btn:disabled{
    cursor:not-allowed;
    opacity:.35;
}

.form-global-error{
    display:none;
    margin-top:14px;
    padding:12px 14px;
    border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);
    color:#ffb0b0;
    font-size:12px;
    line-height:1.55;
}

.form-global-error.show{
    display:block;
}

.application-success-section{
    min-height:calc(100vh - 96px);
    display:flex;
    align-items:center;
    padding:86px 0 110px;
}

.application-success-shell{
    max-width:980px;
    padding:54px 0;
    border-top:1px solid var(--theme-border);
    border-bottom:1px solid var(--theme-border);
}

.application-success-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    margin-bottom:34px;
    border:1px solid color-mix(in srgb, var(--success) 36%, transparent);
    border-radius:50%;
    background:color-mix(in srgb, var(--success) 8%, transparent);
    color:var(--success);
    font-size:32px;
}

.application-success-kicker{
    margin-bottom:22px;
    color:var(--theme-primary);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.16em;
}

.application-success-shell h1{
    max-width:820px;
    margin:0;
    font-size:96px;
    line-height:.94;
    letter-spacing:0;
    font-weight:500;
}

.application-success-shell p{
    max-width:620px;
    margin:28px 0 0;
    color:var(--theme-muted);
    font-size:17px;
    line-height:1.75;
}

.application-success-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:34px;
}

.application-success-primary,
.application-success-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.application-success-primary{
    border:1px solid var(--theme-primary);
    background:var(--theme-primary);
    color:#fff;
}

.application-success-secondary{
    border:1px solid var(--theme-border);
    color:var(--theme-text);
}

.reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .55s var(--ease), transform .55s var(--ease);
}

.reveal.visible{
    opacity:1;
    transform:none;
}

@media(max-width:1199.98px){
    .hero-title{
        font-size:118px;
    }

    .submit-title{
        font-size:46px;
    }
}

@media(max-width:991.98px){
    .application-page .header-layout-centered{
        height:76px;
    }

    .hero-grid,
    .application-layout{
        grid-template-columns:1fr;
    }

    .application-sidebar{
        position:relative;
        top:auto;
    }

    .form-section-head,
    .submit-panel-grid{
        display:grid;
        grid-template-columns:1fr;
    }

    .form-section-desc{
        max-width:100%;
        text-align:left;
    }

    .hero-title{
        font-size:96px;
    }
}

@media(max-width:767.98px){
    .form-section{
        padding:22px;
    }

    .form-subgrid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .form-subgrid .full{
        grid-column:auto;
    }
}

@media(max-width:650px){
    .application-hero{
        padding:54px 0 42px;
    }

    .hero-title{
        font-size:66px;
    }

    .hero-side p{
        font-size:15px;
    }

    .form-section{
        padding:20px;
    }

    .form-section-title{
        font-size:34px;
    }

    .upload-zone{
        min-height:240px;
        padding:24px 18px;
    }

    .approval-card{
        grid-template-columns:42px 1fr;
        gap:14px;
        padding:16px;
    }

    .approval-badge{
        grid-column:2;
        justify-self:start;
    }

    .approvals-note{
        flex-direction:column;
        gap:6px;
    }

    .submit-panel{
        padding:22px;
    }

    .submit-title{
        font-size:38px;
    }

    .application-success-section{
        min-height:auto;
        padding:58px 0 76px;
    }

    .application-success-shell{
        padding:38px 0;
    }

    .application-success-shell h1{
        font-size:56px;
    }

    .application-success-actions a{
        width:100%;
    }

    .submit-btn{
        width:100%;
    }
}
