/* A-direction typography and controls shared by student account + needs form. */
body.student-account{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.65;background:#faf8f5}
html[lang^="zh"] body.student-account{font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;line-height:1.75}
html[lang^="th"] body.student-account{font-family:"Noto Sans Thai","Thonburi","Leelawadee UI",sans-serif;line-height:1.75}
.student-account .head{background:#fff;color:#1a1a1a;border-bottom:1px solid #e8e4dc;gap:16px;padding:18px max(20px,calc((100vw - 680px)/2))}
.student-account .head>a,.student-account .langs a{color:#1a1a1a}
.student-account .langs{gap:4px;flex-shrink:0}
.student-account .langs a{padding:10px;text-underline-offset:5px;font-size:14px;min-height:44px}
.student-account .wrap{width:min(680px,calc(100% - 40px));margin:48px auto 64px}
.student-account .card{padding:36px;border:1px solid #e8e4dc;box-shadow:none;overflow-wrap:anywhere}
.student-account .card h1{font-size:32px;line-height:1.3;margin:8px 0 28px;letter-spacing:-.02em}
.student-account .card h2{font-size:22px;line-height:1.4;margin-bottom:16px}
.student-account .eyebrow{color:#8a8a8a;letter-spacing:.06em;font-size:12px}
.student-account .card label{font-size:14px;color:#1a1a1a;font-weight:600;margin-top:20px}
.student-account .card input:not(.mode-input){font-size:16px;min-height:50px;padding:12px;border-radius:0;border-color:#e8e4dc;margin-top:8px}
.student-account .primary,.student-account .secondary{min-height:50px;font-size:16px;line-height:1.5;padding:14px 28px;margin-top:24px;border-radius:99px}
.student-account .primary{background:#1a1a1a!important;color:#fff!important}
.student-account .primary:hover{background:#2a2a2a!important}
.student-account .mode-tabs{border-color:#e8e4dc;border-radius:0;margin-bottom:28px}
.student-account .mode-tabs label{margin:0;min-height:50px;padding:14px 10px;font-size:15px;line-height:1.5}
.student-account .mode-tabs label+label{border-color:#e8e4dc}
.student-account .help{font-size:14px;line-height:1.75;color:#8a8a8a;margin-top:20px}
.student-account :focus-visible,.flow :focus-visible{outline:2px solid #1a1a1a;outline-offset:3px}
.flow{max-width:1080px;padding:32px;margin:32px auto 56px;scroll-margin-top:85px}
.flow h1{font-size:clamp(28px,3vw,38px);line-height:1.3;margin:0 0 24px;color:#1a1a1a;letter-spacing:-.02em}
#needs{background:#faf8f5;border:1px solid #e8e4dc;padding:28px;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
#needs>label{min-width:0;font-size:14px;font-weight:600;color:#1a1a1a;line-height:1.65}
#needs input:not([type="checkbox"]),#needs select{min-height:50px;font-size:16px;border-radius:0;border-color:#e8e4dc;color:#1a1a1a}
#needs .money{border-color:#e8e4dc}
#needs .money:focus-within{outline:2px solid #1a1a1a;outline-offset:3px}
#needs .money input:focus-visible{outline:none}
#needs .development-options legend{font-size:14px;font-weight:600;color:#1a1a1a}
#needs .development-option{min-height:48px;font-size:15px;font-weight:400}
#needs #institutionHelp{font-size:14px;line-height:1.75;color:#8a8a8a;margin:0}
#needs>button[type="submit"]{background:#1a1a1a!important;color:#fff!important;border-radius:99px!important;min-height:52px;font-size:16px;font-weight:600;padding:14px 28px}
#needs>button[type="submit"]:hover{background:#2a2a2a!important}
@media(max-width:760px){.student-account .wrap{margin-top:24px}.student-account .card{padding:24px}.student-account .card h1{font-size:28px}.flow{padding:20px;margin:20px auto 40px}#needs{grid-template-columns:1fr;padding:20px;gap:22px}}
@media(max-width:400px){.student-account .wrap{width:calc(100% - 24px)}.student-account .card{padding:20px}.student-account .head{padding:12px 16px}.student-account .langs a{padding:10px 8px}.flow{padding:16px}#needs{padding:16px}}
/* Keep progress connectors below labels, never through the text. */
.flow .steps{gap:12px;margin:28px 0}
.flow .steps li{flex:1 1 0;padding:0 8px 18px 36px;line-height:1.6;color:#8a8a8a}
.flow .steps li::after{left:0;right:0;top:auto;bottom:0;height:2px;content:"";background:#e8e4dc}
.flow .steps li:last-child::after,.flow .steps li:nth-child(2n)::after{content:""}
.flow .steps li.is-done::after,.flow .steps li.is-active::after{background:#1a1a1a}
.flow .steps li.is-active{color:#1a1a1a;font-weight:700}
@media(max-width:600px){.flow .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flow .steps li{padding:0 4px 14px 32px;min-height:40px}.flow .steps li::after{top:auto;bottom:0}}

/* === V2 warm redesign 2026-10-22 === */
.student-ui-btn,.btn-primary{background:#c8855a;border-color:#c8855a;border-radius:99px}
.student-ui-btn:hover,.btn-primary:hover{background:#b8753e}

/* v2 global: round inputs and remove square borders */
.student-account .card input:not(.mode-input),
.student-account .card select,
.flow input, .flow select,
#needs input, #needs select,
.shortlist-applicant input,
.shortlist-applicant select {
  border-radius: 8px !important;
}
.student-account .mode-tabs { border-radius: 12px !important; }
.student-account .card { border-radius: 16px !important; }
.student-account .wrap { border-radius: 0; }
