/* Searchable controls retain native form values and validation. */
.nv-search-select{position:relative;min-width:0;width:100%}
.nv-search-select .nv-search-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
.nv-search-select .nv-search-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;min-height:50px;margin:0;padding:12px 16px;border:1px solid #cbdadd;border-radius:8px;background:#f9fbfb;color:#143d4f;font:inherit;line-height:1.5;cursor:pointer;gap:8px;white-space:normal}
.nv-search-select .nv-search-trigger:hover{background:#f9fbfb;color:#143d4f}
.nv-search-trigger:after{content:'';flex:none;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.nv-search-trigger:focus-visible{outline:3px solid #52a7b2;outline-offset:2px}
.nv-search-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:100;background:#fff;border:1px solid #cbdadd;border-radius:12px;padding:10px;box-shadow:0 12px 30px #143d4f26}
.nv-search-panel[hidden]{display:none}
.nv-search-panel input[type=search]{width:100%;min-width:0;height:44px;margin:0 0 8px;padding:10px 12px;border:1px solid #cbdadd;border-radius:6px;background:#fff;color:#143d4f;box-sizing:border-box;font:inherit}
.nv-search-list{max-height:240px;overflow-y:auto;overscroll-behavior:contain}
.nv-search-select .nv-search-list button{display:block;text-align:left;width:100%;margin:0;border:0;border-radius:6px;padding:10px 12px;background:#fff;color:#000;font:inherit;line-height:1.5;cursor:pointer}
.nv-search-select .nv-search-list button:hover,.nv-search-select .nv-search-list button:focus-visible,.nv-search-select .nv-search-list button[aria-selected=true]{background:#fff;color:#000}
.nv-search-select .nv-search-list button:focus-visible{outline:2px solid #333;outline-offset:-2px}
.nv-search-list p{padding:12px;color:#708084;font-size:14px}
/* The edit page shares the register page's shell, palette and spacing. */
.nvEditPage .nvEditShell{overflow:visible;align-items:stretch}
.nvEditPage .nvRegisterIntro{border-radius:24px 0 0 24px}
.nvEditPage .nvEditCard{min-width:0;margin:0;padding:44px 40px;border:0}
.nvEditPage .nvEditCard .memberPage,.nvEditPage .nvEditCard .memberEdit{width:100%;margin:0;padding:0;border:0;box-shadow:none;background:none;display:block}
.nvEditPage .nvEditCard .memberRow{font-size:16px;line-height:1.5;display:block;margin:0 0 22px;padding:0;border:0;background:none}
.nvEditPage .nvEditCard .rowTitle{display:block;width:auto;margin:0 0 8px;padding:0;font-size:15px;font-weight:600;color:#143d4f;text-align:left}
.nvEditPage .nvEditCard .rowContent{font-size:16px;line-height:1.5;overflow-wrap:anywhere;display:block;width:100%;padding:0;color:#143d4f;min-width:0}
.nvEditPage .nvEditCard input:not([type=hidden]),.nvEditPage .nvEditCard select:not(.nv-search-native){max-width:100%;width:100%;min-height:50px;padding:12px 16px;border:1px solid #cbdadd;border-radius:8px;background:#f9fbfb;color:#143d4f;font:inherit;box-sizing:border-box;margin:0}
.nvEditPage .nvEditCard .birthSelect{display:flex;gap:8px}
.nvEditPage .nvEditCard .birthSelect select{width:calc((100% - 16px)/3)}
.nvEditPage .nvEditCard .note{display:flex;padding:16px;border-radius:10px;background:#f7f1e8;margin:24px 0;color:#596e76;gap:10px}
.nvEditPage .nvEditCard .note p{margin:0;font-size:14px;line-height:1.6}
.nvEditPage .nvEditCard .btnWrap{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.nvEditPage .nvEditCard .btn{min-height:48px;padding:12px 24px;border:1px solid #143d4f;border-radius:8px;background:#143d4f;color:#fff;font:inherit;cursor:pointer}
.nvEditPage .nvEditCard .cancelBtn{background:#fff;color:#143d4f}
@media(max-width:1000px){.nvEditPage .nvEditShell{grid-template-columns:minmax(0,1fr)}.nvEditPage .nvRegisterIntro{border-radius:24px 24px 0 0;padding:36px}.nvEditPage .nvEditCard{padding:32px}}
@media(max-width:600px){.nvEditPage .nvEditMain{padding:112px 16px 80px}.nvEditPage .nvEditCard{padding:24px 20px}.nvEditPage .nvRegisterIntro{padding:28px 24px}.nv-search-list{max-height:200px}}

.nvEditPage .nvEditCard .langEditBtn{min-height:36px;padding:6px 14px;border:1px solid #cbdadd;border-radius:6px;background:#fff;color:#143d4f;font:inherit;cursor:pointer}

.nvEditPage .nvEditCard .validatorTag{font-size:14px}

.nvEditPage .nvEditCard .memberEdit > .btnWrap > .btn{flex:1 1 140px;width:auto;min-width:0;max-width:260px;height:auto;min-height:50px;margin:0;padding:12px 24px;font-size:16px;line-height:1.5;white-space:nowrap;box-sizing:border-box}

/* The legacy admin form clips absolute dropdown panels. */
.nv-admin-member .gb-form{overflow:visible}
.nv-admin-member .gb-form .nv-search-native{min-height:1px!important;margin:0!important}
.nv-admin-member .gb-form .nv-search-panel{z-index:1000}
.nv-admin-member .gb-form label{position:static;opacity:1}
.nv-admin-member .nv-search-select:focus-within{z-index:1001}
.nv-admin-student label{max-width:100%}
.nv-learning .nv-search-select .nv-search-trigger{display:flex;margin:0;font-size:16px}

.nv-admin-member form[name=f1]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.nv-admin-member form[name=f1]>h3,.nv-admin-member form[name=f1]>.col-sm-12{grid-column:1/-1}
.nv-admin-member form[name=f1]>.col-xs-12{width:auto;float:none;min-width:0}
@media(max-width:767px){.nv-admin-member form[name=f1]{grid-template-columns:minmax(0,1fr)}}
