* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Rye", serif;
}

body {
    overflow-x: hidden;
    background: #f4ece7;
}

.header {
    width: 100%;
    min-height: 100vh;
    padding-bottom: 48px;
    background:
        linear-gradient(120deg, rgba(255, 244, 235, .42), rgba(255, 255, 255, .16) 45%, rgba(120, 28, 28, .12)),
        url("Background GF26.jpg.jpeg") center / cover no-repeat;
    position: relative;
}

nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2% 2%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
}

nav img {
    width: 50px;
    height: auto;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, .18));
    transition: transform .3s ease;
}

nav img:hover {
    transform: rotate(-4deg) scale(1.08);
}

.nav-links {
    flex: 1;
    text-align: right;
}

.nav-links ul li {
    display: inline-block;
    list-style: none;
    padding: 8px 12px;
    position: relative;
    transition: transform .3s ease;
}

.nav-links ul li:hover {
    transform: scale(1.1);
}

.nav-links ul li a {
    color: rgb(180, 39, 39);
    display: inline-block;
    font-size: 13px;
    text-decoration: none;
    text-shadow: 0 1px 8px rgba(255, 255, 255, .8);
    transition: color .3s ease;
}

.nav-links ul li a:hover {
    color: rgb(230, 70, 70);
}

.nav-links ul li::after {
    content: "";
    width: 0;
    height: 2px;
    background: rgb(180, 39, 39);
    display: block;
    margin: auto;
    transition: width .5s;
}

.nav-links ul li:hover::after {
    width: 100%;
}

.container,
.signup-card,
.login-box,
.participant-card {
    position: relative;
    overflow: hidden;
    width: min(560px, calc(100% - 48px));
    margin: 36px auto 48px;
    padding: 34px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(255, 247, 244, .88));
    border: 1px solid rgba(180, 39, 39, .16);
    border-radius: 15px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
}

.container::before,
.signup-card::before,
.login-box::before,
.participant-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, rgb(120, 28, 28), rgb(230, 70, 70), rgb(120, 28, 28));
}

.signup-card {
    width: min(620px, calc(100% - 48px));
    transform: translateY(0);
    transition: transform .3s ease, box-shadow .3s ease;
}

.signup-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 54px rgba(0, 0, 0, .22);
}

.signup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 28px;
}

.signup-header h1,
.login-box h1,
.participant-card h1 {
    color: rgb(120, 28, 28);
    font-size: 34px;
    line-height: 1.2;
    text-shadow: 0 2px 0 rgba(255, 255, 255, .7);
}

.signup-header h1 {
    position: relative;
}

.signup-header h1::after {
    content: "";
    display: block;
    width: 72px;
    height: 3px;
    margin-top: 10px;
    border-radius: 999px;
    background: rgb(180, 39, 39);
}

.signup-login-button,
.secondary-button {
    padding: 10px 20px;
    border: 1px solid rgba(120, 28, 28, .28);
    border-radius: 8px;
    background: rgba(120, 28, 28, .1);
    color: rgb(120, 28, 28);
    font-size: 14px;
    text-decoration: none;
    transition: background .3s ease, color .3s ease;
}

.signup-login-button:hover,
.secondary-button:hover {
    background: rgb(180, 39, 39);
    color: white;
}

form,
.signup-form,
.form-group,
.upload-box {
    display: flex;
    flex-direction: column;
}

.signup-form {
    gap: 18px;
}

.form-group label,
.upload-box span {
    margin-bottom: 8px;
    color: rgb(95, 31, 31);
    font-size: 14px;
    line-height: 1.4;
}

input,
select,
textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid rgba(120, 28, 28, .26);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    color: #222;
    font-family: Arial, sans-serif;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

textarea {
    min-height: 138px;
    resize: vertical;
}

input:hover,
select:hover,
textarea:hover {
    border-color: rgba(180, 39, 39, .48);
}

input:focus,
select:focus,
textarea:focus {
    border-color: rgb(180, 39, 39);
    box-shadow: 0 0 0 3px rgba(180, 39, 39, .14);
}

.field-warning,
.form-group small,
.participant-limit,
.participant-card p,
.participant-card small,
#uploadStatus {
    color: rgb(105, 65, 65);
    font-family: Arial, sans-serif;
    font-size: 12px;
    line-height: 1.4;
}

.field-warning {
    display: none;
    margin-top: 8px;
    color: rgb(180, 39, 39);
}

.error {
    border-color: crimson !important;
    box-shadow: 0 0 0 3px rgba(220, 20, 60, .12) !important;
}

button {
    padding: 15px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, rgb(150, 30, 30), rgb(190, 45, 45));
    color: white;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(120, 28, 28, .2);
    transition: box-shadow .3s ease, transform .2s ease, filter .3s ease;
}

button:hover {
    filter: brightness(1.08);
    box-shadow: 0 14px 26px rgba(120, 28, 28, .26);
    transform: translateY(-1px);
}

button:disabled {
    cursor: wait;
    opacity: .7;
}

button.secondary-button {
    background: rgba(120, 28, 28, .1);
    border: 1px solid rgba(120, 28, 28, .28);
    color: rgb(120, 28, 28);
    box-shadow: none;
}

button.secondary-button:hover {
    background: rgb(180, 39, 39);
    color: white;
    filter: none;
}

.login-box {
    max-width: 480px;
}

.login-box h1 {
    margin-bottom: 25px;
    text-align: center;
}

.login-box .form-group,
.participant-panel .form-group {
    margin-bottom: 18px;
}

.competition-category {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
}

.competition-category legend {
    margin-bottom: 8px;
    color: rgb(95, 31, 31);
    font-size: 14px;
    line-height: 1.4;
}

.category-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.category-options input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
}

.category-options label {
    display: grid;
    min-height: 76px;
    padding: 12px;
    place-items: center;
    border: 1px solid rgba(120, 28, 28, .26);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(255, 250, 234, .96), rgba(244, 218, 165, .9));
    color: rgb(120, 28, 28);
    cursor: pointer;
    font-size: 14px;
    text-align: center;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.category-options label:hover {
    border-color: rgb(180, 39, 39);
    transform: translateY(-1px);
}

.category-options input:checked + label {
    border-color: rgb(120, 28, 28);
    background: linear-gradient(135deg, rgb(150, 30, 30), rgb(190, 45, 45));
    color: white;
    box-shadow: 0 8px 16px rgba(120, 28, 28, .2);
}

.category-options label::before {
    content: none;
}

.category-options input:focus-visible + label {
    outline: 3px solid rgba(180, 39, 39, .28);
    outline-offset: 2px;
}

.login-box button,
.signup-form button {
    width: 100%;
    margin-top: 8px;
}

.participant-card {
    width: min(980px, calc(100% - 48px));
}

.participant-card h1 {
    margin-bottom: 24px;
}

.participant-card h2 {
    margin-bottom: 18px;
    color: rgb(120, 28, 28);
    font-size: 20px;
}

.dashboard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.dashboard-header p {
    margin-top: 8px;
    line-height: 1.5;
}

.registration-journey {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.registration-journey li {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 9px;
    min-width: 156px;
    flex: 1;
    padding: 12px 14px;
    border: 1px solid rgba(124, 31, 42, .16);
    border-radius: 12px;
    background: linear-gradient(135deg, #fffdf9, #f9eee5);
    box-shadow: 0 6px 14px rgba(90, 42, 31, .07);
}

.registration-journey span {
    grid-row: span 2;
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 50%;
    background: var(--wine-dark);
    color: #fff4df;
    font-family: "Rye", serif;
    font-size: 11px;
}

.registration-journey strong,
.registration-journey small {
    font-family: "Trebuchet MS", Arial, sans-serif;
}

.registration-journey strong {
    color: var(--wine-dark);
    font-size: 13px;
}

.registration-journey small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.participant-grid,
.upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.participant-panel {
    padding: 22px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(120, 28, 28, .14);
    border-radius: 8px;
}

.participant-panel input[readonly] {
    background: rgba(238, 231, 231, .9);
    color: #555;
}

.participant-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}

.upload-panel {
    margin-top: 22px;
}

.document-note {
    margin: -8px 0 18px;
    color: rgb(105, 65, 65);
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

.upload-box {
    gap: 12px;
    min-height: 260px;
    padding: 16px;
    border: 1px dashed rgba(120, 28, 28, .34);
    border-radius: 8px;
    background: rgba(255, 255, 255, .66);
    cursor: pointer;
}

.upload-box input {
    padding: 10px;
}

.upload-box img {
    display: none;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 6px;
    background: rgba(120, 28, 28, .08);
}

.upload-box img[src] {
    display: block;
}

#uploadStatus {
    min-height: 20px;
    color: rgb(35, 105, 55);
}

#draftStatus {
    min-height: 20px;
    margin-top: 14px;
    color: rgb(35, 105, 55);
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.participant-limit {
    display: block;
    margin: -8px 0 14px;
    color: rgb(120, 28, 28);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 700px) {
    nav {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .nav-links {
        width: 100%;
        text-align: left;
    }

    .nav-links ul li {
        padding: 6px 8px;
    }

    .container,
    .signup-card,
    .login-box,
    .participant-card {
        width: calc(100% - 28px);
        padding: 24px 18px;
    }

    .signup-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .signup-header h1,
    .participant-card h1 {
        font-size: 28px;
    }

    .participant-grid,
    .upload-grid {
        grid-template-columns: 1fr;
    }

    .category-options {
        grid-template-columns: 1fr;
    }

    .dashboard-header,
    .participant-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .participant-actions button,
    .dashboard-header button {
        width: 100%;
    }
}

/* ===== Penyegaran antarmuka Gonzfest 2026 ===== */
:root {
    --wine: #7c1f2a;
    --wine-dark: #53121c;
    --red: #b63744;
    --cream: #fff9f3;
    --ink: #2e2422;
    --muted: #725e5a;
    --line: rgba(124, 31, 42, .16);
    --shadow: 0 20px 55px rgba(65, 24, 25, .16);
}

* { font-family: "Trebuchet MS", Arial, sans-serif; }

body { color: var(--ink); background: #f7eee7; }

.header {
    isolation: isolate;
    padding-bottom: 64px;
    background:
        linear-gradient(115deg, rgba(255, 249, 243, .94), rgba(255, 245, 237, .72) 52%, rgba(124, 31, 42, .16)),
        url("Background GF26.jpg.jpeg") center / cover fixed;
}

.header::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: radial-gradient(circle at 85% 10%, rgba(255, 213, 166, .45), transparent 26%);
}

nav {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 18px 0;
    border-bottom: 1px solid rgba(124, 31, 42, .12);
    background: transparent;
}

nav img { width: 58px; }
.nav-links { flex: 0 1 auto; }
.nav-links ul { display: flex; align-items: center; gap: 6px; }
.nav-links ul li { padding: 0; }
.nav-links ul li a {
    padding: 9px 13px;
    border-radius: 999px;
    color: var(--wine-dark);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-shadow: none;
}
.nav-links ul li::after { display: none; }
.nav-links ul li:hover { transform: none; }
.nav-links ul li a:hover { color: white; background: var(--wine); }

.container, .signup-card, .login-box, .participant-card {
    border: 1px solid rgba(255, 255, 255, .84);
    border-radius: 22px;
    background: rgba(255, 252, 248, .91);
    box-shadow: var(--shadow);
    backdrop-filter: blur(12px);
}

.container::before, .signup-card::before, .login-box::before, .participant-card::before {
    height: 6px;
    background: linear-gradient(90deg, var(--wine-dark), var(--red), #df9b51);
}

.login-box { padding: 40px; }
.signup-card { padding: 40px; }
.participant-card { padding: 38px; }
.signup-card:hover { transform: translateY(-3px); box-shadow: 0 25px 65px rgba(65, 24, 25, .2); }

h1, h2, .signup-header h1, .login-box h1, .participant-card h1 {
    font-family: "Rye", serif;
    color: var(--wine-dark);
    letter-spacing: .01em;
    text-shadow: none;
}
.signup-header h1, .login-box h1, .participant-card h1 { font-size: clamp(29px, 4vw, 39px); }
.login-box h1 { margin: 7px 0 10px; text-align: left; }
.participant-card h1 { margin: 5px 0 0; }
.signup-header h1::after { width: 60px; height: 4px; margin-top: 13px; background: #df9b51; }

.eyebrow, .panel-kicker {
    display: block;
    color: var(--red);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.auth-intro { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.auth-switch { margin-top: 18px; text-align: center; color: var(--muted); font-size: 13px; }
.auth-switch a { color: var(--wine); font-weight: 800; }

.password-help-box {
    text-align: center;
}

.password-help-box h1 {
    text-align: center;
}

.contact-whatsapp {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 24px;
    padding: 20px;
    border: 1px solid rgba(120, 28, 28, .2);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
    color: rgb(120, 28, 28);
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.contact-whatsapp:hover {
    transform: translateY(-2px);
    background: white;
    box-shadow: 0 12px 24px rgba(120, 28, 28, .14);
}

.contact-label {
    color: var(--muted);
    font-size: 13px;
}

.contact-whatsapp strong {
    font-family: Arial, sans-serif;
    font-size: 21px;
}

.contact-action {
    margin-top: 3px;
    color: rgb(180, 39, 39);
    font-size: 13px;
    font-weight: 800;
}
.forgot-password-link {
    align-self: flex-end;
    margin-top: -2px;
    color: var(--wine);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.forgot-password-link:hover { color: var(--red); text-decoration: underline; }
.reset-card { max-width: 500px; }
.reset-message {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 20px;
    padding: 16px;
    border: 1px solid rgba(57, 124, 78, .22);
    border-radius: 12px;
    background: #eef9f0;
    color: #245b36;
    font-size: 14px;
    line-height: 1.5;
}

.signup-header { align-items: flex-start; margin-bottom: 30px; }
.signup-login-button, .secondary-button {
    padding: 10px 16px;
    border-radius: 999px;
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.form-group label, .competition-category legend, .upload-box span {
    color: var(--ink);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
}
input, select, textarea {
    min-height: 46px;
    border-color: var(--line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .9);
    color: var(--ink);
    font-family: "Trebuchet MS", Arial, sans-serif;
}
input::placeholder, textarea::placeholder { color: #a6928c; }
input:focus, select:focus, textarea:focus { border-color: var(--red); box-shadow: 0 0 0 4px rgba(182, 55, 68, .13); }

button {
    min-height: 48px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--wine-dark), var(--red));
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .01em;
}

.dashboard-header { align-items: center; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.dashboard-header p { max-width: 650px; color: var(--muted); font-size: 14px; }
.participant-card h2 { margin: 5px 0 20px; color: var(--wine-dark); font-family: "Rye", serif; font-size: 20px; }
.participant-grid { gap: 18px; }
.participant-panel {
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 8px 22px rgba(93, 42, 36, .045);
}
.participant-grid > .participant-panel { height: 100%; }
.responsible-panel, .upload-panel { margin-top: 20px; }
.panel-kicker { color: #b87938; }
.document-note { padding: 11px 13px; border-left: 3px solid #df9b51; border-radius: 0 8px 8px 0; background: #fff4e8; color: var(--muted); }
.participant-actions { justify-content: flex-end; padding-top: 4px; }
.participant-actions .secondary-button { min-height: 48px; }

.category-options label {
    min-height: 88px;
    border-radius: 12px;
    color: var(--wine-dark);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
}
.category-options input:checked + label { border-color: var(--wine-dark); background: linear-gradient(135deg, var(--wine-dark), var(--red)); }

@media (max-width: 700px) {
    .header { padding-bottom: 32px; background-attachment: scroll; }
    nav { width: calc(100% - 28px); padding: 14px 0; }
    .nav-links ul { flex-wrap: wrap; gap: 2px; }
    .nav-links ul li a { padding: 8px 9px; font-size: 13px; }
    .login-box, .signup-card, .participant-card { padding: 27px 20px; border-radius: 18px; }
    .signup-login-button { margin-top: 4px; }
    .participant-panel { padding: 18px 16px; }
    .participant-actions { gap: 10px; }
}

/* Form pendaftaran Gonzfest 2026 */
.brand-lockup { display:flex; align-items:center; gap:11px; color:var(--wine-dark); text-decoration:none; font-family:"Rye",serif; font-size:17px; }

/* Gonzfest editorial treatment */
body { background: #eee4d7; }
.header {
    background:
        linear-gradient(90deg, rgba(42, 18, 18, .28), rgba(42, 18, 18, 0) 55%),
        url("Background GF26.jpg.jpeg") center / cover no-repeat;
}
nav {
    width: 100%;
    margin: 0 auto;
    padding: 0 18px;
    align-items: flex-end;
    border-bottom: 1px solid rgba(255,255,255,.5);
    background: transparent;
}
.brand-lockup { letter-spacing: .02em; }
.nav-links ul li { padding: 7px 3px 7px 18px; }
.nav-links ul li a { color: #fffaf2; text-shadow: 0 1px 3px rgba(40,15,15,.55); }
.nav-links ul li::after { background: #e7b76f; }
.container, .signup-card, .login-box, .participant-card {
    border: 0;
    border-radius: 4px;
    background: #fffaf2;
    box-shadow: 10px 10px 0 rgba(91, 28, 35, .18);
}
.container::before, .signup-card::before, .login-box::before, .participant-card::before { height: 8px; background: #8f2938; }
.signup-card:hover { transform: none; box-shadow: 10px 10px 0 rgba(91, 28, 35, .18); }
.participant-panel { border-radius: 4px; background: #fffdf8; box-shadow: none; }
.panel-kicker { letter-spacing: .12em; text-transform: uppercase; font-size: 11px; }
input, select, textarea { border-radius: 3px; background: #fffdf9; }
input:focus, select:focus, textarea:focus { box-shadow: 4px 4px 0 rgba(182, 55, 68, .14); }
button { border-radius: 3px; background: #7c2230; box-shadow: 4px 4px 0 #d69a52; }
button:hover { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 #d69a52; }
.signup-login-button, .secondary-button { border-radius: 3px; }
.category-options { gap: 14px; }
.category-options label { border-radius: 3px; background: #f4e6c8; box-shadow: 4px 4px 0 rgba(199, 139, 64, .28); }
.category-options label:hover { transform: none; box-shadow: 6px 6px 0 rgba(199, 139, 64, .32); }
.category-options input:checked + label { background: #8f2938; box-shadow: 4px 4px 0 #d69a52; }
.brand-lockup span {
    color: #f7ecd2;
    font-family: "Rye", serif;
    font-size: 22px;
    letter-spacing: 1.2px;
    line-height: 1;
    paint-order: stroke fill;
    text-shadow: -1px -1px 0 #111, 1px -1px 0 #111, -1px 1px 0 #111, 1px 1px 0 #111, 2px 2px 0 rgba(0, 0, 0, .22);
    -webkit-text-stroke: 1px #111;
}
.brand-lockup img { width:58px; height:58px; object-fit:contain; }
.brand-lockup { gap:16px; align-items:center; }
.brand-lockup img:first-child { width:60px; height:60px; }
.brand-lockup img:nth-child(2) { width:68px; height:68px; }
.brand-lockup span { margin-left:6px; font-size:25px; }
.nav-links ul { align-items: flex-end; }
.nav-links ul li a { padding: 8px 15px; font-size:16px; }
.account-hero-logo { width:105px; height:105px; object-fit:contain; filter:drop-shadow(0 8px 14px rgba(83,18,28,.2)); }
.form-section { margin-top:20px; }
.form-section h2 { margin-top:5px; }
.form-help, .form-group small, .upload-box small { display:block; margin-top:6px; color:var(--muted); font-family:"Trebuchet MS",Arial,sans-serif; font-size:12px; line-height:1.45; }
.participant-stack { display:flex; flex-direction:column; gap:16px; }
.participant-entry { background:rgba(255,255,255,.56); }
.participant-entry h3 { margin-bottom:14px; color:var(--wine-dark); font-size:16px; }
.participant-count-wrap { max-width:320px; margin-bottom:18px; }
.registration-manager { display:flex; align-items:end; gap:12px; margin:0 0 20px; }
.registration-manager .form-group { flex:1; margin:0; }
.registration-manager button { min-height:46px; white-space:nowrap; }
.registration-locked input:disabled,
.registration-locked input[readonly],
.registration-locked select:disabled,
.registration-locked textarea:disabled {
    border-color:#e3c1c4;
    background:#f3e9ea;
    color:#705f60;
    cursor:not-allowed;
    opacity:1;
}
.account-actions { position:sticky; bottom:14px; z-index:3; padding:14px; border:1px solid rgba(124,31,42,.12); border-radius:16px; background:rgba(255,252,248,.94); backdrop-filter:blur(10px); }
.account-actions button { flex:1; }
.upload-box { min-height:190px; }
.upload-box a { color:var(--wine); font-family:"Trebuchet MS",Arial,sans-serif; font-size:12px; font-weight:700; }
.upload-box input[type=file] { margin-top:auto; }
.is-locked { padding:12px; border-radius:10px; background:#eef9f0; }
.landing-card { max-width:720px; text-align:center; padding:55px 42px; }
.landing-card h1 { margin:14px auto; max-width:580px; font-size:clamp(30px,5vw,48px); text-transform:uppercase; }
.landing-logo { width:180px; height:180px; object-fit:contain; margin-bottom:16px; }
.landing-actions { display:flex; justify-content:center; gap:12px; margin-top:26px; }
.landing-actions a { display:inline-flex; align-items:center; justify-content:center; min-width:140px; }

@media (max-width:700px) { .account-hero-logo { width:72px; height:72px; align-self:flex-start; } .brand-lockup span { display:none; } .registration-journey li { min-width:100%; } .registration-manager { align-items:stretch; flex-direction:column; } .account-actions { position:static; flex-direction:column; } }

@media (max-width:700px) {
    nav { padding: 0 12px; }
    .brand-lockup img:first-child { width:50px; height:50px; }
    .brand-lockup img:nth-child(2) { width:56px; height:56px; }
    .brand-lockup span { margin-left:2px; }
    .nav-links ul li a { padding:8px 8px; font-size:13px; }
}

/* Login/navbar alignment fixes */
nav {
    align-items: center;
    min-height: 74px;
}
.nav-links ul {
    align-items: center;
    gap: 8px;
}
.nav-links ul li a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    line-height: 1;
}
.login-box form {
    display: flex;
    flex-direction: column;
}
.login-box button {
    flex: 0 0 auto;
    margin-bottom: 14px;
}
.forgot-password-link {
    align-self: flex-end;
    margin: 0 0 8px;
    line-height: 1.4;
}
.auth-switch {
    margin-top: 12px;
}

@media (max-width:700px) {
    nav { min-height: 64px; }
    .nav-links ul { gap: 2px; }
    .nav-links ul li a { padding: 8px 8px; font-size: 13px; }
}

/* Navbar spacing and brand proportions */
nav {
    width: min(1180px, calc(100% - 40px));
    min-height: 88px;
    padding: 8px 0;
    gap: 28px;
}
.brand-lockup {
    flex: 0 1 auto;
    gap: 10px;
    white-space: nowrap;
}
.brand-lockup img:first-child { width: 52px; height: 52px; }
.brand-lockup img:nth-child(2) { width: 60px; height: 60px; }
.brand-lockup span {
    margin-left: 2px;
    font-size: clamp(19px, 2.5vw, 28px);
}
.nav-links {
    flex: 0 0 auto;
    margin-left: auto;
}
.nav-links ul { gap: 3px; }
.nav-links ul li a {
    padding: 10px 11px;
    min-height: 40px;
    font-size: clamp(14px, 1.5vw, 18px);
}

@media (max-width:700px) {
    nav {
        width: calc(100% - 24px);
        min-height: 64px;
        gap: 8px;
    }
    .brand-lockup { gap: 4px; }
    .brand-lockup img:first-child { width: 42px; height: 42px; }
    .brand-lockup img:nth-child(2) { width: 46px; height: 46px; }
    .brand-lockup span { font-size: 16px; }
    .nav-links ul { gap: 0; }
    .nav-links ul li a { padding: 8px 5px; font-size: 12px; }
}
