.admin-section-title{ margin:0; font-size:var(--text-xl); font-weight:var(--font-weight-semibold); color:var(--ui-text); display:flex; align-items:center; gap:8px; }
.admin-count{ font-size:inherit; font-family:var(--font-sans); font-weight:var(--font-weight-regular); color:var(--ui-muted); }
.admin-col-name .admin-count{ color:inherit; }
.admin-user-row{ grid-template-columns:40px 1.4fr 1.5fr 110px 1.1fr 92px 150px 68px; }
.admin-col-edit{ display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.admin-delete-user:hover{ color:var(--ui-danger); }
.admin-table .trash-row{ display:grid; align-items:center; gap:12px; padding:8px 8px; font-size:var(--text-md); }
.admin-col-avatar .presence-avatar{ width:28px; height:28px; font-size:var(--text-md); }
.admin-col-name{ font-size:var(--ui-table-cell-size); font-weight:var(--font-weight-semibold); color:var(--ui-table-cell-color); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-col-email{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-col-decks{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); }
.admin-role-dd{ position:relative; width:100%; }
.admin-role-dd-btn{
  width:100%; height:32px; padding:0 10px; display:flex; align-items:center; justify-content:space-between; gap:8px;
  border:1px solid var(--ui-border); border-radius:8px; background:none; color:var(--ui-text); font-family:var(--font-sans); font-size:var(--text-md); cursor:pointer;
}
.admin-role-dd-btn i{ font-size:var(--text-xs); color:var(--ui-muted); }
.admin-role-dd-btn:hover:not(:disabled){ background:var(--md-neutral-background-2-rest); }
.admin-role-dd-btn:disabled{ color:var(--ui-muted); cursor:default; }
.admin-role-dd.is-admin .admin-role-dd-btn{ border-color:var(--ui-accent); color:var(--ui-accent); }
.admin-role-dd-menu{ left:0; right:0; min-width:0; top:calc(100% + 4px); }
.admin-role-dd-modal .admin-role-dd-btn{ height:42px; font-size:var(--text-base); }
.admin-dd{ position:relative; width:100%; }
.admin-dd-btn{
  width:100%; height:42px; padding:0 10px; display:flex; align-items:center; justify-content:space-between; gap:8px;
  border:1px solid var(--ui-border); border-radius:8px; background:none; color:var(--ui-text);
  font-family:var(--font-sans); font-size:var(--text-base); cursor:pointer; text-align:left;
}
.admin-dd-btn span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-dd-btn i{ font-size:var(--text-xs); color:var(--ui-muted); flex-shrink:0; }
.admin-dd-btn:hover{ background:var(--md-neutral-background-2-rest); }
.admin-dd-menu{ left:0; right:0; min-width:0; top:calc(100% + 4px); }
.share-email-dropdown button:disabled{ opacity:.5; cursor:not-allowed; }
.admin-dd-team{ margin-left:auto; display:flex; align-items:center; flex-shrink:0; }

.admin-empty{ padding:24px; text-align:center; color:var(--ui-muted); font-size:var(--text-base); }
.admin-empty-illus{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:32px 16px; color:var(--ui-muted); font-size:var(--text-base); }
.admin-empty-illus img{ width:150px; height:auto; display:block; }

.admin-table .trash-row-header > *{
  font-size:var(--text-md); color:var(--ui-muted); font-weight:var(--font-weight-light);
  white-space:nowrap;
}
.admin-user-row{ cursor:pointer; }
.admin-table .trash-row-header.admin-user-row{ cursor:default; }
.admin-col-team{ display:flex; align-items:center; min-width:0; }
.admin-col-job{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-team-empty{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); }

.admin-panel-full > .admin-panel-panes > .home-main{ max-width:none; padding-left:56px; padding-right:56px; }
.admin-toolbar-right{ display:flex; align-items:center; gap:10px; flex:1 1 auto; min-width:0; }
.admin-toolbar-right .btn i{ margin-right:6px; }
.admin-col-name{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.admin-job-line{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); font-weight:var(--font-weight-regular); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-col-phone{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-deck-photo{ display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px; overflow:hidden; background:var(--ui-surface-2); }
.admin-deck-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.admin-deck-photo-empty{ border:1px dashed var(--ui-border-strong); background:none; color:var(--ui-muted-light); font-size:var(--text-sm); }
.admin-col-edit{ display:flex; justify-content:flex-end; }
.admin-edit-user{ color:var(--ui-muted); }
.admin-edit-user:hover{ color:var(--ui-text); }

.admin-modal-overlay{ display:none; position:fixed; inset:0; background:rgba(20,24,32,0.45); z-index:var(--z-modal); align-items:center; justify-content:center; }
.admin-modal-overlay.open{ display:flex; }
.admin-modal-overlay.closing .admin-modal{ animation:modal-fall-out .45s cubic-bezier(.2,.8,.2,1); }
.admin-modal{
  width:560px; max-width:92vw; background:var(--md-color-grey-white); border-radius:16px;
  box-shadow:var(--shadow-modal); display:flex; flex-direction:column; overflow:hidden;
  animation:modal-rise-in .32s cubic-bezier(.2,.8,.2,1);
}
.admin-modal-narrow{ width:460px; }
.admin-modal .admin-modal-body{ overflow:visible; display:flex; gap:24px; align-items:flex-start; }
#adminImageModalModal .admin-modal-body{ flex-direction:column; align-items:stretch; }
.admin-modal .admin-modal-body.has-scroll{ overflow-y:auto; overflow-x:hidden; }
.admin-modal .personal-info-fields{ flex:1; min-width:0; }
.admin-field-pair{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.admin-user-photo-col{ display:flex; flex-direction:column; align-items:center; gap:10px; width:160px; flex-shrink:0; }
.admin-user-photo-col > .btn{ width:100%; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.admin-user-photo-zone{
  width:112px; height:112px; border-radius:14px; overflow:hidden; background:var(--ui-surface-2);
  display:flex; align-items:center; justify-content:center; border:1px solid var(--ui-border);
  align-self:center; flex-shrink:0;
}
.admin-user-photo-preview{ width:100%; height:100%; object-fit:cover; display:block; }
.admin-user-photo-placeholder{ color:var(--ui-muted-light); font-size:36px; }
.admin-user-photo-hint{ margin:0; font-size:var(--text-xs); color:var(--ui-muted); text-align:center; line-height:1.4; }
.admin-modal-hint{ margin:4px 0 0; font-size:var(--text-sm); color:var(--ui-muted); line-height:1.4; }
.admin-modal-error{ margin:6px 0 0; font-size:var(--text-sm); color:var(--ui-danger); }
.admin-modal-error[hidden]{ display:none; }
.admin-modal-note{ margin:0; font-size:var(--text-sm); color:var(--ui-muted); }
.admin-modal-note[hidden]{ display:none; }
.admin-modal-note a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.admin-modal-note a:hover{ color:var(--ui-accent); }
.admin-modal .prop-field[hidden]{ display:none; }

.admin-panel{ margin-top:8px; display:flex; align-items:flex-start; gap:24px; }
.admin-panel-full{ margin-top:0; align-items:stretch; gap:0; min-height:100%; }
.admin-panel-full > .admin-side-nav{
  padding:24px 16px; align-self:flex-start; position:sticky; top:0; z-index:2;
  border-right:none; max-height:100vh; overflow-y:auto; overscroll-behavior:contain;
  background:var(--md-color-grey-white);
}
.admin-panel-full > .admin-panel-panes{ display:flex; flex-direction:column; border-left:1px solid var(--ui-border); }
.admin-panel-full > .admin-panel-panes > .home-main{ align-self:stretch; margin-left:0; margin-right:0; }
.admin-panel-panes > .home-main > .home-section{ margin-top:0; }
.admin-side-nav{
  flex:0 0 210px; display:flex; flex-direction:column; gap:2px; align-self:stretch;
  border-right:1px solid var(--ui-border); padding:4px 16px 4px 0;
}
.admin-side-nav-btn{
  display:flex; align-items:center; gap:10px; width:100%; padding:9px 10px; border:0; border-radius:8px;
  background:none; cursor:pointer; text-align:left; font-family:var(--font-sans);
  font-size:var(--text-base); color:var(--ui-muted);
}
.admin-side-nav-btn[hidden]{ display:none; }
.admin-side-nav-btn:hover{ color:var(--ui-text); background:var(--ui-surface-2); }
.admin-side-nav-btn.active{ color:var(--ui-accent); background:#0040DE0F; font-weight:var(--font-weight-semibold); }
.admin-side-nav-icon{ width:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.admin-side-nav-icon .fa-solid{ display:none; }
.admin-side-nav-btn.active .admin-side-nav-icon .fa-regular{ display:none; }
.admin-side-nav-btn.active .admin-side-nav-icon .fa-solid{ display:inline-block; }
.admin-side-nav-divider{ height:1px; background:var(--ui-border); margin:8px 10px; }
.admin-side-nav-group-label{
  padding:4px 10px; font-size:var(--text-sm); font-weight:var(--font-weight-semibold);
  color:var(--ui-muted); text-transform:uppercase; letter-spacing:.04em;
}
.admin-side-nav-divider + .admin-side-nav-group-label{ margin-top:0; }
.admin-side-nav-header{
  padding:2px 10px 14px; font-size:var(--text-3xl);
  font-family:var(--font-display); font-weight:var(--font-weight-light);
  color:var(--ui-text);
}
.library-nav-spacer{ flex:1 1 auto; min-height:16px; }
a.admin-side-nav-btn{ text-decoration:none; }
.admin-panel-panes{ flex:1 1 auto; min-width:0; }
.admin-scroll-sentinel{ display:flex; align-items:center; justify-content:center; gap:10px; padding:18px 0; color:var(--ui-muted); font-size:var(--text-base); }
.admin-table .trash-row:not(.trash-row-header) .admin-col-edit .icon-btn{ opacity:0; transition:opacity .12s ease; }
.admin-table .trash-row:not(.trash-row-header):hover .admin-col-edit .icon-btn,
.admin-table .trash-row:not(.trash-row-header):focus-within .admin-col-edit .icon-btn{ opacity:1; }
.admin-panel-header{ border-bottom:1px solid var(--ui-border); }
.admin-panel-nav{ display:flex; gap:4px; }
.admin-panel-nav-btn{
  border:0; background:none; cursor:pointer; padding:8px 12px; font-family:var(--font-sans);
  font-size:var(--text-lg); color:var(--ui-muted); border-bottom:2px solid transparent;
  margin-bottom:-1px; border-radius:8px 8px 0 0;
}
.admin-panel-nav-btn:hover{ color:var(--ui-text); background:var(--ui-surface-2); }
.admin-panel-nav-btn.active{ color:var(--ui-text); font-weight:var(--font-weight-semibold); border-bottom-color:var(--ui-accent); }
.admin-tab-pane.hidden{ display:none; }
.admin-panel-panes .home-section-toolbar{ margin-top:8px; }

.admin-team-row{ grid-template-columns:minmax(130px, 1fr) 110px 68px; cursor:pointer; }
.admin-table .trash-row-header.admin-team-row{ cursor:default; }
.admin-role-row{ grid-template-columns:200px 1.6fr 110px 68px; cursor:pointer; }
.admin-table .trash-row-header.admin-role-row{ cursor:default; }
.admin-col-perms{ display:flex; flex-wrap:wrap; gap:4px; align-items:center; min-width:0; }
.admin-role-perms-more{ display:inline-flex; align-items:center; cursor:default; }
.admin-role-noperm{ font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); }
.admin-role-row .admin-col-name{ display:flex; flex-direction:row; align-items:baseline; gap:8px; min-width:0; }
.admin-role-row .admin-col-name > span{ flex-shrink:0; }
.admin-role-builtin{
  padding:1px 6px; border-radius:999px;
  background:var(--md-neutral-background-2-rest); color:var(--ui-muted);
  font-size:var(--text-md); font-weight:var(--font-weight-regular); text-transform:lowercase;
}
.admin-role-perms{ display:flex; flex-direction:column; gap:2px; }
.admin-role-perm{
  display:flex; align-items:flex-start; gap:10px; padding:8px; border-radius:8px; cursor:pointer;
}
.admin-role-perm:hover{ background:var(--md-neutral-background-2-rest); }
.admin-role-perm.is-readonly{ cursor:default; opacity:.7; }
.admin-role-perm.is-readonly:hover{ background:none; }
.admin-role-perm input{ margin:3px 0 0; accent-color:var(--ui-accent); flex-shrink:0; }
.admin-role-perm-text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.admin-role-perm-label{ font-size:var(--text-base); color:var(--ui-text); }
.admin-role-perm-desc{ font-size:var(--text-md); color:var(--ui-muted); }
.admin-category-row{ grid-template-columns:minmax(130px, 0.8fr) 1.6fr 88px 68px; cursor:pointer; }
.admin-table .trash-row-header.admin-category-row{ cursor:default; }
.admin-col-usage{
  font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color); text-align:right;
  font-variant-numeric:tabular-nums; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

.admin-usage-pills{ margin-bottom:16px; }
.admin-usage-section + .admin-usage-section{ margin-top:32px; }
.admin-usage-title{ margin-bottom:12px; font-size:var(--text-lg); }
.admin-usage-stats{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0, 1fr); gap:12px; margin-bottom:24px; }
.admin-usage-stats:empty{ display:none; }
.admin-usage-stat{
  display:flex; flex-direction:column; gap:4px; min-width:0;
  padding:16px; border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-surface);
}
.admin-usage-stat-label{ flex:1; font-size:var(--text-md); color:var(--ui-muted); }
.admin-usage-stat-value{ font-family:var(--font-sans); font-size:var(--text-6xl); font-weight:var(--font-weight-semibold); line-height:1.1; color:var(--ui-text); }
.admin-usage-stat-total{ margin-left:4px; font-size:var(--text-base); font-weight:var(--font-weight-regular); color:var(--ui-muted); }
.admin-usage-sort{ margin-left:auto; justify-content:flex-end; }
.admin-usage-section{ display:flex; flex-direction:column; }
.admin-usage-toolbar{ position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.admin-usage-toolbar:empty{ display:none; }
.admin-period-menu button.active{ color:var(--ui-accent); }
.admin-period-check{ margin-left:auto; padding-left:16px; color:var(--ui-accent); }
.admin-period-range{ font-family:var(--font-sans); font-size:var(--text-base); color:var(--ui-text); }
.admin-period-range i{ color:var(--ui-muted); }

.admin-cal{
  position:absolute; top:calc(100% + 8px); left:0; z-index:var(--z-dropdown);
  background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:16px;
  box-shadow:var(--shadow-popover); padding:16px 20px 14px; font-family:var(--font-sans);
  animation:admin-cal-in .16s ease-out;
}
@keyframes admin-cal-in{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
.admin-cal-nav{ position:absolute; top:12px; left:14px; right:14px; display:flex; justify-content:space-between; pointer-events:none; }
.admin-cal-arrow{
  pointer-events:auto; width:32px; height:32px; border:none; border-radius:8px; background:none;
  color:var(--ui-text-2); cursor:pointer; font-size:var(--text-sm);
}
.admin-cal-arrow:hover{ background:var(--ui-surface-2); color:var(--ui-text); }
.admin-cal-arrow:disabled{ opacity:.3; cursor:default; background:none; }
.admin-cal-months{ display:grid; grid-template-columns:repeat(2, 252px); gap:28px; }
.admin-cal-title{ height:32px; line-height:32px; margin-bottom:8px; text-align:center; font-size:var(--text-base); font-weight:var(--font-weight-semibold); color:var(--ui-text); }
.admin-cal-grid{ display:grid; grid-template-columns:repeat(7, 36px); row-gap:2px; }
.admin-cal-weekday{ height:28px; line-height:28px; text-align:center; font-size:var(--text-xs); color:var(--ui-muted); }
.admin-cal-day{
  height:36px; padding:0; border:none; background:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-family:inherit;
}
.admin-cal-day span{
  position:relative; width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:var(--text-md); color:var(--ui-text); transition:background-color .12s ease, color .12s ease;
}
.admin-cal-day:hover:not(:disabled) span{ background:var(--ui-surface-2); }
.admin-cal-day:disabled{ cursor:default; }
.admin-cal-day:disabled span{ color:var(--ui-muted-light); }
.admin-cal-day.is-today span::after{
  content:''; position:absolute; bottom:5px; left:50%; width:4px; height:4px; margin-left:-2px; border-radius:50%; background:var(--ui-accent);
}
.admin-cal-day.in-range{ background:var(--ui-accent-soft); }
.admin-cal-day.in-range span{ color:var(--ui-accent); }
.admin-cal-day.is-start:not(.is-end){ background:linear-gradient(to right, transparent 50%, var(--ui-accent-soft) 50%); }
.admin-cal-day.is-end:not(.is-start){ background:linear-gradient(to left, transparent 50%, var(--ui-accent-soft) 50%); }
.admin-cal-day.is-start span, .admin-cal-day.is-end span,
.admin-cal-day.is-start:hover span, .admin-cal-day.is-end:hover span{ background:var(--ui-accent); color:var(--md-color-grey-white); font-weight:var(--font-weight-semibold); }
.admin-cal-day.is-start.is-today span::after, .admin-cal-day.is-end.is-today span::after{ background:var(--md-color-grey-white); }
.admin-cal-day.is-preview.in-range, .admin-cal-day.is-preview.is-start, .admin-cal-day.is-preview.is-end{ opacity:.75; }
.admin-cal-foot{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:14px; padding-top:14px; border-top:1px solid var(--ui-border);
}
.admin-cal-summary{ font-size:var(--text-md); color:var(--ui-text-2); }
.admin-cal-actions{ display:flex; gap:8px; flex-shrink:0; }
@media (max-width:700px){
  .admin-cal-months{ grid-template-columns:252px; }
  .admin-cal-month:first-child{ display:none; }
  .admin-cal-foot{ flex-direction:column; align-items:stretch; }
}

.admin-skel{
  display:block; height:12px; border-radius:6px;
  background:linear-gradient(90deg, var(--ui-surface-2) 25%, var(--ui-border) 37%, var(--ui-surface-2) 63%);
  background-size:400% 100%; animation:admin-skel-shimmer 1.4s ease infinite;
}
@keyframes admin-skel-shimmer{ 0%{ background-position:100% 0; } 100%{ background-position:0 0; } }
.admin-usage-stat.is-skeleton{ gap:14px; }
.admin-skel-label{ width:60%; }
.admin-skel-value{ width:40%; height:28px; border-radius:8px; }
.admin-skel-table{ min-width:0; }
.admin-skel-row{ display:grid; grid-template-columns:1fr 96px 96px; align-items:center; gap:24px; height:48px; padding:0 12px; border-bottom:1px solid var(--ui-border); }
.admin-skel-row.is-head{ height:40px; }
.admin-skel-row.is-head .admin-skel{ height:10px; }
.admin-skel-num{ width:48px; justify-self:end; }

.admin-usage-pills-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.admin-usage-pills-row .admin-usage-pills{ margin-bottom:0; }
.admin-usage-pills-row .admin-usage-search{ margin-left:auto; }
.admin-usage-note{ margin:12px 0 0; font-size:var(--text-md); color:var(--ui-muted); }
.admin-usage-row{ grid-template-columns:minmax(160px, 1fr) 88px 110px; min-width:0; }
.admin-usage-row.has-category{ grid-template-columns:minmax(140px, 1.6fr) minmax(90px, 1fr) 72px 88px; }
.admin-usage-row.has-category.has-meeting{ grid-template-columns:minmax(140px, 1.4fr) minmax(90px, 1fr) minmax(110px, 1fr) 72px 80px; }
.admin-usage-row.num-3{ grid-template-columns:minmax(160px, 1fr) 88px 88px 110px; }
.admin-usage-row.num-4{ grid-template-columns:minmax(160px, 1fr) 80px 80px 96px 128px; }
.admin-usage-tag{ display:flex; align-items:center; min-width:0; overflow:hidden; }
.admin-usage-tag .tag{ flex-shrink:1; min-width:0; }
.admin-usage-name{
  display:flex; align-items:center; gap:8px; min-width:0;
  font-size:var(--ui-table-cell-size); color:var(--ui-table-cell-color);
}
.admin-usage-name > span:last-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-usage-row.is-family{ cursor:pointer; }
.admin-usage-chevron{
  width:14px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  font-size:var(--text-sm); color:var(--ui-muted); transition:transform .15s ease;
}
.admin-usage-chevron.is-open{ transform:rotate(90deg); }
.admin-usage-row.is-detail .admin-usage-name{ padding-left:22px; }
.admin-usage-variant-mark{ flex-shrink:0; font-size:var(--text-sm); color:var(--ui-muted); }

.admin-pane-head{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:4px 0 4px; }
.admin-pane-title{ margin:0 0 8px; font-size:var(--text-4xl); font-family:var(--font-display); font-weight:var(--font-weight-light); color:var(--ui-text); display:flex; align-items:center; gap:8px; }
.admin-pane-desc{ margin:0; font-size:var(--text-base); color:var(--ui-muted); line-height:1.5; }
.admin-pane-desc a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.admin-pane-desc a:hover{ color:var(--ui-accent); }
.admin-pane-cta{ margin-top:10px; margin-bottom:20px; }
.admin-pane-head.no-cta{ padding-bottom:24px; }
.admin-pane-divider{ height:1px; background:var(--ui-border); margin:0 0 24px; }
.admin-keywords{ display:flex; align-items:center; gap:4px; min-width:0; overflow:hidden; }
.admin-keywords .tag{ flex-shrink:0; }

.admin-team-modal-body .personal-info-fields{ display:flex; flex-direction:column; gap:24px; }
.admin-team-colors{ display:flex; flex-wrap:wrap; gap:8px; }
.admin-modal .prop-field > .admin-team-colors{ margin-bottom:10px; }
.admin-team-color{
  width:28px; height:28px; border-radius:50%; border:2px solid transparent; cursor:pointer;
  padding:0; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);
}
.admin-team-color.active{ border-color:var(--ui-accent); }
.admin-team-modal-body .share-modal-members{ margin-top:10px; }
.admin-team-member-dropdown{ z-index:var(--z-modal-menu); }
.admin-footer-spacer{ flex:1; }

@media (max-width: 767px){
  .admin-modal .admin-modal-body{ flex-direction:column; align-items:stretch; }
  .admin-user-photo-col{ width:100%; }
  .admin-section-title{ width:100%; font-size:var(--text-lg); }
  .admin-toolbar-right{ width:100%; gap:8px; }
  .admin-toolbar-right .home-decks-search{ order:0; flex:1 1 120px; width:auto; min-width:0; }
  #adminInviteBtn{ flex:0 0 auto; white-space:nowrap; }
  .home-section-toolbar > .home-decks-search{ width:100%; }
  .admin-col-phone, .admin-col-photo, .admin-col-job{ display:none; }
  .admin-user-row{ grid-template-columns:32px minmax(130px, 1.4fr) minmax(150px, 1.5fr) 100px 76px 128px 76px; min-width:700px; }
  .admin-team-row{ grid-template-columns:minmax(110px, 1fr) 80px 56px; min-width:320px; }
  .admin-role-row{ grid-template-columns:140px minmax(160px, 1fr) 80px 56px; min-width:460px; }
  .admin-category-row{ grid-template-columns:minmax(110px, 0.8fr) minmax(140px, 1.6fr) 72px 56px; min-width:440px; }
  .admin-usage-row{ grid-template-columns:minmax(140px, 1fr) 64px 88px; min-width:320px; }
  .admin-usage-row.num-3{ grid-template-columns:minmax(140px, 1fr) 64px 64px 80px; min-width:380px; }
  .admin-usage-row.num-4{ grid-template-columns:minmax(140px, 1fr) 64px 64px 80px 112px; min-width:500px; }
  .admin-usage-stats{ grid-auto-flow:row; grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .admin-usage-stat:first-child:nth-last-child(odd){ grid-column:span 2; }
  .admin-usage-row.has-category{ grid-template-columns:minmax(140px, 1fr) 120px 64px 88px; min-width:440px; }
  .admin-usage-row.has-category.has-meeting{ grid-template-columns:minmax(140px, 1fr) 120px 140px 64px 88px; min-width:580px; }
  .admin-pane-title{ font-size:var(--text-3xl); }
  .admin-panel{ flex-direction:column; gap:12px; }
  .admin-panel-full{ min-height:0; }
  .admin-panel-full > .admin-side-nav{ padding:12px 16px 4px; position:static; max-height:none; align-self:stretch; }
  .admin-panel-full > .admin-panel-panes{ border-left:none; }
  .admin-side-nav-group-label{ display:none; }
  .admin-side-nav-header{ display:none; }
  .library-nav-spacer{ display:none; }
  .admin-side-nav{ flex:0 0 auto; width:100%; flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid var(--ui-border); padding:0 0 4px; }
  .admin-side-nav-btn{ width:auto; white-space:nowrap; }
  .admin-side-nav-divider{ width:1px; height:auto; margin:4px 6px; }
  .admin-panel-panes{ width:100%; }
  .admin-panel-nav{ overflow-x:auto; }
  .admin-panel-nav-btn{ white-space:nowrap; }
  .admin-table .trash-row{ gap:8px; padding:8px 4px; }
  .admin-col-avatar .presence-avatar{ width:24px; height:24px; font-size:var(--text-sm); }
  .admin-role-dd-btn{ height:38px; font-size:16px; }
  .admin-modal, .admin-modal-narrow{ width:auto; max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .admin-modal .tpl-lib-grid-wrap{ overflow:auto; }
  .admin-field-pair{ grid-template-columns:1fr; }
  .admin-user-photo-col{ flex-direction:row; flex-wrap:wrap; justify-content:flex-start; }
  .admin-user-photo-hint{ text-align:left; flex:1 1 100%; }
}


.admin-role-perm-group{
  margin-top:14px; padding-top:12px; border-top:1px solid var(--ui-border);
  font-family:var(--font-display); font-size:var(--text-md); color:var(--ui-muted);
  text-transform:uppercase; letter-spacing:.04em;
}
.admin-role-perms > .admin-role-perm-group:first-child{ margin-top:0; padding-top:0; border-top:none; }

.admin-role-members-row{
  display:flex; align-items:center; gap:10px; width:100%;
  padding:8px; margin:0 0 4px; border:none; border-radius:8px;
  background:none; cursor:pointer; text-align:left; font-family:inherit; color:var(--ui-text);
  transition:background .12s;
}
.admin-role-members-row:hover{ background:var(--ui-surface-2); }
.admin-role-members-avatars{ display:flex; align-items:center; flex-shrink:0; }
.admin-role-members-avatars > *{ margin-left:-8px; box-shadow:0 0 0 2px var(--md-color-grey-white); }
.admin-role-members-avatars > *:first-child{ margin-left:0; }
.admin-role-members-label{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--text-base); }
.admin-role-members-caret{ flex-shrink:0; color:var(--ui-muted); font-size:var(--text-md); }
#adminRoleModalModal .admin-modal-body{ flex-direction:column; align-items:stretch; gap:0; }
.admin-role-members-list{ flex:1 1 auto; min-width:0; width:100%; }
.admin-role-members-list .share-modal-member-row{ padding:8px; }
.admin-role-members-list .share-modal-member-email{ flex:0 1 auto; }
.admin-role-member-team{ margin-left:auto; flex-shrink:0; display:flex; align-items:center; }
.admin-role-members-team{ margin-left:auto; flex-shrink:0; display:flex; align-items:center; }
.admin-role-members-row-static{ cursor:default; }
.admin-role-members-row-static:hover{ background:transparent; }
.admin-modal-back-btn{ margin-right:8px; flex-shrink:0; }
#adminRoleModalModal .tpl-lib-header{ justify-content:flex-start; }
#adminRoleModalModal .tpl-lib-header > span{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.admin-warn-icon{ color:var(--yellow-500); font-size:var(--text-base); flex-shrink:0; }
.admin-avatar-wrap{ position:relative; display:inline-flex; }
.admin-warn-on-avatar{
  position:absolute; top:-3px; right:-4px; font-size:var(--text-xs); line-height:1;
  background:var(--ui-surface); border-radius:50%; padding:1px;
}
.admin-side-nav-warn{ margin-left:auto; font-size:var(--text-sm); }

