.account-page .page-shell{width:min(1160px,calc(100% - 40px))}
.account-page main{max-width:960px;padding:32px 0 48px}
.account-page h1{font-size:36px;line-height:1.15;letter-spacing:-.035em;margin:0 0 14px}
.account-page h2{font-size:21px;line-height:1.3;margin:0 0 18px}
.account-heading{margin-bottom:28px}
.account-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px;margin:0 0 24px;box-shadow:var(--shadow);min-width:0}
.account-page .login-card{max-width:470px;margin:25px auto 45px;padding:30px}
.account-copy{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 23px}
.account-form{display:flex;flex-direction:column;gap:18px;min-width:0}
.account-form>label,.account-fields>label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;min-width:0}
.account-form input:not([type=checkbox]):not([type=hidden]){width:100%;min-height:47px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}
.account-form input::placeholder{color:var(--muted);font-size:13px}
.account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.account-help{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.assigned-password-field{min-width:0}
.assigned-password-field>label{display:block;margin-bottom:7px;font-size:13px;font-weight:600}
.assigned-password-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}
.assigned-password-controls>input{min-width:0}
.default-password-action{display:grid;gap:4px}
.default-password-action .button{min-height:47px;padding:10px 12px}
.default-password-action small{color:#667078;font-size:11px;line-height:1.5;text-align:center;white-space:nowrap}
html[data-theme=dark] .default-password-action small{color:#aeb7bf}
.login-card>.account-help{margin-top:23px}
.account-groups{border:1px solid var(--line);border-radius:9px;padding:15px;min-width:0;margin:0}
.account-groups legend{font-size:14px;font-weight:650;padding:0 6px}
.account-group-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 15px;margin-top:12px}
.account-group-options label,.account-form .account-check{display:flex;flex-direction:row;gap:9px;align-items:center;min-height:44px;font-size:13px;line-height:1.4;overflow-wrap:anywhere;cursor:pointer}
.account-form input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}
.account-form>.button{align-self:flex-start;min-height:44px}
.login-card .account-form>.button{align-self:stretch}
.account-alert,.account-success{padding:15px 18px;border-radius:9px;margin:0 0 22px;font-size:14px;line-height:1.5}
.account-alert{color:#812c26;background:#fff0ed;border:1px solid #e5aaa3}
.account-success{color:#23523a;background:#eaf5ef;border:1px solid #b2d5bf}
html[data-theme=dark] .account-alert{color:#ffc0b7;background:#422620;border-color:#975b50}
html[data-theme=dark] .account-success{color:#c4ecd3;background:#233b2e;border-color:#517961}
.account-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:13px}
.account-links a{min-height:35px;display:inline-flex;align-items:center}
.account-card>summary{cursor:pointer;min-height:30px;font-size:15px;font-weight:650}
.account-card[open]>summary{margin-bottom:22px}
.user-account>summary{display:flex;align-items:center;justify-content:space-between;gap:15px}
.user-account>summary>span:last-child{font-size:12px;font-weight:500;text-decoration:underline;white-space:nowrap}
.account-user-title{min-width:0;overflow-wrap:anywhere}
.account-state{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}
.account-count{font-size:14px;color:var(--muted);font-weight:400}
@media(max-width:650px){.account-page .page-shell{width:calc(100% - 24px)}.account-page .site-header{padding:18px 0;flex-wrap:wrap;gap:14px}.account-page main{padding:24px 0}.account-page h1{font-size:29px}.account-card,.account-page .login-card{padding:20px 15px}.account-fields,.account-group-options{grid-template-columns:minmax(0,1fr)}.account-form>.button{align-self:stretch}.account-page .login-card{margin-top:10px}.account-user-title{font-size:14px}}

.forgot-password{margin-top:18px;min-height:44px}
.password-help-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);box-shadow:var(--shadow)}
.password-help-dialog::backdrop{background:rgba(0,0,0,.55)}
.password-help-dialog form{margin:0}
.password-help-dialog .button{min-height:44px}

.account-form select{width:100%;min-width:0;min-height:47px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}

.account-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.account-details{display:grid;gap:16px;margin:0 0 24px}
.account-details div{min-width:0}
.account-details dt{font-size:12px;color:var(--muted);margin-bottom:4px}
.account-details dd{margin:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.account-assigned-groups{padding-left:20px;line-height:1.7;overflow-wrap:anywhere}
.account-assigned-groups a{display:inline-block;padding:5px 0}
.account-card h3{font-size:16px;margin:0 0 10px;overflow-wrap:anywhere}
.username-request-status{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-bottom:20px;overflow-wrap:anywhere}
.username-request-status p{margin:8px 0 0}
.username-review{border-top:1px solid var(--line);padding:20px 0;overflow-wrap:anywhere}
.username-review:last-child{padding-bottom:0}
.username-review-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:650px){.account-profile-grid{grid-template-columns:minmax(0,1fr);gap:0}.username-review-actions .button{flex:1}}

.access-memberships .account-group-options{grid-template-columns:minmax(0,1fr);margin-bottom:14px}.access-memberships label{align-items:flex-start;padding:7px 0}.access-memberships input{margin-top:3px}.access-memberships small{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}.account-form input[readonly]{opacity:.75}.managed-group-list{padding-left:20px}.managed-group-list li{padding:9px 0;overflow-wrap:anywhere}

.management-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.group-operation-form,.group-operation-preview{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;scroll-margin-top:18px}.management-student-list{max-height:340px;overflow:auto;padding:8px 2px}.management-student-list label{display:flex;gap:10px;align-items:center;min-height:44px;padding:5px 0;font-size:14px;cursor:pointer}.management-student-list span{overflow-wrap:anywhere}.management-student-list small{display:block;color:var(--muted);font-size:11px}.operation-preview-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.operation-preview-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:15px}.operation-preview-card h4{margin:0 0 12px;overflow-wrap:anywhere}.operation-preview-card ol{max-height:320px;overflow:auto;margin:0;padding-left:23px}.operation-preview-card li{padding:4px 0;overflow-wrap:anywhere}#management-status{margin-top:14px}#managed-group-edit-dialog{width:min(600px,calc(100% - 24px))}.silly-message{font-style:italic;transform:rotate(-1deg)}@media(max-width:650px){.operation-preview-groups{grid-template-columns:minmax(0,1fr)}.management-actions .button{flex:1 1 140px}.operation-preview-card ol{max-height:240px}}

/* Safari can include a select option’s intrinsic text width in page overflow. */
.management-select-field{overflow:clip;overflow-clip-margin:6px}

.account-photo-settings{display:flex;align-items:flex-start;gap:20px}.account-photo-settings>div{flex:1;min-width:0}.account-profile-photo{width:96px;height:96px;flex-shrink:0;object-fit:cover;border-radius:50%}.account-photo-initials{display:grid;place-items:center;background:var(--green);color:var(--white);font-size:28px;font-weight:650}.account-photo-remove{margin-top:12px}.account-photo-settings input[type=file]{max-width:100%;min-width:0}@media(max-width:500px){.account-photo-settings{flex-direction:column;gap:12px}.account-photo-settings>div{width:100%}}

.account-search-toolbar{display:flex;align-items:flex-end;gap:16px;justify-content:space-between;margin:0 0 20px}.account-search-toolbar>div{flex:1;max-width:580px;min-width:0}.account-search-toolbar label{display:block;margin-bottom:6px;font-size:13px;font-weight:600}.account-search-toolbar input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:16px}.account-search-toolbar p{margin:0 0 12px;color:var(--muted);font-size:13px;white-space:nowrap}
@media(max-width:600px){.account-search-toolbar{flex-direction:column;align-items:stretch;gap:8px}.account-search-toolbar>div{max-width:none}.account-search-toolbar p{margin:0}}

.create-group-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}.create-group-actions .button{flex:0 0 auto}.create-group-hint{flex:1 1 250px;color:#667078}html[data-theme=dark] .create-group-hint{color:#aeb7bf}#split-automatic{min-width:0}#split-moving-title{margin:0 0 8px;overflow-wrap:anywhere}.management-moving-list{max-height:240px;overflow-y:auto;overscroll-behavior:contain;margin:12px 0;padding-left:24px}.management-moving-list li{padding:4px 0;overflow-wrap:anywhere}.management-moving-list:focus-visible{outline:2px solid var(--green);outline-offset:3px}
