/* Ekreon Studio Alpha 3 — dashboard, user directory and public authentication.
   Built on v5.4.0 alpha.2. Token-based, only Studio themes for authenticated pages.
   No network requests or external fonts/scripts. */

/* Dashboard: clean hierarchy with informative, permission-gated navigation. */
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .dashboard-heading {
  background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 7%,var(--surface)) 0%,var(--surface) 77%);
  border:1px solid var(--line);border-radius:18px;padding:28px 30px;margin-bottom:18px;align-items:center;
  box-shadow:var(--studio-shadow);
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .dashboard-heading h1 {font-size:clamp(24px,2.5vw,35px);line-height:1.14;letter-spacing:-.045em;margin:4px 0 8px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .dashboard-heading p {font-size:13px;max-width:570px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts {
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 16px;
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts>span {font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--muted);margin-right:7px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts a {
  display:inline-flex;align-items:center;gap:16px;text-decoration:none;font-weight:700;font-size:12px;
  padding:9px 12px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;
  box-shadow:var(--studio-shadow);transition:border-color .15s ease,transform .15s ease;
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts a:hover,
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts a:focus-visible {
  border-color:var(--accent);color:var(--accent);transform:translateY(-1px);
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts a span {color:var(--accent);font-size:14px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:2px 0 19px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-card {
  background:var(--surface);border-color:var(--line);box-shadow:var(--studio-shadow);
  min-height:148px;padding:19px 21px;border-radius:14px;gap:5px;
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-card>strong {font-size:clamp(26px,2.5vw,33px);margin:2px 0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-icon {width:38px;height:38px;border-radius:11px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-panel {min-width:0;border-radius:15px;box-shadow:var(--studio-shadow);padding:24px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-grid {gap:16px;margin:16px 0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .priority-ticket-row {border-radius:9px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .portal-section {border-radius:15px;box-shadow:var(--studio-shadow)}

/* People directory — replaces dense, uneven rows only in Studio themes. */
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-users-page .portal-heading {margin-bottom:24px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-workspace {
  background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--studio-shadow);
  padding:25px;min-width:0;
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-users-workspace-head {
  display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:21px;
}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-users-workspace-head h2 {font-size:22px;line-height:1.3;margin:4px 0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-users-workspace-head p {font-size:12px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-tally {display:flex;flex-direction:column;align-items:flex-end;gap:0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-tally strong {font-size:27px;line-height:1.1;font-weight:800;letter-spacing:-.05em;color:var(--text)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-tally span {font-size:11px;color:var(--muted)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:21px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats>div {display:flex;flex-direction:column;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:13px 16px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats strong {font-size:23px;font-weight:800;line-height:1.2;color:var(--text)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats span {font-size:11px;font-weight:650;color:var(--muted)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar {display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,205px) minmax(140px,180px);gap:12px;align-items:end;margin-bottom:19px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar>div {min-width:0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar label {font-size:11px;font-weight:750;color:var(--muted);display:block;margin-bottom:6px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar :is(input,select) {width:100%;max-width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 12px;min-height:42px;font:inherit;font-size:12px;color:var(--text)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar input:focus-visible,
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar select:focus-visible {outline:2px solid var(--accent);outline-offset:1px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table-scroll {overflow-x:auto;width:100%;border:1px solid var(--line);border-radius:11px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table {width:100%;min-width:720px;border:0;border-collapse:collapse;table-layout:auto;margin:0;background:var(--surface)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table th {padding:13px 15px;color:var(--muted);font-size:10px;letter-spacing:.09em;text-transform:uppercase;background:var(--surface-2);white-space:nowrap}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table td {padding:14px 15px;vertical-align:middle;border-top:1px solid var(--line);font-size:12px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table td>strong,
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table td>small {display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table td>strong {font-size:12px;font-weight:700;color:var(--text)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table td>small {font-size:11px;margin-top:3px;color:var(--muted)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell {display:flex;gap:10px;align-items:center;min-width:0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell .avatar {flex-shrink:0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell>div {min-width:0}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell strong,
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell small {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell strong {color:var(--text);font-size:12px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-cell small {color:var(--muted);margin-top:4px;font-size:11px}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-status {display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:750;white-space:nowrap}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-status i {display:block;width:7px;height:7px;border-radius:50%;background:var(--warning)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-status.is-verified i {background:var(--success)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-results {margin-top:14px;font-size:11px;color:var(--muted)}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-no-results {font-size:12px;color:var(--muted);padding:20px;text-align:center}
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table tr[hidden],
body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-no-results[hidden] {display:none!important}

/* Public authentication: Studio Light design intentionally consistent for all visitors.
   Password/MFA/session logic is untouched; scope styles to auth-studio pages only. */
body.auth-body.auth-studio {color-scheme:light;--bg:#f4f7fc;--surface:#fff;--surface-2:#f8fafd;--line:#dee6f0;--text:#1c2b41;--muted:#687992;--accent:#2366d7;
  background:radial-gradient(ellipse at 2% 2%,#e3edff 0%,transparent 40%),#f5f7fb;
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;min-height:100dvh;padding:32px 18px;
}
body.auth-body.auth-studio::before {display:none!important}
body.auth-studio .auth-shell {background:#fff;color:#1c2b41;border:1px solid #e2e9f3;border-radius:20px;padding:clamp(25px,3vw,38px);box-shadow:0 16px 55px rgba(22,53,96,.075);width:min(480px,100%)}
body.auth-studio .auth-shell.auth-shell-wide {width:min(660px,100%)}
body.auth-studio .auth-shell h1 {color:#17263b;font-size:clamp(29px,3.5vw,38px);letter-spacing:-.048em;margin:11px 0}
body.auth-studio .auth-shell .eyebrow {font-size:11px;font-weight:800;letter-spacing:.15em;color:#2366d7}
body.auth-studio .auth-shell .muted,body.auth-studio .auth-switch {color:#657790}
body.auth-studio .auth-shell .field label {color:#23364f;font-weight:730;display:block;font-size:12px;margin-bottom:6px}
body.auth-studio .auth-shell .field :is(input,select,textarea) {color:#17263b;background:#f9fbfe;border:1px solid #cfdbea;border-radius:10px;padding:12px 13px;font-size:14px;min-height:46px;width:100%}
body.auth-studio .auth-shell .field :is(input,select,textarea):focus {border-color:#256bd6;outline:2px solid #b8d4ff;outline-offset:1px}
body.auth-studio .auth-shell .field :is(input,select,textarea)::placeholder {color:#8494a9}
body.auth-studio .auth-shell .button {background:#1d5fd0;color:#fff;border-color:#1d5fd0;border-radius:10px;box-shadow:none;justify-content:center;font-weight:750;min-height:45px}
body.auth-studio .auth-shell .button:hover {background:#154eaa;border-color:#154eaa}
body.auth-studio .auth-shell :is(a,.text-link) {color:#155bbf}
body.auth-studio .auth-shell .auth-switch {font-size:13px}
body.auth-studio .auth-shell .auth-legal {color:#72849e}
body.auth-studio .auth-shell .notice {background:#f0f6ff;color:#203753;border:1px solid #c8dbf7;border-radius:10px;padding:13px}
body.auth-studio .auth-shell .notice.error {background:#fff0f1;color:#9c2940;border-color:#f2c7cc}
body.auth-studio .auth-shell .brand-logo-full {max-width:200px}
body.auth-studio-login {display:block;padding:clamp(15px,3vw,30px)}
body.auth-studio-login .auth-studio-layout {display:grid;grid-template-columns:minmax(320px,.97fr) minmax(380px,1fr);max-width:1120px;width:100%;margin:auto;min-height:calc(100dvh - 60px);
  background:#fff;overflow:hidden;border:1px solid #e3eaf3;border-radius:24px;box-shadow:0 20px 70px rgba(24,55,103,.10)}
body.auth-studio-login .auth-studio-intro {display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(34px,4vw,60px);color:#fff;
  background:radial-gradient(ellipse at 80% 0%,rgba(62,145,252,.35),transparent 42%),linear-gradient(150deg,#072951,#0c3e7d 55%,#102b54)}
body.auth-studio-login .auth-studio-intro .brand-image-link {display:inline-flex}
body.auth-studio-login .auth-studio-intro .brand-logo-full {width:200px;filter:brightness(0) invert(1)}
body.auth-studio-login .auth-studio-intro-main h2 {font-size:clamp(32px,3.65vw,49px);color:#fff;line-height:1.1;letter-spacing:-.055em;margin:16px 0}
body.auth-studio-login .auth-studio-intro-main>p {color:#d1e4ff;font-size:15px;line-height:1.8;max-width:350px}
body.auth-studio-login .auth-studio-kicker {font-size:10px;font-weight:800;letter-spacing:.2em;color:#97c8ff}
body.auth-studio-login .auth-studio-feature-list {display:grid;gap:12px;margin-top:27px;color:#e4f0ff;font-size:13px}
body.auth-studio-login .auth-studio-feature-list span {display:block}
body.auth-studio-login .auth-studio-intro-foot {font-size:10px;letter-spacing:.12em;color:#adc9ea}
body.auth-studio-login .auth-studio-login-card {border:0;border-radius:0;box-shadow:none;width:100%;max-width:none;margin:auto;padding:clamp(30px,5.6vw,82px);align-self:center}
body.auth-studio-login .auth-studio-login-card .auth-legal {margin-top:45px}
body.auth-studio-login .auth-studio-mobile-brand {display:none}
@media(max-width:1050px){
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar {grid-template-columns:minmax(180px,1fr) minmax(130px,160px) minmax(130px,160px)}
}
@media(max-width:860px){
 body.auth-studio-login .auth-studio-layout {grid-template-columns:1fr;max-width:550px;min-height:0}
 body.auth-studio-login .auth-studio-intro {display:none}
 body.auth-studio-login .auth-studio-login-card {padding:36px}
 body.auth-studio-login .auth-studio-mobile-brand {display:block;margin-bottom:30px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar {grid-template-columns:1fr 1fr}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-search {grid-column:1/-1}
}
@media(max-width:680px){
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .dashboard-heading {padding:21px 18px;align-items:flex-start}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard .analytics-stat-card {min-height:125px;padding:15px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts {gap:7px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts>span {width:100%}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-users-page .portal-heading {align-items:flex-start}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-workspace {padding:15px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats {gap:6px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats>div {padding:12px 9px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats strong {font-size:21px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-stats span {font-size:10px}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-toolbar {grid-template-columns:1fr}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-search {grid-column:auto}
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-user-table {min-width:620px}
 body.auth-studio-login {padding:15px}
 body.auth-studio-login .auth-studio-login-card {padding:27px 22px}
}
@media(prefers-reduced-motion:reduce){
 body:is(.theme-studio,.theme-studio-dark,.theme-studio-blue) .studio-dashboard-shortcuts a {transition:none}
}
