.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}#member{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}.account-sidebar{position:sticky;top:24px;border-right:1px solid var(--line);padding:4px 20px 24px 0;min-width:0}.account-avatar{display:grid;place-items:center;width:44px;height:44px;background:#e7eef7;border:1px solid #d3e0ef;border-radius:10px;color:var(--accent);font-size:18px;margin-bottom:16px}#member-name{font-size:18px;overflow-wrap:anywhere;margin:0 0 4px}#member-roles{font-size:16px;margin:0 0 20px}#account-nav,#account-sections{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}#account-nav{padding-bottom:18px;border-bottom:1px solid var(--line)}#account-nav:empty{display:none}#account-nav a,#account-sections button{display:block;min-height:44px;text-align:left;text-decoration:none;padding:10px 12px;border:1px solid transparent;border-radius:7px;font-size:16px;background:transparent;color:#465772}#account-nav a:hover,#account-sections button:hover{background:white}#account-sections button[aria-current=page]{color:#2c5483;border-color:#d3dfef;background:#e7eef7;font-weight:600}#signout{width:100%;font-size:16px;background:transparent}.account-main{min-width:0}.account-main>.card{padding:28px}.account-main h2{font-size:22px;margin-bottom:16px}.create-user{background:#f8fafd;border:1px solid var(--line);border-radius:8px;padding:0 18px;margin:22px 0}.create-user>summary{font-weight:500}.create-user>form{padding:8px 0 22px}.create-user fieldset{border:0;padding:16px 0}#new-roles{display:flex;gap:12px 24px;flex-wrap:wrap}#new-roles label{margin:6px 0}#new-roles input{margin-top:4px}#account-secret{padding:18px;background:#edf3fa;border:1px solid #cbdbee;border-radius:8px;margin:20px 0}#account-secret pre{overflow-wrap:anywhere;white-space:pre-wrap}.users-table{margin:24px 0;font-size:16px}.users-table th:first-child{border-radius:7px 0 0 7px}.users-table th:last-child{border-radius:0 7px 7px 0}.users-table td{padding:18px 14px}.users-table td>strong{font-weight:500;display:block}.users-table td>small{display:block;margin-top:4px;font-size:16px;color:var(--muted)}.users-table .tag{margin:0 5px 5px 0}.user-state{font-size:16px;white-space:nowrap}.user-state[data-state=active]{color:#35664f}.user-state[data-state=disabled]{color:#a44352}.user-manage{margin:0;border:0;min-width:62px}.user-manage>summary{padding:0;min-height:44px;display:flex;align-items:center;font-size:16px}.user-manage[open]{min-width:170px}.user-manage fieldset{padding:12px 0;border:0}.user-manage legend{font-size:16px}.user-manage .role-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-options label{font-size:16px;margin:0}.role-options input[type=checkbox]{margin-top:3px}.user-actions{display:grid;gap:8px;padding:12px 0}.user-actions button{font-size:16px}.account-user{border:1px solid var(--line);border-radius:8px;padding:18px;margin:16px 0;overflow-wrap:anywhere}.account-user h3{margin:0}.account-user p{font-size:16px}.account-user select{margin:12px 0}.account-main>.card>.section-caption{font-size:16px;color:var(--muted);margin:0 0 8px}#password-form{max-width:460px;margin-top:24px}#password-form>label{margin:18px 0}#password-form>button{margin-top:12px}#account-security{min-height:480px}.identity-management{margin-top:28px}.account-main>section:only-child{margin:0}
@media(max-width:900px){#member{grid-template-columns:170px minmax(0,1fr);gap:20px}.account-main>.card{padding:24px}.users-table th,.users-table td{padding:12px 8px}.user-manage[open]{min-width:130px}.user-manage .role-options{grid-template-columns:1fr}}
@media(max-width:700px){#member{grid-template-columns:1fr;gap:20px}.account-sidebar{position:static;border:0;padding:0;display:grid;grid-template-columns:44px 1fr auto;gap:0 12px;align-items:center}.account-avatar{grid-column:1;grid-row:1/3;margin:0}#member-name{grid-column:2;grid-row:1;font-size:17px}#member-roles{grid-column:2;grid-row:2;margin:0}#signout{grid-column:3;grid-row:1/3;width:auto}#account-nav,#account-sections{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;margin:16px 0 0;padding:0;border:0}#account-nav:empty{display:none}#account-sections{margin-top:10px}.account-main>.card{padding:20px}.account-main h2{font-size:20px}.account-grid{grid-template-columns:1fr}.users-table thead{display:none}.users-table,.users-table tbody{display:block;margin:16px 0}.users-table tr{display:grid;grid-template-columns:1fr auto;gap:12px;border-bottom:1px solid var(--line);padding:18px 0}.users-table tr:last-child{border-bottom:0}.users-table td{display:block;padding:0;border:0}.users-table td:nth-child(2){grid-column:1;grid-row:2}.users-table td:nth-child(3){grid-column:2;grid-row:1}.users-table td:last-child{grid-column:1/-1}.user-manage>summary{width:100%;min-height:44px}.user-manage .role-options{grid-template-columns:repeat(2,minmax(0,1fr))}.user-actions{grid-template-columns:1fr 1fr}.user-actions button:last-child{grid-column:1/-1}#account-security{min-height:0}}

/* Login is a viewport-centered surface; member pages retain the workspace layout. */
.account-page{--account-accent:#355d8c;--account-muted:#5d6878;--account-border:#c1cad5;--account-paper:#fff;--account-bg:#f3f5f8;background:var(--account-bg)}
.account-page .account-header{max-width:1180px;margin:0 auto 24px}
.account-page:not(.is-signin)>.shell{max-width:1240px}
.account-page.is-signin>.shell{min-height:100vh;min-height:100svh;width:100%;max-width:none;padding:32px 20px;display:grid;place-items:center}
.account-page.is-signin .account-header{display:none}
/* Decorative SVG stays behind the form and disappears in the signed-in workspace. */
.account-page.is-signin{background:#f3faf9;background-image:radial-gradient(ellipse at 50% 35%,#fff 0%,#f7fbfb 42%,#eaf6f4 100%);isolation:isolate}
.signin-backdrop{display:none;position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.account-page.is-signin>.signin-backdrop{display:block}
.signin-backdrop>svg{display:block;width:100%;height:100%}
@media(max-width:700px){.signin-backdrop-charts{opacity:.35}.signin-backdrop>svg{width:160%;max-width:none;margin-left:-30%}}
.signin-panel{width:min(100%,424px);padding:36px 40px 24px;background:var(--account-paper);border:1px solid #dfe5ed;border-radius:12px;box-shadow:0 12px 40px rgba(32,54,81,.06),0 1px 3px rgba(32,54,81,.025);min-width:0}
.signin-identity{display:flex;align-items:center;flex-direction:column;margin-bottom:28px;gap:16px}
.signin-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dce5ee;border-radius:11px;background:#f1f5fa;color:var(--account-accent)}
.signin-mark svg{width:26px;height:26px;display:block}
#signin h1{font-size:23px;line-height:1.4;letter-spacing:.02em;font-weight:600;text-align:center;margin:0;color:#223047}
#signin form>label{font-size:16px;line-height:1.5;font-weight:500;color:#3d4a5c;margin:0 0 8px}
#signin form>input{height:48px;min-height:48px;max-width:none;font-size:16px;line-height:1.5;border:1px solid var(--account-border);border-radius:7px;background:#fff;padding:11px 13px;transition:border-color 140ms ease,box-shadow 140ms ease;margin:0 0 20px}
#signin form>input:focus-visible{outline:2px solid var(--account-accent);outline-offset:2px;border-color:var(--account-accent)}
#signin .signin-submit{width:100%;height:48px;min-height:48px;margin:4px 0 0;border-radius:7px;font-size:16px;font-weight:550;letter-spacing:.12em;background:var(--account-accent);border-color:var(--account-accent);color:#fff;transition:background-color 140ms ease}
#signin .signin-submit:hover:not(:disabled){background:#294c75;border-color:#294c75}
.signin-links{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px}
#signin .signin-help{font-size:16px;line-height:1.5;color:var(--account-muted);margin:-12px 0 20px}
#signin .signin-note{font-size:16px;line-height:1.5;color:var(--account-muted);text-align:center;margin:14px 0 0}
.signin-links>span{width:1px;height:12px;background:#d9e0e9}
#signin .signin-links button,#signin .signin-back{border:0;background:transparent;color:var(--account-muted);font-size:16px;min-height:44px;padding:10px 14px;line-height:1.5;letter-spacing:0;border-radius:5px}
#signin .signin-links button:hover:not(:disabled),#signin .signin-back:hover:not(:disabled){background:#f1f4f8;color:var(--account-accent)}
#signin .signin-back{display:block;margin:16px auto 0}
#account-message{font-size:16px;line-height:1.6;margin:0}
#account-message:not(:empty){padding:10px 12px;margin-bottom:20px;border-radius:6px;background:#edf3f9;color:#345577;overflow-wrap:anywhere}
#account-message.error{color:#9a2635;background:#fff0f2;border:1px solid #efc9ce}
.account-page:not(.is-signin) #account-message{max-width:1180px;margin:0 auto 16px}
@media(max-width:480px){.account-page.is-signin>.shell{padding:24px 20px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.signin-panel{padding:30px 24px 20px;border-radius:10px}.signin-identity{margin-bottom:26px}#signin h1{font-size:22px}}
@media(max-height:560px){.account-page.is-signin>.shell{padding-top:20px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){#signin button,#signin input{transition:none}}

/* Green personnel workspace, scoped to account management. */
.account-page:not(.is-signin) { background: #f3f8f6; }
.account-page:not(.is-signin) #account-message:not(:empty):not(.error) { background: #eaf6ef; color: #297752; }
.account-page.app-page:not(.is-signin)>.shell { max-width: 1720px; padding: 34px 34px 28px; }
.account-page.app-page:has(#admin-users:not([hidden])) #member { display: flex; flex-direction: column; gap: 0; }
.account-page.app-page:has(#admin-users:not([hidden])) .account-main { width: 100%; }
.account-page.app-page:has(#admin-users:not([hidden])) .account-sidebar { margin: 0 0 24px; width: 100%; }
.account-page.app-page:has(#admin-users:not([hidden])) .account-sidebar::before { display: none; }
.account-page #admin-users { --team-green: #168563; padding: 0; border: 0; background: transparent; box-shadow: none; }
.account-page #admin-users .team-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 28px; }
.account-page #admin-users .team-heading h2 { margin: 0 0 6px; font-size: 32px; letter-spacing: -.5px; color: #172e26; }
.account-page #admin-users .team-heading p { margin: 0; color: #687c72; font-size: 16px; }
.account-page #admin-users .team-heading-actions { display: flex; gap: 12px; flex-shrink: 0; }
.account-page #admin-users .team-heading-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; white-space: nowrap; min-height: 48px; padding-inline: 20px; border-radius: 9px; background: white; font-size:16px; }
.account-page #admin-users .team-heading-actions svg { width: 19px; height: 19px; }
.account-page #admin-users #open-new-user { background: var(--team-green); border-color: var(--team-green); color: white; box-shadow: 0 4px 12px #16856316; }
.account-page #admin-users #open-new-user:hover { background: #106e51; }
.account-page #admin-users #open-new-user span { font-size: 22px; line-height: 1; }
.account-page #admin-users .team-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-bottom: 20px; }
.account-page #admin-users .team-stat { display: flex; gap: 20px; padding: 24px 22px; border: 1px solid #fff; border-radius: 13px; background: linear-gradient(120deg,#fff,#eef8f3); min-width: 0; }
.account-page #admin-users .team-stat>div { min-width: 0; }
.account-page #admin-users .team-stat-icon { display: grid; place-items: center; flex-shrink: 0; width: 58px; height: 58px; border-radius: 50%; background: #def4e9; color: #13825f; }
.account-page #admin-users .team-stat-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-page #admin-users .team-stat>div>span { font-size:16px; color: #586e63; }
.account-page #admin-users .team-stat strong { display: block; color: #192e25; font-size: 34px; font-weight: 650; font-variant-numeric: tabular-nums; line-height: 1.3; margin: 7px 0 4px; }
.account-page #admin-users .team-stat small { color: #7c8e85; font-size:16px; }
.account-page #admin-users .team-stat[data-state=active] { background: linear-gradient(120deg,#fff,#f0faf5); }
.account-page #admin-users .team-stat[data-state=active] .team-stat-icon { color: #24a56e; background: #e8f8ef; }
.account-page #admin-users .team-stat[data-state=pending] { background: linear-gradient(120deg,#fff,#fffaf2); }
.account-page #admin-users .team-stat[data-state=pending] .team-stat-icon { color: #e59723; background: #fff3df; }
.account-page #admin-users .team-stat[data-state=disabled] { background: linear-gradient(120deg,#fff,#fdf5f5); }
.account-page #admin-users .team-stat[data-state=disabled] .team-stat-icon { color: #dc6873; background: #fdebed; }
.account-page #admin-users .team-workspace { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 20px; }
.account-page #admin-users .team-primary { min-width: 0; }
.account-page #admin-users .team-directory, .account-page #admin-users .team-insights { min-width: 0; background: white; border: 1px solid #eaf1ed; border-radius: 13px; box-shadow: 0 3px 18px #294e3903; }
.account-page #admin-users .directory-heading { display: flex; align-items: center; gap: 18px; margin: 0 18px; border-bottom: 1px solid #edf2ee; padding: 0; }
.account-page #admin-users .directory-heading button { padding: 20px 10px 16px; margin: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #687b70; font-size:16px; background: transparent; box-shadow: none; }
.account-page #admin-users .directory-heading button[aria-selected=true] { border-bottom-color: var(--team-green); color: var(--team-green); font-weight: 600; }
.account-page #admin-users #users-count { font-size:16px; padding: 1px 6px; margin-left: 4px; border-radius: 5px; background: #eff7f2; color: #49836b; }
.account-page #admin-users .team-filters { display: flex; align-items: center; gap: 10px; padding: 24px 18px 20px; }
.account-page #admin-users .team-filters>label { margin: 0; width: 125px; flex-shrink: 0; }
.account-page #admin-users .team-filters .team-search { position: relative; margin-right: auto; width: min(100%,350px); flex-shrink: 1; }
.account-page #admin-users .team-search svg { position: absolute; top: 12px; left: 13px; width: 18px; height: 18px; color: #94a89c; pointer-events: none; }
.account-page #admin-users .team-filters input, .account-page #admin-users .team-filters select { margin: 0; min-height: 42px; font-size:16px; padding-block: 8px; border-color: #e1ebe5; background: white; }
.account-page #admin-users .team-filters #user-search { padding-left: 40px; }
.account-page #admin-users .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.account-page #admin-users #user-list { padding: 0 18px; }
.account-page #admin-users .users-table { margin: 0; table-layout: fixed; width: 100%; font-size:16px; }
.account-page #admin-users .users-table th { background: #f4f8f6; color: #64766b; font-weight: 500; font-size:16px; padding: 12px 10px; border: 0; }
.account-page #admin-users .users-table th:first-child { width: 27%; border-radius: 9px 0 0 0; }
.account-page #admin-users .users-table th:nth-child(2) { width: 23%; }
.account-page #admin-users .users-table th:nth-child(3) { width: 22%; }
.account-page #admin-users .users-table th:nth-child(4) { width: 17%; }
.account-page #admin-users .users-table th:last-child { width: 11%; border-radius: 0 9px 0 0; }
.account-page #admin-users .users-table td { padding: 14px 10px; vertical-align: middle; border-color: #eff3f0; font-size:16px; overflow-wrap: anywhere; }
.account-page #admin-users .users-table tbody tr:hover { background: #fbfdfc; }
.account-page #admin-users .team-person { display: flex; align-items: center; gap: 11px; min-width: 0; }
.account-page #admin-users .member-avatar { display: grid; place-items: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: 50%; background: linear-gradient(140deg,#43ba8c,#168663); color: white; font-size: 16px; font-weight: 500; box-shadow: inset 0 0 0 3px #ffffff18; }
.account-page #admin-users .member-avatar[data-role=annotator] { background: linear-gradient(140deg,#6bd9af,#27b67f); }
.account-page #admin-users .member-avatar[data-role=reviewer] { background: linear-gradient(140deg,#9dcdbd,#549a83); }
.account-page #admin-users .member-avatar[data-role=collector] { background: linear-gradient(140deg,#b5d88b,#7da748); }
.account-page #admin-users .member-identity { min-width: 0; overflow-wrap: anywhere; }
.account-page #admin-users .member-identity strong { display: block; font-size:16px; font-weight: 500; }
.account-page #admin-users .member-self { margin-left: 5px; padding: 1px 4px; color: #7a8f81; font-size:16px; border-radius: 3px; background: #f0f5f2; white-space: nowrap; }
.account-page #admin-users .member-login { color: #708479; }
.account-page #admin-users .users-table .tag { display: inline-block; border: 0; padding: 4px 8px; margin: 2px 4px 2px 0; border-radius: 5px; font-size:16px; line-height: 1.5; background: #edf7f1; color: #29865f; white-space: nowrap; }
.account-page #admin-users .users-table .tag[data-role=reviewer] { background: #eef5f3; color: #588876; }
.account-page #admin-users .users-table .tag[data-role=collector] { background: #f3f7eb; color: #799443; }
.account-page #admin-users .user-state { display: inline-flex; align-items: center; gap: 6px; font-size:16px; padding: 4px 9px; border-radius: 20px; background: #eaf9f0; color: #16945d; white-space: nowrap; }
.account-page #admin-users .user-state::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.account-page #admin-users .user-state[data-state=pending] { color: #cf8820; background: #fff4e2; }
.account-page #admin-users .user-state[data-state=disabled] { color: #d45f6b; background: #fff0f2; }
.account-page #admin-users .user-manage { position: relative; min-width: 0; margin: 0; border: 0; }
.account-page #admin-users .user-manage>summary { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 5px 12px; border: 1px solid #e4ede7; border-radius: 7px; font-size:16px; color: var(--team-green); background: #fff; list-style: none; white-space: nowrap; }
.account-page #admin-users .user-manage>summary::-webkit-details-marker { display: none; }
.account-page #admin-users .user-manage[open]>summary { background: #edf6f0; border-color: #adcbbb; }
.account-page #admin-users .user-manage-panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 10; width: 290px; max-width: calc(100vw - 64px); padding: 20px; background: #fff; border: 1px solid #d6e2da; border-radius: 12px; box-shadow: 0 8px 28px #243a2c18; }
.account-page #admin-users .user-manage-panel>strong { display: block; font-size:16px; margin-bottom: 16px; }
.account-page #admin-users .user-manage fieldset { border-top: 1px solid var(--line); padding: 12px 0; }
.account-page #admin-users .user-manage legend, .account-page #admin-users .user-manage label { font-size:16px; }
.account-page #admin-users .user-manage .role-options { grid-template-columns: 1fr 1fr; gap: 12px; }
.account-page #admin-users .user-actions { grid-template-columns: 1fr 1fr; padding: 10px 0 0; }
.account-page #admin-users .user-actions button { font-size:16px; min-height: 40px; padding: 8px; }
.account-page #admin-users .user-actions button:last-child:nth-child(3) { grid-column: 1/-1; }
.account-page #admin-users .directory-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px; color: #7a8c80; font-size:16px; }
.account-page #admin-users .team-pagination { display: flex; align-items: center; gap: 10px; font-size:16px; white-space: nowrap; }
.account-page #admin-users .team-pagination button { min-height: 30px; min-width: 30px; padding: 2px 8px; font-size: 18px; border-radius: 6px; background: white; }
.account-page #admin-users .team-empty { padding: 60px 24px; text-align: center; color: #65796e; }
.account-page #admin-users .team-empty p { font-size:16px; }
.account-page #admin-users .team-insights { padding: 22px 20px; }
.account-page #admin-users .team-insights section+section { margin-top: 26px; }
.account-page #admin-users .team-insights h3 { font-size:16px; font-weight: 600; margin: 0 0 18px; color: #283f32; }
.account-page #admin-users .role-distribution { display: flex; align-items: center; gap: 20px; }
.account-page #admin-users .role-donut { width: 136px; height: 136px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; background: #edf3f0; }
.account-page #admin-users .role-donut>div { width: 94px; height: 94px; border-radius: 50%; background: white; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.account-page #admin-users .role-donut strong { font-size: 27px; line-height: 1.3; color: #203c2e; }
.account-page #admin-users .role-donut span { font-size:16px; color: #8a9b90; }
.account-page #admin-users .role-legend { list-style: none; margin: 0; padding: 0; flex: 1; }
.account-page #admin-users .role-legend li { display: flex; align-items: center; gap: 6px; margin: 9px 0; font-size:16px; color: #718277; white-space: nowrap; }
.account-page #admin-users .role-legend i { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.account-page #admin-users .role-legend strong { margin-left: auto; font-weight: 500; color: #45604f; }
.account-page #admin-users .insight-note { font-size:16px; color: #92a196; margin: 12px 0 0; }
.account-page #admin-users .status-bar { display: grid; grid-template-columns: 62px 1fr 20px; gap: 12px; align-items: center; margin: 12px 0; font-size:16px; color: #728377; }
.account-page #admin-users .status-bar strong { font-size:16px; font-weight: 400; text-align: right; color: #496151; }
.account-page #admin-users .status-track { height: 9px; background: #f2f6f3; border-radius: 4px; overflow: hidden; }
.account-page #admin-users .status-track i { display: block; height: 100%; background: linear-gradient(90deg,#6aca9f,#28ae78); border-radius: inherit; }
.account-page #admin-users .status-bar[data-state=pending] i { background: #ebbc6c; }
.account-page #admin-users .status-bar[data-state=disabled] i { background: #d9969e; }
.account-page #admin-users .team-insights section:last-child { padding-top: 20px; border-top: 1px solid #edf2ef; }
.account-page #admin-users .recent-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.account-page #admin-users .recent-heading h3 { margin: 0; }
.account-page #admin-users #show-all-users { padding: 0; border: 0; background: transparent; box-shadow: none; color: var(--team-green); font-size:16px; min-height: 26px; }
.account-page #admin-users .recent-member { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; }
.account-page #admin-users .recent-member>div { flex: 1; min-width: 0; }
.account-page #admin-users .recent-member strong { display: block; font-size:16px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-page #admin-users .recent-member small { display: block; font-size:16px; color: #8b9b90; margin-top: 3px; }
.account-page #admin-users .recent-member time { color: #8b9b90; font-size:16px; }
.account-page #admin-users .recent-member .member-avatar { width: 34px; height: 34px; font-size:16px; }
.account-page #admin-users #permissions-panel { padding: 20px 24px; }
.account-page #admin-users .permissions-intro { font-size:16px; color: #7b8c80; margin: 4px 0 20px; }
.account-page #admin-users .permission-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.account-page #admin-users .permission-cards article { padding: 20px; border: 1px solid #e1eee6; border-radius: 10px; background: #f7fbf9; }
.account-page #admin-users .permission-cards h3 { font-size: 16px; margin: 0 0 12px; color: #298561; }
.account-page #admin-users .permission-cards p { font-size:16px; margin: 0; color: #6c8072; }
.account-page #admin-users .create-user { margin: 0 0 24px; padding: 6px 24px; background: #fff; border: 1px solid #b9d7c8; border-radius: 12px; }
.account-page #admin-users .create-user:not([open]) { display: none; }
.account-page #admin-users .create-user summary { font-size: 16px; font-weight: 600; }
.account-page #admin-users .create-user small { display: block; margin-top: 6px; font-size:16px; font-weight: 400; color: var(--muted); }
.account-page #admin-users .create-user legend small { display: inline; margin-left: 6px; }
.account-page #admin-users #new-roles { padding: 18px 0 22px; }
.account-page #admin-users #new-roles label { padding: 9px 14px; background: #f6f8f7; border: 1px solid var(--line); border-radius: 8px; }
.account-page #admin-users #new-roles label:has(:checked) { border-color: #a8cdbb; background: #edf6f0; color: var(--accent); }
.account-page #admin-users .team-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.account-page #admin-users .team-utilities { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 16px; margin-top: 20px; }
.account-page #admin-users .team-utility { min-width: 0; margin: 0; background: #fff; border: 1px solid #eaf1ed; border-radius: 12px; }
.account-page #admin-users .team-utility>summary { display: flex; align-items: center; gap: 14px; padding: 18px 20px; list-style: none; }
.account-page #admin-users .team-utility>summary::-webkit-details-marker { display: none; }
.account-page #admin-users .utility-icon { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 9px; background: #f1f7f3; color: #75a18a; }
.account-page #admin-users .utility-icon svg { width: 20px; height: 20px; }
.account-page #admin-users .team-utility summary strong { display: block; font-size:16px; color: #4e6f5b; font-weight: 500; }
.account-page #admin-users .team-utility summary small { display: block; font-size:16px; color: #8b9d91; margin-top: 3px; }
.account-page #admin-users .utility-chevron { margin-left: auto; color: #7d8d83; }
.account-page #admin-users .team-utility[open] .utility-chevron { transform: rotate(180deg); }
.account-page #admin-users .utility-body { padding: 0 20px 20px; overflow-wrap: anywhere; }
.account-page #admin-users #audit-list { max-height: 300px; overflow: auto; }
.account-page #admin-users #audit-list p { padding: 10px 0; border-bottom: 1px solid #edf1ee; font-size:16px; }
@media(max-width:1400px) {
  .account-page #admin-users .team-workspace { grid-template-columns: minmax(0,1fr) 280px; gap: 16px; }
  .account-page #admin-users .team-stat { gap: 12px; padding: 20px 16px; }
  .account-page #admin-users .team-stat-icon { width: 46px; height: 46px; }
  .account-page #admin-users .team-insights { padding: 20px 16px; }
  .account-page #admin-users .role-distribution { gap: 12px; }
  .account-page #admin-users .role-donut { width: 120px; height: 120px; }
  .account-page #admin-users .role-donut>div { width: 84px; height: 84px; }
}
@media(max-width:1200px) {
  .account-page #admin-users .team-workspace { grid-template-columns: minmax(0,1fr); }
  .account-page #admin-users .team-insights { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .account-page #admin-users .team-insights section+section { margin: 0; }
  .account-page #admin-users .team-insights section:last-child { grid-column: 1/-1; }
  .account-page #admin-users #recent-users { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .account-page #admin-users .team-heading { align-items: start; }
  .account-page #admin-users .team-heading-actions button { padding-inline: 14px; }
  .account-page #admin-users .team-stats { gap: 12px; }
  .account-page #admin-users .team-stat { gap: 10px; padding: 18px 12px; }
  .account-page #admin-users .team-stat-icon { width: 38px; height: 38px; }
}
@media(max-width:700px) {
  .account-page.app-page:not(.is-signin)>.shell { padding: 24px 18px; }
  .account-page #admin-users .team-heading { display: block; margin-bottom: 22px; }
  .account-page #admin-users .team-heading h2 { font-size: 28px; }
  .account-page #admin-users .team-heading p { font-size:16px; line-height: 1.7; }
  .account-page #admin-users .team-heading-actions { margin-top: 18px; }
  .account-page #admin-users .team-heading-actions button { flex: 1; }
  .account-page #admin-users .team-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .account-page #admin-users .team-stat { gap: 10px; padding: 16px 12px; }
  .account-page #admin-users .team-stat-icon { width: 32px; height: 32px; }
  .account-page #admin-users .team-stat-icon svg { width: 20px; height: 20px; }
  .account-page #admin-users .team-stat>div>span { font-size:16px; }
  .account-page #admin-users .team-stat strong { font-size: 28px; }
  .account-page #admin-users .team-stat small { font-size:16px; }
  .account-page #admin-users .team-filters { flex-wrap: wrap; padding: 18px 14px; }
  .account-page #admin-users .team-filters .team-search { width: 100%; flex-basis: 100%; }
  .account-page #admin-users .team-filters>label { width: calc(50% - 5px); }
  .account-page #admin-users #user-list { padding: 0 14px; }
  .account-page #admin-users .users-table, .account-page #admin-users .users-table tbody { display: block; margin: 0; }
  .account-page #admin-users .users-table thead { display: none; }
  .account-page #admin-users .users-table tr { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 10px; padding: 16px 0; border-top: 1px solid #edf2ee; border-bottom: 0; }
  .account-page #admin-users .users-table td { padding: 0; border: 0; display: block; grid-column: auto; grid-row: auto; }
  .account-page #admin-users .users-table td:first-child { grid-column: 1; grid-row: 1; }
  .account-page #admin-users .users-table td:nth-child(2) { grid-column: 1; grid-row: 2; padding-left: 49px; }
  .account-page #admin-users .users-table td:nth-child(3) { grid-column: 1; grid-row: 3; padding-left: 49px; }
  .account-page #admin-users .users-table td:nth-child(4) { grid-column: 2; grid-row: 1; align-self: center; }
  .account-page #admin-users .users-table td:last-child { grid-column: 2; grid-row: 2 / span 2; text-align: right; }
  .account-page #admin-users .users-table td:last-child:has(details[open]) { grid-column: 1/-1; grid-row: 4; text-align: left; }
  .account-page #admin-users .user-manage>summary { min-height: 40px; }
  .account-page #admin-users .user-manage-panel { position: static; width: 100%; max-width: none; box-shadow: none; margin-top: 12px; }
  .account-page #admin-users .directory-footer { padding: 16px 14px; font-size:16px; }
  .account-page #admin-users .team-insights { grid-template-columns: 1fr; padding: 22px; }
  .account-page #admin-users .role-distribution { gap: 24px; }
  .account-page #admin-users .role-donut { width: 136px; height: 136px; }
  .account-page #admin-users .role-donut>div { width: 94px; height: 94px; }
  .account-page #admin-users #recent-users { grid-template-columns: 1fr; }
  .account-page #admin-users .permission-cards, .account-page #admin-users .team-utilities { grid-template-columns: 1fr; }
  .account-page #admin-users .team-utility>summary { padding: 18px 16px; }
  .account-page #admin-users .create-user { padding-inline: 16px; }
  .account-page #admin-users #new-roles { gap: 6px 12px; }
}
