.organization-hero>div{min-width:0}.organization-hero>.secondary{flex:0 0 auto;white-space:nowrap}
.management-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(145px,.7fr)) auto;gap:8px;max-width:100%;min-width:0;margin-bottom:14px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft)}
.management-filters>*{min-width:0}.management-filter-submit{min-width:76px}
.management-filters input,.management-filters select{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:8px;background:#f8f8fa;padding:9px 11px;color:var(--text);outline:0;transition:border-color .15s,box-shadow .15s,background .15s}
.management-filters input:focus,.management-filters select:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,113,227,.1)}
.user-list-panel,.maintenance-list-panel{min-width:0;padding:0}.user-list-panel .panel-title{padding:18px 20px 12px}.user-list-panel .panel-title>div{min-width:0}.user-list-panel .panel-title h2{margin-bottom:3px}.result-count{display:block;color:var(--muted);font-size:11px}.user-list-actions{display:flex;align-items:center;gap:8px}.account-create-button{min-width:92px;flex:0 0 auto}.mobile-sort{display:none}.organization-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.organization-table-wrap:focus-visible{outline:3px solid rgba(0,113,227,.16);outline-offset:-3px}.user-list-panel .organization-table{min-width:980px}.maintenance-list-panel .organization-table{min-width:720px}
.account-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 36px);padding:0;border:1px solid #d7e0ea;border-radius:16px;background:#fff;box-shadow:0 28px 80px rgba(16,24,40,.24);overflow:hidden}.account-dialog::backdrop{background:rgba(16,24,40,.48);backdrop-filter:blur(3px)}.account-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px 16px;border-bottom:1px solid #e7eaf0;background:#fbfcfe}.account-dialog header span{display:block;color:#1769e0;font:700 8px/1 ui-monospace,SFMono-Regular,Consolas;letter-spacing:.13em}.account-dialog header h2{margin:5px 0 0;color:#1d2939;font-size:19px;letter-spacing:-.025em}.account-dialog header p{margin:4px 0 0;color:#667085;font-size:10px;line-height:1.5}.account-dialog header form{margin:0}.account-dialog-close{width:34px;height:34px;border:0;border-radius:50%;background:#f2f4f7;color:#475467;font-size:21px;line-height:1;cursor:pointer}.account-dialog-close:hover,.account-dialog-close:focus-visible{background:#e7eef7;color:#1769e0;outline:3px solid rgba(20,115,230,.1)}.account-dialog-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;max-height:calc(100vh - 174px);padding:19px 22px;overflow:auto}.account-dialog-form p{margin:0 0 13px}.account-dialog-form p:has(select[multiple]),.account-dialog-form p:has(input[type=checkbox]){grid-column:1/-1}.account-dialog-form p:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.account-dialog-form p:has(input[type=checkbox]) label{order:2;margin:0}.account-dialog-form p:has(input[type=checkbox]) input{order:1;width:16px;min-height:16px;padding:0}.account-dialog-form select[multiple]{min-height:92px}.account-dialog-form footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin:3px -22px -19px;padding:14px 22px;border-top:1px solid #e7eaf0;background:#fbfcfe}.account-dialog-form footer .primary,.account-dialog-form footer .secondary{min-width:92px}
.account-dialog-form footer{position:sticky;bottom:-19px;z-index:2}
.account-dialog{width:min(620px,calc(100vw - 32px))}.account-dialog-form{grid-template-columns:1fr}
.sort-link{display:inline-flex;align-items:center;gap:5px;color:var(--muted);text-decoration:none}.sort-link i{font-style:normal;color:var(--tertiary)}.sort-link:hover,.sort-link.active{color:var(--blue)}.sort-link.active i{color:var(--blue)}
@media(max-width:1300px){.management-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.management-filters .management-search{grid-column:1/-1}.management-filter-submit{width:100%}}
@media(max-width:760px){.organization-hero{display:block}.organization-hero>.secondary{width:100%;margin-top:14px}.organization-section-nav{overflow-x:auto;scrollbar-width:none}.organization-section-nav::-webkit-scrollbar{display:none}.management-filters{grid-template-columns:minmax(0,1fr)}.management-filters .management-search{grid-column:auto}.management-filters input,.management-filters select,.management-filter-submit{min-height:44px}.user-list-panel .panel-title,.maintenance-list-panel .panel-title{align-items:flex-start;gap:12px;padding:16px 15px 12px}.organization-table th,.organization-table td{padding-inline:12px}}
@media(max-width:680px){.user-list-panel .panel-title,.maintenance-list-panel .panel-title{display:block}.user-list-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.mobile-sort{position:relative;display:block}.mobile-sort summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:#475467;font-weight:600;list-style:none;cursor:pointer}.mobile-sort summary::-webkit-details-marker{display:none}.mobile-sort summary:after{content:"⌄";margin-left:7px;color:#7d8795}.mobile-sort[open] summary{border-color:#99bce9;color:#1769e0;box-shadow:0 0 0 3px rgba(0,113,227,.1)}.mobile-sort nav{position:absolute;z-index:8;top:50px;left:0;width:min(280px,calc(100vw - 28px));display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;border:1px solid #d7e0ea;border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(16,24,40,.16)}.mobile-sort nav a{min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-radius:7px;color:#475467;text-decoration:none}.mobile-sort nav a:hover,.mobile-sort nav a:focus-visible,.mobile-sort nav a.active{background:#eaf3ff;color:#1769e0;outline:none}.account-create-button,.maintenance-create-button{width:100%;min-height:44px;margin-top:12px}.user-list-actions .account-create-button{margin-top:0}.organization-table-wrap{overflow:visible;scrollbar-gutter:auto}.organization-table-wrap:focus-visible{outline:none}.organization-table,.user-list-panel .organization-table,.maintenance-list-panel .organization-table{display:block;min-width:0;background:transparent}.organization-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.organization-table tbody{display:grid;gap:10px;padding:0 12px 14px}.organization-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid #e2e7ed;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.035)}.organization-table tbody tr:hover{background:#fff}.organization-table tbody td{min-width:0;display:block;padding:10px 12px;border:0;border-bottom:1px solid #edf0f4;white-space:normal;overflow-wrap:anywhere}.organization-table tbody td:nth-last-child(2){border-bottom:0}.organization-table tbody td:before{content:attr(data-label);display:block;margin-bottom:3px;color:#98a2b3;font-size:9px;font-weight:700}.organization-table tbody .organization-row-action{grid-column:1/-1;padding:0;border:0}.organization-row-action:before{display:none!important}.organization-row-action a{min-height:44px;display:flex;align-items:center;justify-content:center;background:#f6f9fd;color:#1769e0;text-decoration:none}.organization-row-action a:after{content:"→";margin-left:6px}.organization-table tbody .organization-empty-row{display:block}.organization-empty-row .empty{padding:28px 16px;border:0}.organization-empty-row .empty:before{display:none}.department-organization-table tbody td:nth-last-child(2){border-bottom:1px solid #edf0f4}}
@media(max-width:600px){.user-list-panel{padding:0}.account-dialog{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}.account-dialog header{padding:16px}.account-dialog-form{grid-template-columns:1fr;max-height:calc(100vh - 151px);padding:16px}.account-dialog-form footer{margin:3px -16px -16px;padding:12px 16px}.account-dialog-form footer .primary,.account-dialog-form footer .secondary{flex:1;min-width:0}.account-create-button{min-height:44px}.result-count{white-space:normal}}
@media(max-width:600px){.account-dialog-form footer{bottom:-16px}}

/* Boolean fields in every maintenance dialog share the account-dialog layout. */
.management-dialog-form p:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;min-height:40px}.management-dialog-form p:has(input[type=checkbox]) label{order:2;margin:0;color:#344054;font-size:12px;font-weight:600;cursor:pointer}.management-dialog-form p:has(input[type=checkbox]) input{order:1;flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;border:0;box-shadow:none;accent-color:var(--blue);cursor:pointer}
.maintenance-list-panel{padding:0}.maintenance-list-panel .panel-title{padding:18px 20px 12px}.maintenance-create-button{min-width:92px;flex:0 0 auto}.management-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 36px);padding:0;border:1px solid #d7e0ea;border-radius:16px;background:#fff;box-shadow:0 28px 80px rgba(16,24,40,.24);overflow:hidden}.management-dialog::backdrop{background:rgba(16,24,40,.48);backdrop-filter:blur(3px)}.management-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px 16px;border-bottom:1px solid #e7eaf0;background:#fbfcfe}.management-dialog header span{display:block;color:#1769e0;font:700 8px/1 ui-monospace,SFMono-Regular,Consolas;letter-spacing:.13em}.management-dialog header h2{margin:5px 0 0;color:#1d2939;font-size:19px;letter-spacing:-.025em}.management-dialog header p{margin:4px 0 0;color:#667085;font-size:10px;line-height:1.5}.management-dialog header form{margin:0}.management-dialog-close{width:34px;height:34px;border:0;border-radius:50%;background:#f2f4f7;color:#475467;font-size:21px;line-height:1;cursor:pointer}.management-dialog-close:hover,.management-dialog-close:focus-visible{background:#e7eef7;color:#1769e0;outline:3px solid rgba(20,115,230,.1)}.management-dialog-form{max-height:calc(100vh - 174px);padding:19px 22px;overflow:auto}.management-dialog-form p{margin:0 0 13px}.management-dialog-form footer{position:sticky;bottom:-19px;z-index:2;display:flex;justify-content:flex-end;gap:8px;margin:3px -22px -19px;padding:14px 22px;border-top:1px solid #e7eaf0;background:#fbfcfe}.management-dialog-form footer .primary,.management-dialog-form footer .secondary{min-width:92px}@media(max-width:600px){.maintenance-list-panel .panel-title{padding:16px 15px 12px}.maintenance-create-button{min-height:40px}.management-dialog{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}.management-dialog header{padding:16px}.management-dialog-form{max-height:calc(100vh - 151px);padding:16px}.management-dialog-form footer{bottom:-16px;margin:3px -16px -16px;padding:12px 16px}.management-dialog-form footer .primary,.management-dialog-form footer .secondary{flex:1;min-width:0}}


/* Administrator-only credential ledger. The login password itself remains hashed by Django. */
main:has(.user-list-panel){width:min(1680px,calc(100% - 40px))}
.user-list-panel .organization-table{width:100%;min-width:0;table-layout:fixed}
.user-list-panel .organization-table th,.user-list-panel .organization-table td{min-width:0;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.user-list-panel .organization-table th:nth-child(1){width:8%}
.user-list-panel .organization-table th:nth-child(2){width:7%}
.user-list-panel .organization-table th:nth-child(3){width:17%}
.user-list-panel .organization-table th:nth-child(4){width:20%}
.user-list-panel .organization-table th:nth-child(5){width:15%}
.user-list-panel .organization-table th:nth-child(6){width:9%}
.user-list-panel .organization-table th:nth-child(7){width:9%}
.user-list-panel .organization-table th:nth-child(8){width:7%}
.user-list-panel .organization-table th:nth-child(9){width:8%}
.credential-column{min-width:0}
.credential-cell{min-width:0;white-space:normal!important}
.credential-username{color:#667085;font-size:11px}
.credential-password{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border:1px solid #cfe0ff;border-radius:7px;background:#edf4ff;color:#1769e0;font:600 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}
.credential-missing{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:7px;background:#f2f4f7;color:#667085;font-size:10px}
.credential-reset{display:block;width:max-content;margin-top:5px;color:#d92d20;font-size:10px;font-weight:650;text-decoration:none}
.credential-reset:hover,.credential-reset:focus-visible{color:#b42318;text-decoration:underline;outline:none}
@media(max-width:1180px){.user-list-panel .organization-table-wrap{overflow:visible;scrollbar-gutter:auto}.user-list-panel .organization-table{display:block;min-width:0;background:transparent}.user-list-panel .organization-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-list-panel .organization-table tbody{display:grid;gap:10px;padding:0 12px 14px}.user-list-panel .organization-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #e2e7ed;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.035)}.user-list-panel .organization-table tbody tr:hover{background:#fff}.user-list-panel .organization-table tbody td{min-width:0;display:block;padding:10px 12px;border:0;border-bottom:1px solid #edf0f4;white-space:normal;overflow-wrap:anywhere}.user-list-panel .organization-table tbody td:before{content:attr(data-label);display:block;margin-bottom:3px;color:#98a2b3;font-size:9px;font-weight:700}.user-list-panel .organization-table tbody .organization-row-action{grid-column:1/-1;padding:0;border:0}.user-list-panel .organization-row-action:before{display:none!important}.user-list-panel .organization-row-action a{min-height:44px;display:flex;align-items:center;justify-content:center;background:#f6f9fd;color:#1769e0;text-decoration:none}.user-list-panel .organization-row-action a:after{content:"→";margin-left:6px}.user-list-panel .organization-table tbody .organization-empty-row{display:block}.user-list-panel .organization-empty-row .empty{padding:28px 16px;border:0}.user-list-panel .organization-empty-row .empty:before{display:none}}
@media(max-width:760px){main:has(.user-list-panel){width:calc(100% - 28px)}.user-list-panel .organization-table tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.user-list-panel .organization-table tbody tr{grid-template-columns:1fr}.user-list-panel .organization-table tbody .organization-row-action{grid-column:auto}}
@media(max-width:680px){.credential-cell{min-width:0}.credential-reset{min-height:32px;align-items:center}.credential-password{max-width:100%;overflow-wrap:anywhere}}

/* Management data is operational content: use a compact but readable type scale. */
.organization-hero h1{font-size:30px}
.organization-hero p{font-size:13px;line-height:1.6}
.management-filters input,.management-filters select,.management-filter-submit{font-size:13px}
.user-list-panel .panel-title h2,.maintenance-list-panel .panel-title h2{font-size:20px}
.result-count{color:#596579;font-size:12px;line-height:1.5}
.organization-table th{color:#596579;font-size:11px;line-height:1.4}
.organization-table td{font-size:13px;line-height:1.5}
.organization-table .badge{font-size:11px}
.sort-link{font-size:11px}
.account-dialog header span,.management-dialog header span{font:700 10px/1.2 ui-monospace,SFMono-Regular,Consolas;letter-spacing:.12em}
.account-dialog header h2,.management-dialog header h2{font-size:21px}
.account-dialog header p,.management-dialog header p{color:#596579;font-size:12px;line-height:1.55}
.account-dialog-close,.management-dialog-close{width:40px;height:40px}
.account-dialog-form label,.management-dialog-form label{color:#344054;font-size:12px;line-height:1.4}
.account-dialog-form input,.account-dialog-form select,.account-dialog-form textarea,
.management-dialog-form input,.management-dialog-form select,.management-dialog-form textarea{font-size:13px}
.credential-username,.credential-password{font-size:12px}
.credential-missing,.credential-reset{font-size:11px}

@media(max-width:1180px){
  .user-list-panel .organization-table tbody td:before{color:#667085;font-size:10px}
}
@media(max-width:680px){
  .organization-hero h1{font-size:28px}
  .organization-table tbody td:before{color:#667085;font-size:10px}
  .organization-row-action a,.mobile-sort summary,.mobile-sort nav a{font-size:13px}
  .credential-reset{min-height:44px;display:inline-flex}
  .account-dialog-close,.management-dialog-close{width:44px;height:44px}
}

/* Management-dialog footer actions use one shared geometry, regardless of
   whether the control is rendered as a link or a button. */
.account-dialog-form footer .primary,
.account-dialog-form footer .secondary,
.management-dialog-form footer .primary,
.management-dialog-form footer .secondary{
  box-sizing:border-box;
  width:120px;
  min-width:120px;
  height:44px;
  min-height:44px;
  flex:0 0 120px;
  padding:0 16px;
  font:inherit;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}

@media(max-width:600px){
  .account-dialog-form footer .primary,
  .account-dialog-form footer .secondary,
  .management-dialog-form footer .primary,
  .management-dialog-form footer .secondary{
    width:auto;
    min-width:0;
    flex:1 1 0;
  }
}

/* Department scope is a role-specific permission, not a general account field. */
.account-dialog-form .managed-scope-field{
  display:block;
  grid-column:1/-1;
  margin:2px 0 16px;
  padding:14px;
  border:1px solid #d7e2ef;
  border-radius:12px;
  background:#f8fbff;
}
.account-dialog-form .managed-scope-field[hidden]{display:none!important}
.account-dialog-form .managed-scope-field>label:first-child{
  display:block;
  margin-bottom:4px;
  color:#1d2939;
  font-size:13px;
  font-weight:700;
}
.managed-scope-toolbar{display:flex;align-items:center;gap:10px;margin:10px 0 8px}
.managed-scope-search{position:relative;display:block;flex:1;min-width:0;margin:0!important}
.managed-scope-search svg{
  position:absolute;
  top:50%;
  left:12px;
  width:17px;
  height:17px;
  fill:none;
  stroke:#667085;
  stroke-width:1.8;
  transform:translateY(-50%);
  pointer-events:none;
}
.managed-scope-search input{
  width:100%;
  min-height:42px;
  padding:9px 12px 9px 38px!important;
  border:1px solid #cdd8e5!important;
  border-radius:9px!important;
  background:#fff!important;
}
.managed-scope-search input:focus-visible{border-color:#1473e6!important;box-shadow:0 0 0 3px rgba(20,115,230,.12)!important;outline:0}
.managed-scope-count{flex:0 0 auto;color:#596579;font-size:11px;font-weight:650;white-space:nowrap}
.account-dialog-form #id_managed_departments{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  max-height:210px;
  padding:6px;
  overflow:auto;
  border:1px solid #d7e0ea;
  border-radius:10px;
  background:#fff;
  scrollbar-gutter:stable;
}
.account-dialog-form #id_managed_departments>div{min-width:0}
.account-dialog-form #id_managed_departments label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-height:40px;
  margin:0;
  padding:9px 10px;
  border-radius:7px;
  color:#344054;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  cursor:pointer;
  transition:background-color .16s,color .16s;
}
.account-dialog-form #id_managed_departments label:hover{background:#f0f6ff;color:#155fc0}
.account-dialog-form #id_managed_departments label:has(input:focus-visible){background:#edf5ff;outline:3px solid rgba(20,115,230,.14)}
.account-dialog-form #id_managed_departments label:has(input:checked){background:#eaf3ff;color:#145fbf;font-weight:650}
.account-dialog-form #id_managed_departments input{
  flex:0 0 17px;
  width:17px;
  min-width:17px;
  height:17px;
  min-height:17px;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  accent-color:#1473e6;
}
.account-dialog-form .managed-scope-field .helptext{
  display:block;
  margin-top:8px;
  color:#596579;
  font-size:11px;
  line-height:1.55;
}
.account-dialog-form .managed-scope-field .errorlist{margin:0 0 8px;padding:9px 11px;border:1px solid #f7b9b4;border-radius:8px;background:#fff4f3;color:#b42318;font-size:11px;list-style:none}

@media(max-width:600px){
  .account-dialog-form .managed-scope-field{padding:12px}
  .managed-scope-toolbar{align-items:stretch;flex-direction:column;gap:7px}
  .managed-scope-search input{min-height:44px}
  .managed-scope-count{white-space:normal}
  .account-dialog-form #id_managed_departments{grid-template-columns:minmax(0,1fr);max-height:228px}
  .account-dialog-form #id_managed_departments label{min-height:44px;align-items:center}
}
