.admin-accounts{max-width:1120px;margin:auto}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0}.admin-heading h1{margin:0 0 8px}.admin-heading p,.admin-accounts small,.admin-student p{color:var(--muted,#69766c)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.admin-stats>div{display:flex;align-items:baseline;gap:12px;border:1px solid var(--line,#dde3d9);border-radius:14px;padding:18px;background:#fffdf7}.admin-stats strong{font-size:26px;color:var(--green,#45674e)}.admin-stats span{font-size:13px}.admin-accounts .card{margin-bottom:24px}.admin-password{display:flex;gap:8px;flex-wrap:wrap}.admin-password input{min-width:160px;flex:1}.admin-password button{font-size:13px;white-space:nowrap}.admin-accounts small{line-height:1.6;font-size:12px}.admin-access{padding:14px 16px;background:#f4f6ee;border-radius:10px;line-height:1.8;font-size:13px}.admin-access small{display:block}.admin-error{color:#a34232;min-height:1.2em}.admin-filters{display:grid;grid-template-columns:1fr 180px;gap:16px}.admin-list-count{font-size:13px;color:var(--muted,#69766c)}.admin-student{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line,#dde3d9);padding:20px 0}.admin-student-info{flex:1;min-width:0}.admin-student-info h3{font-family:inherit;font-size:16px;margin:0;overflow-wrap:anywhere}.admin-student-info p{font-size:13px;margin:5px 0;overflow-wrap:anywhere}.admin-badge{display:inline-block;font-size:11px;font-weight:500;padding:3px 8px;border-radius:20px;margin-left:8px;background:#e8f0e5;color:#385c42}.admin-badge.is-expired{background:#fff0d8;color:#815310}.admin-badge.is-disabled{background:#eee;color:#606860}.admin-row-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-row-actions button{font-size:12px;padding:8px 12px}.admin-receipt{border:1px solid #92ab87!important}.admin-notification{font-size:14px;line-height:1.7;resize:vertical;width:100%;min-height:290px}.admin-copy-status{font-size:13px;color:#45674e}.admin-dialog{width:min(600px,calc(100vw - 32px));border:1px solid #d5ddcc;border-radius:20px;padding:28px;background:#fffdf7;max-height:90vh;overflow:auto}.admin-dialog::backdrop{background:#24352766}.admin-accounts [hidden]{display:none!important}@media(max-width:720px){.admin-heading{align-items:flex-start;flex-direction:column;gap:12px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-student{flex-wrap:wrap}.admin-row-actions{width:100%;padding-left:52px}.admin-filters{grid-template-columns:1fr}.admin-accounts .grid2{grid-template-columns:1fr}.admin-heading h1{font-size:26px}}
.admin-accounts .grid2{gap:18px 24px;margin:18px 0}.admin-accounts .grid2>.field{margin:0;align-content:start}.admin-accounts .admin-filters>.field{margin:0}.admin-password input{width:auto!important}.admin-password [data-admin=reveal]{min-width:52px}.admin-accounts .admin-password{font-weight:400}
.admin-row-actions>.button{font-size:12px;padding:8px 12px;white-space:nowrap}.admin-more{position:relative}.admin-actions-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:grid;gap:4px;width:208px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--line,#dde3d9);border-radius:12px;background:#fffdf7;box-shadow:0 12px 32px #24352726}.admin-actions-menu button{width:100%;justify-content:flex-start;border-color:transparent;background:transparent;min-height:44px;text-align:left}.admin-actions-menu button:hover,.admin-actions-menu button:focus-visible{background:#edf1e8}.admin-actions-menu .admin-danger-action{color:#a34232}.admin-dialog h2{margin-top:0}.admin-dialog-identity{margin:18px 0;padding:14px 16px;background:#f4f6ee;border-radius:12px}.admin-dialog-identity>div{display:grid;grid-template-columns:72px 1fr;gap:12px;margin:5px 0;line-height:1.6}.admin-dialog-identity dt{font-size:13px;color:var(--muted,#69766c)}.admin-dialog-identity dd{margin:0;font-weight:600;overflow-wrap:anywhere}.admin-action-warning{padding:14px 16px;border:1px solid #e2caa6;border-radius:12px;background:#fff7e8;color:#745025;line-height:1.8}.admin-action-expiry{font-size:13px;line-height:1.7;color:var(--muted,#69766c)}.admin-dialog button.primary.admin-danger-button{background:#9a4033;border-color:#9a4033}.admin-dialog button.primary.admin-danger-button:hover{background:#803329}.admin-more>button[aria-expanded=true]{border-color:#879b7f;background:#edf1e8}@media(max-width:480px){.admin-row-actions{padding-left:0}.admin-dialog{padding:20px}.admin-dialog .dialog-footer{display:grid;grid-template-columns:1fr}.admin-dialog .dialog-footer button{width:100%}}

.admin-test-account{display:flex;align-items:center;gap:8px;margin-top:16px}.admin-test-account input{width:auto}.admin-badge.is-test{background:#fff0ce;color:#72500a}

.admin-account-features{margin:16px 0;padding:12px 16px;border:1px solid var(--line,#dde3d9);border-radius:10px;font-size:13px;line-height:1.8}.admin-account-features>summary{cursor:pointer;font-weight:600}.admin-account-features>summary:focus-visible{outline:2px solid var(--green,#45674e);outline-offset:4px;border-radius:3px}.admin-account-features p{margin:10px 0 0;color:var(--muted,#69766c);overflow-wrap:anywhere}

.admin-submit-status{color:var(--muted,#69766c);font-size:13px;line-height:1.6;margin:8px 0}.admin-submit-status:empty{margin:0}

@media(max-width:720px){.admin-account-features>summary{min-height:44px;box-sizing:border-box;padding-top:10px;padding-bottom:10px}}

/* B12 dialog: fixed title/actions around one scrolling body, not a scrolling exit. */
.admin-dialog{padding:0!important;overflow:hidden;max-height:min(90vh,760px);max-height:min(90dvh,760px);border-radius:12px}.admin-dialog[open]{display:flex;flex-direction:column}.admin-dialog>form{display:flex;flex-direction:column;min-height:0;width:100%;max-height:inherit;margin:0}.admin-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line,#dde3d9);flex:none}.admin-dialog-header h2{margin:0;font-size:20px}.admin-dialog-header button{flex:none;min-width:44px;min-height:44px;padding:6px;font-size:24px;line-height:1}.admin-dialog-body{overflow:auto;overscroll-behavior:contain;min-height:0;padding:16px 20px}.admin-dialog .admin-dialog-identity{margin:0 0 12px;padding:0;background:transparent;font-size:14px}.admin-dialog .admin-dialog-identity strong{overflow-wrap:anywhere}.admin-dialog .dialog-footer{flex:none;display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;margin:0;border-top:1px solid var(--line,#dde3d9);background:var(--teacher-content-bg,#fff)}.admin-dialog .dialog-footer button{min-height:44px}.admin-dialog button:focus-visible{outline:3px solid #6384b6;outline-offset:2px}@media(max-width:480px){.admin-dialog-header,.admin-dialog-body{padding:12px 16px}.admin-dialog .dialog-footer{padding:12px 16px;display:flex}.admin-dialog .dialog-footer button{width:auto}.admin-dialog-header h2{font-size:18px}}

/* A live progress sibling must not inherit the form's aria-busy state. */
.admin-dialog>.admin-submit-status{flex:none}.admin-dialog>.admin-submit-status:not(:empty){margin:0;padding:0 20px 12px}@media(max-width:480px){.admin-dialog>.admin-submit-status:not(:empty){padding:0 16px 12px}}
