*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

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

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

.track-page button,
.track-page input{
    font:inherit;
}

.track-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);
}

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

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

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

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

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

.track-hero{
    padding:90px 0 52px;
}

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

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

.hero-title{
    margin:0;
    font-size:clamp(70px,11vw,170px);
    line-height:.76;
    letter-spacing:0;
    font-weight:500;
}

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

.track-section{
    padding:42px 0 110px;
}

.track-layout{
    display:grid;
    grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);
    gap:22px;
    align-items:start;
}

.track-form-card{
    position:sticky;
    top:108px;
    border:1px solid var(--theme-border);
    background:var(--theme-card);
    padding:28px;
}

.track-form-card h2{
    margin:0 0 10px;
    font-size:34px;
    line-height:.95;
    letter-spacing:0;
    font-weight:500;
}

.track-form-card > p{
    margin:0 0 26px;
    font-size:13px;
    line-height:1.65;
    color:var(--theme-muted);
}

.field{
    margin-bottom:18px;
}

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

.field-label{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.11em;
    color:color-mix(in srgb, var(--theme-text) 56%, transparent);
}

.required{
    color:var(--theme-primary);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.track-input{
    width:100%;
    min-height:52px;
    padding:13px 14px;
    border:1px solid var(--theme-border);
    border-radius:0;
    background:#fff;
    color:var(--theme-text);
    outline:none;
    transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}

.track-input:focus{
    border-color:var(--theme-primary);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--theme-primary) 7%, transparent);
}

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

.track-btn{
    width:100%;
    min-height:54px;
    margin-top:4px;
    border:0;
    border-radius:0;
    background:var(--theme-dark);
    color:var(--theme-light);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em;
    transition:background-color .2s var(--ease), opacity .2s var(--ease);
}

.track-btn:hover:not(:disabled),
.track-btn:focus:not(:disabled){
    background:var(--theme-primary);
}

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

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

.form-note{
    margin:14px 0 0;
    font-size:10px;
    line-height:1.55;
    color:color-mix(in srgb, var(--theme-text) 42%, transparent);
}

.track-error{
    display:none;
    margin-top:16px;
    padding:12px 14px;
    border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);
    background:color-mix(in srgb, var(--danger) 4%, transparent);
    color:var(--danger);
    font-size:12px;
    line-height:1.55;
}

.track-error.show{
    display:block;
}

.track-content{
    min-height:560px;
}

.track-placeholder{
    min-height:560px;
    border:1px dashed color-mix(in srgb, var(--theme-text) 20%, transparent);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:50px;
}

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

.track-placeholder h3{
    margin:0 0 12px;
    font-size:34px;
    letter-spacing:0;
    font-weight:500;
}

.track-placeholder p{
    max-width:470px;
    margin:0 auto;
    font-size:13px;
    line-height:1.7;
    color:var(--theme-muted);
}

.new-application-link{
    display:inline-flex;
    margin-top:22px;
    padding-bottom:5px;
    border-bottom:1px solid currentColor;
    color:var(--theme-primary);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.track-result{
    display:none;
}

.track-result.show{
    display:block;
}

.result-hero{
    background:var(--theme-dark);
    color:var(--theme-light);
    padding:32px;
}

.result-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
}

.result-kicker{
    margin-bottom:16px;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:color-mix(in srgb, var(--theme-light) 40%, transparent);
}

.result-name{
    margin:0;
    font-size:clamp(42px,5vw,76px);
    line-height:.9;
    letter-spacing:0;
    font-weight:500;
}

.status-pill{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:10px 12px;
    border:1px solid color-mix(in srgb, var(--theme-light) 15%, transparent);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.11em;
    white-space:nowrap;
}

.status-pill:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ffc14b;
}

.status-pill.is-approved:before,
.status-pill.is-accepted:before{
    background:var(--success);
}

.status-pill.is-rejected:before{
    background:var(--danger);
}

.status-pill.is-incomplete:before{
    background:#e08a28;
}

.status-reason{
    display:block;
    width:fit-content;
    margin:14px 0 0;
    padding:9px 11px;
    border-left:3px solid #e08a28;
    background:color-mix(in srgb,#e08a28 9%,transparent);
    color:var(--theme-text);
    font-size:11px;
    line-height:1.5;
}

.result-meta{
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid color-mix(in srgb, var(--theme-light) 12%, transparent);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.result-meta span{
    display:block;
    margin-bottom:6px;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:color-mix(in srgb, var(--theme-light) 36%, transparent);
}

.result-meta strong{
    font-size:13px;
    font-weight:400;
}

.current-status{
    margin-top:18px;
    padding:28px;
    border:1px solid var(--theme-border);
    background:#fff;
}

.current-status-grid{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:24px;
    align-items:start;
}

.current-status-number{
    width:92px;
    height:92px;
    border-radius:50%;
    background:var(--theme-primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.current-status-label{
    margin-bottom:10px;
    color:var(--theme-primary);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.current-status h2{
    margin:0 0 12px;
    font-size:38px;
    line-height:.95;
    letter-spacing:0;
    font-weight:500;
}

.current-status p{
    max-width:670px;
    margin:0;
    font-size:14px;
    line-height:1.75;
    color:var(--theme-muted);
}

.next-date{
    display:inline-flex;
    margin-top:18px;
    padding:9px 11px;
    border:1px solid var(--theme-border);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.11em;
}

.timeline-card,
.detail-card{
    margin-top:18px;
    border:1px solid var(--theme-border);
    background:var(--theme-card);
    padding:28px;
}

.timeline-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin-bottom:24px;
}

.timeline-head h2{
    margin:0;
    font-size:32px;
    letter-spacing:0;
    font-weight:500;
}

.timeline-head span{
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:color-mix(in srgb, var(--theme-text) 40%, transparent);
}

.timeline{
    border-top:1px solid var(--theme-border);
}

.timeline-row{
    display:grid;
    grid-template-columns:54px 1fr auto;
    gap:18px;
    align-items:start;
    padding:18px 0;
    border-bottom:1px solid var(--theme-border);
}

.timeline-dot{
    width:28px;
    height:28px;
    border-radius:50%;
    border:1px solid var(--theme-border);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:10px;
}

.timeline-row.done .timeline-dot{
    background:var(--success);
    border-color:var(--success);
    color:#fff;
}

.timeline-row.current .timeline-dot{
    background:var(--theme-primary);
    border-color:var(--theme-primary);
    color:#fff;
}

.timeline-row.upcoming{
    opacity:.5;
}

.timeline-row h3{
    margin:2px 0 6px;
    font-size:15px;
    font-weight:500;
}

.timeline-row p{
    margin:0;
    font-size:11px;
    line-height:1.6;
    color:var(--theme-muted);
}

.timeline-date{
    font-size:10px;
    color:color-mix(in srgb, var(--theme-text) 45%, transparent);
    white-space:nowrap;
}

.detail-card{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:0;
}

.detail-row{
    min-width:0;
    padding:22px 24px;
    border-right:1px solid var(--theme-border);
}

.detail-row:last-child{
    border-right:0;
}

.detail-row span{
    display:block;
    color:color-mix(in srgb, var(--theme-text) 45%, transparent);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.detail-row strong{
    display:block;
    margin-top:9px;
    font-size:14px;
    line-height:1.45;
    font-weight:500;
    word-break:break-word;
}

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

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

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

    .track-page .mobile-menu{
        top:76px;
    }

    .track-hero{
        padding:62px 0 38px;
    }

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

    .track-form-card{
        position:relative;
        top:auto;
    }
}

@media(max-width:767.98px){
    .result-top,
    .timeline-head{
        display:grid;
    }

    .result-meta,
    .detail-card{
        grid-template-columns:1fr;
    }

    .detail-row,
    .detail-row:last-child{
        border-right:0;
        border-bottom:1px solid var(--theme-border);
    }

    .detail-row:last-child{
        border-bottom:0;
    }

    .current-status-grid,
    .timeline-row{
        grid-template-columns:1fr;
    }

    .timeline-date{
        white-space:normal;
    }
}

@media(max-width:575.98px){
    .track-hero{
        padding:48px 0 30px;
    }

    .track-section{
        padding:30px 0 72px;
    }

    .track-placeholder{
        min-height:420px;
        padding:28px;
    }

    .track-form-card,
    .result-hero,
    .current-status,
    .timeline-card{
        padding:22px;
    }

    .track-form-card h2,
    .track-placeholder h3{
        font-size:30px;
    }

    .current-status h2{
        font-size:30px;
    }
}
