:root{
  --ink:#082B55;--paper:#EDF1F5;--card:#FFFFFF;--muted:#506987;--line:#D4DFE9;
  --accent:#F5B63D;--accent-ink:#082B55;--sage:#3576A8;--danger:#A8402F;
  --sans:"Hanken Grotesk",system-ui,sans-serif;--serif:var(--sans);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:var(--sans);color:var(--ink);background:var(--paper)}
button,input,select{font:inherit}
a{color:inherit}
/* Mirrors app.css's dashboard-wide rule (and this file's own pre-existing
   .admin-body one) on every access.css page — login, onboarding, billing —
   so the text (I-beam) cursor only ever shows over an actual text field,
   not headings/labels/buttons. */
body,
body *:not(input):not(textarea):not(select):not(option):not([contenteditable="true"]):not([contenteditable="true"] *){
  -webkit-user-select:none;user-select:none;
}
input,textarea,select,option,[contenteditable="true"],[contenteditable="true"] *{
  -webkit-user-select:text;user-select:text;
}
/* cursor is inherited — set once at low specificity so it flows down to
   headings/labels/static text without out-specificing existing
   `cursor:pointer` component rules (e.g. .access-primary, .access-choice)
   the way folding it into the user-select selector above would. Checkboxes/
   radios/selects/buttons are click targets, not text carets, so only real
   text-entry fields get the explicit I-beam. */
html,body{cursor:default;}
input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="image"]),
textarea,[contenteditable="true"],[contenteditable="true"] *{
  cursor:text;
}
.access-brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;width:max-content;text-decoration:none;font-size:24px}
.access-brand>img{width:auto;height:28px;border-radius:0}
.access-brand span{display:flex;align-items:center;gap:7px;position:relative;top:2px;padding-left:12px;border-left:1.5px solid var(--line);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.access-brand span img{width:auto;height:16px}
.access-eyebrow{display:block;margin-bottom:12px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.access-card{width:min(560px,100%);background:var(--card);border-radius:24px;padding:42px;box-shadow:0 18px 55px rgba(37,33,29,.1)}
.access-card h1,.access-card h2{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0 0 12px}
.access-card h1{font-size:38px}.access-card h2{font-size:40px}
.access-sub{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 28px}
.access-step-count{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:16px}
.access-form,.admin-login-card{display:flex;flex-direction:column;gap:16px}
.admin-login-card[hidden]{display:none}
label{display:flex;flex-direction:column;gap:7px}
label>span{font-size:12px;font-weight:700;color:#5F574B}
label small{font-weight:500;color:#948A79}
input,select{width:100%;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(53,118,168,.16)}
.access-address-picker{position:relative}
.access-address-suggestions{position:absolute;z-index:20;top:calc(100% + 5px);left:0;right:0;overflow:hidden;border:1.5px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(8,43,85,.16)}
.access-address-suggestions[hidden]{display:none}
.access-address-suggestion{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 14px;text-align:left;font-size:13px;line-height:1.35;cursor:pointer}
.access-address-suggestion:last-child{border-bottom:0}
.access-address-suggestion:hover,.access-address-suggestion:focus{background:var(--paper);outline:none}
.code-input{text-transform:uppercase;letter-spacing:.12em;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.access-choice-group{display:flex;gap:10px}
.access-choice{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}
.access-choice.active{border-color:var(--sage);background:rgba(53,118,168,.08)}
.access-primary{min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;border:0;border-radius:11px;background:var(--ink);color:#fff;padding:0 20px;font-weight:700;cursor:pointer}
.access-primary:hover{background:#403A32}.access-primary:disabled{opacity:.6;cursor:wait}
.access-error{min-height:20px;color:var(--danger);font-size:13px;line-height:1.4}
.access-note{font-size:12px;color:var(--muted);margin:-8px 0 0}
.access-check{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.45}
.access-check input{margin-top:2px;flex:0 0 auto}
.access-back{display:inline-block;margin-top:24px;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}
.access-back:hover{color:var(--ink)}
.access-back-button{border:0;background:none;padding:0;cursor:pointer}
.login-invite-code-link{display:block;margin-top:18px;font-size:12px;font-weight:700;color:var(--text-muted);text-decoration:none}
.login-invite-code-link:hover{color:var(--accent)}

.access-random-background{position:fixed;inset:0;z-index:-2;display:block;background:var(--ink)}
.access-random-background img{width:100%;height:100%;display:block;object-fit:cover;animation:access-background-reveal .45s ease-out both}
.admin-body::before,.onboarding-body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,17,13,.38),rgba(20,17,13,.2)),linear-gradient(180deg,rgba(20,17,13,.12),rgba(20,17,13,.4));pointer-events:none}
@keyframes access-background-reveal{from{opacity:0;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}

.onboarding-body{background:transparent}

/* Onboarding splash shell — mirrors the login screen: full-bleed photo,
   small pinned logo, tagline copy, and an ivory card pinned to the right
   edge, so the two feel like the same app. On desktop the card is
   vertically centered, matching .login-screen--splash; on narrow screens
   it drops to the bottom like a sheet (see the media query below). */
.access-splash-shell{
  position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;
  min-height:100vh;min-height:100dvh;
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  padding:clamp(24px,4vw,64px);
}
.access-splash-brand{
  position:absolute;z-index:1;left:clamp(24px,3.15vw,66px);top:clamp(24px,5.5vh,56px);
  display:flex;align-items:center;gap:12px;
}
.access-splash-brand img{display:block;height:44px;width:auto;}
.access-splash-copy{
  /* Vertically centered to match .access-card's own flex centering
     (justify-content:center on .access-splash-shell) — both were
     previously centered independently (this at a fixed top:34%, the
     card via flex) and didn't line up. */
  position:absolute;z-index:1;left:clamp(24px,3.15vw,66px);top:50%;transform:translateY(-50%);
  width:min(46vw,620px);color:#fff;text-align:left;text-shadow:0 2px 22px rgba(0,0,0,.4);
}
.access-splash-copy .access-eyebrow{color:#fff;}
.access-splash-copy h1{font-family:var(--serif);font-size:clamp(34px,3.6vw,58px);font-weight:600;line-height:1.05;margin:0;max-width:600px;}
.access-splash-shell .access-card{
  position:relative;z-index:1;width:min(640px,45vw);margin:0;
  padding:38px 40px 34px;box-shadow:0 24px 72px rgba(4,20,40,.35);
}
.access-splash-shell .access-step-count{color:var(--sage);}

@media(max-width:820px){
  .access-splash-shell{
    justify-content:flex-end;
    padding:calc(18px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
  }
  .access-splash-brand{left:50%;top:calc(24px + env(safe-area-inset-top,0px));transform:translateX(-50%);}
  .access-splash-copy{position:static;transform:none;width:auto;max-width:440px;margin:64px auto 20px;text-align:center;}
  .access-splash-copy span{font-size:11px;margin-bottom:8px;}
  .access-splash-copy h1{font-size:clamp(24px,7vw,30px);line-height:1.12;max-width:100%;}
  .access-splash-shell .access-card{width:100%;max-width:440px;margin:0 auto;padding:26px 22px 22px;border-radius:18px;}
}

.admin-body{min-height:100vh}
.admin-body{-webkit-user-select:none;user-select:none;cursor:default}
.admin-body input,.admin-body textarea,.admin-body select{-webkit-user-select:text;user-select:text;cursor:text}
.admin-body #admin-panel-documentation code,.admin-body #admin-panel-documentation pre{-webkit-user-select:text;user-select:text;cursor:text}
.admin-body{background:transparent}.admin-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:transparent}
.admin-login-card{max-width:430px}.access-brand-dark{margin-bottom:18px}
.admin-shell{position:relative;width:min(1180px,calc(100% - 40px));margin:22px auto;padding:32px 30px 60px;border-radius:24px;background:rgba(242,236,224,.92);box-shadow:0 24px 72px rgba(20,17,13,.28);-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%)}
.admin-shell.admin-shell-wide{width:calc(100% - 40px)}
.admin-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid var(--line)}
.admin-header>div{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}
.admin-header button{border:0;background:none;color:var(--ink);font-weight:700;cursor:pointer}
.admin-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:48px 0 26px}
.admin-title-row h1{font-family:var(--serif);font-size:48px;line-height:1;margin:0 0 8px}
.admin-title-row p{color:var(--muted);margin:0}
.admin-new-button{width:auto;min-width:140px}
.admin-create{background:var(--card);border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 24px rgba(37,33,29,.06)}
.admin-create[hidden],.admin-code-reveal[hidden]{display:none}
.admin-create form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}
.admin-code-reveal{display:flex;align-items:center;gap:22px;padding:22px 24px;margin-bottom:18px;border-radius:18px;background:var(--ink);color:#fff}
.admin-code-reveal>div{flex:1}.admin-code-reveal p{font-size:12px;color:#BFB5A4;margin:4px 0 0}
.admin-code-reveal code{font-size:22px;letter-spacing:.1em;font-weight:800}
.admin-code-reveal .access-primary{background:var(--accent);color:var(--accent-ink)}
.admin-table-card{background:var(--card);border-radius:18px;box-shadow:0 8px 24px rgba(37,33,29,.06);overflow:hidden}
.admin-table-head{display:flex;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}
.admin-table-head span{color:var(--muted);font-size:13px}
.admin-code-row{display:grid;grid-template-columns:minmax(220px,2fr) 140px 120px 80px;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid #E9E2D5}
.admin-code-row:last-child{border-bottom:0}
.admin-code-main{display:flex;flex-direction:column;gap:3px}.admin-code-main code{color:var(--muted)}
.admin-code-row>div:not(.admin-code-main){display:flex;flex-direction:column;gap:3px}
.admin-code-row small{font-size:11px;color:var(--muted)}
.admin-status{width:max-content;border-radius:99px;padding:3px 9px;font-size:11px;font-weight:800}
.admin-status.active{background:#E3E9D9;color:#52613A}.admin-status.used{background:#E8E1D2;color:#695737}
.admin-status.revoked,.admin-status.expired{background:#F2DEDA;color:#97463D}
.admin-revoke{border:1px solid var(--line);border-radius:8px;background:none;padding:7px 9px;font-size:12px;font-weight:700;cursor:pointer}
.admin-revoke:disabled{opacity:.35;cursor:default}.admin-empty{padding:42px;text-align:center;color:var(--muted)}
.admin-code-row>.admin-code-actions{display:flex;flex-direction:row;gap:6px}
.admin-inbox-card{grid-column:1/-1;margin-bottom:18px}
.admin-inbox-list{display:grid;gap:10px;margin-top:16px}
.admin-inbox-item{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}
.admin-inbox-item[open]{box-shadow:0 8px 24px rgba(37,33,29,.08)}
.admin-inbox-item>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.admin-inbox-item>summary::-webkit-details-marker{display:none}
.admin-inbox-item>summary::after{content:"+";margin-left:auto;color:var(--muted);font-size:18px}
.admin-inbox-item[open]>summary::after{content:"−"}
.admin-inbox-dot{width:8px;height:8px;border-radius:50%;background:var(--sage);flex:0 0 auto}
.admin-inbox-item.seen .admin-inbox-dot{background:var(--line)}
.admin-inbox-summary-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.admin-inbox-summary-text b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-inbox-summary-text small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-inbox-body{padding:0 16px 18px;border-top:1px solid var(--line);display:grid;gap:16px}
.admin-inbox-message{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:13px;line-height:1.55;white-space:pre-wrap;max-height:260px;overflow:auto}
.admin-inbox-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-inbox-actions h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.admin-inbox-actions form{display:grid;gap:9px}
.admin-inbox-actions textarea{width:100%;min-height:90px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:12px 14px;outline:none;font:inherit;resize:vertical}
.admin-inbox-actions textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(53,118,168,.16)}
.admin-inbox-row{display:flex;gap:9px}.admin-inbox-row>*{flex:1}
.admin-inbox-dismiss{border:0;background:none;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;justify-self:start}
.admin-inbox-result{font-size:12px;color:var(--muted);min-height:0}
.admin-inbox-result.ok{color:#52613A}

.admin-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.admin-action-card{background:var(--card);border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(37,33,29,.06)}
.admin-action-card h2{font-family:var(--serif);font-size:28px;margin:0 0 7px}.admin-action-card>p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 20px}
.admin-action-form{display:grid;gap:12px}.admin-action-form .access-error{min-height:0}
.admin-health-card{grid-column:1/-1}.admin-health-card>.access-primary{width:auto}
.admin-health-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;align-items:start}
.admin-ai-card{grid-column:1/-1}.admin-ai-model{font-size:12px;color:var(--muted)}
.admin-ai-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:18px}
.admin-ai-summary>div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.admin-ai-summary b{font-size:23px}.admin-ai-summary span,.admin-ai-note{font-size:11px;color:var(--muted)}
.admin-ai-note{margin:11px 0 0}.admin-ai-days{display:flex;align-items:flex-end;gap:5px;height:46px;margin-top:12px}
.admin-ai-days>span{display:flex;align-items:flex-end;flex:1;height:100%;border-radius:4px;background:#edf1f5;overflow:hidden}
.admin-ai-days i{display:block;width:100%;height:var(--usage);background:var(--sage)}
.admin-health-row{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:10px;padding:11px;min-width:0}
.admin-health-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.admin-health-row b{overflow-wrap:anywhere}
.admin-health-row small{color:var(--muted);line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.admin-health-dot{width:9px;height:9px;border-radius:50%;background:#A9A094;margin-top:4px;flex:0 0 auto}.admin-health-row.ok .admin-health-dot{background:#69834B}.admin-health-row.attention .admin-health-dot{background:#D59A2D}.admin-health-row.error .admin-health-dot{background:#B95B4D}
.admin-health-updated{margin:10px 0 0;font-size:11px;color:var(--muted)}
.admin-copy-actions{display:flex;gap:8px}.admin-copy-actions .access-primary{white-space:nowrap}
.admin-tabs{display:flex;gap:7px;margin:0 0 18px;padding:5px;border-radius:13px;background:rgba(37,33,29,.08);width:max-content}.admin-tabs button{border:0;border-radius:9px;padding:10px 18px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.admin-tabs button.active{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(37,33,29,.1)}
#admin-panel-overview[hidden],#admin-panel-metrics[hidden],#admin-panel-diagnostics[hidden],#admin-panel-logs[hidden],#admin-panel-access[hidden],#admin-panel-documentation[hidden]{display:none}.admin-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}.admin-metrics-grid>.admin-health-card,.admin-github-card{grid-column:1/-1}.admin-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-card-heading .access-primary{width:auto}.admin-card-heading select{width:auto;flex:0 0 auto}.admin-health-results.single{grid-template-columns:repeat(2,1fr)}
.admin-demo-guidance ul{color:var(--muted);line-height:1.7}.admin-demo-list-card{margin-top:18px}.admin-demo-row{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.admin-demo-row>div:first-child{display:flex;flex-direction:column}.admin-demo-row span,.admin-demo-row code{color:var(--muted);font-size:12px}.admin-demo-row code{margin-top:4px}.admin-demo-stats{display:flex;flex-direction:column}.admin-demo-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-revoke.danger{color:#97463D;border-color:#D9B3AC}.admin-demo-secret{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--line);border-radius:10px}.admin-demo-secret[hidden]{display:none}.admin-demo-secret code{font-size:14px;color:var(--ink,inherit);user-select:all;word-break:break-all}
.admin-password-dialog{width:min(420px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.3)}.admin-password-dialog::backdrop{background:rgba(8,43,85,.48);backdrop-filter:blur(3px)}.admin-password-dialog form{display:grid;gap:16px;padding:24px}.admin-password-dialog h3{margin:0;font-family:var(--serif);font-size:26px}.admin-password-dialog form>div{display:flex;justify-content:flex-end;gap:8px}.admin-password-dialog .access-primary{width:auto}
.admin-diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-diagnostic-overview,.admin-recipe-card,.admin-user-profile,.admin-quality-card{grid-column:1/-1}.admin-diagnostic-counts,.admin-user-health{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:18px}.admin-diagnostic-count{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-diagnostic-count b{font-size:24px}.admin-diagnostic-count span{font-size:11px;color:var(--muted)}.admin-diagnostic-count.attention{border-color:#D59A2D}.admin-diagnostic-count.error{border-color:#C65A4C}.admin-diagnostic-search{display:flex;gap:8px}.admin-diagnostic-search input{flex:1}.admin-diagnostic-search .access-primary{width:auto}.admin-user-result{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px 0;border-bottom:1px solid var(--line)}.admin-user-result>span,.admin-profile-columns p{display:flex;flex-direction:column;min-width:0}.admin-user-result small,.admin-profile-columns small{color:var(--muted)}.admin-user-result code,.admin-profile-uuid{margin-top:5px;color:var(--muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.admin-user-result-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.admin-user-result-actions em{font-size:11px;color:var(--muted)}.admin-user-result-actions .access-primary{width:auto;padding:8px 12px}.admin-quality-row,.admin-recipe-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.admin-quality-row b,.admin-recipe-row>div{flex:1}.admin-quality-row strong{font-size:18px}.admin-quality-row.ok .admin-health-dot{background:#69834B}.admin-quality-row.attention .admin-health-dot{background:#D59A2D}.admin-recipe-row>div{display:flex;flex-direction:column;min-width:0}.admin-recipe-row small{color:var(--muted);overflow-wrap:anywhere}.admin-profile-columns{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-top:22px}.admin-profile-columns h3{font-size:13px;text-transform:uppercase;color:var(--muted)}.admin-timeline{display:grid}.admin-timeline>div{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.admin-timeline i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#69834B}.admin-timeline .error i{background:#C65A4C}.admin-timeline .warning i{background:#D59A2D}.admin-timeline span{display:flex;flex-direction:column}.admin-timeline small{color:var(--muted);font-size:11px}
.admin-log-card>p{color:var(--muted)}.admin-log-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr auto;gap:10px;align-items:end;margin:20px 0}.admin-log-filters .access-primary{width:auto}.admin-log-results{display:grid;gap:8px}.admin-log-entry{border:1px solid var(--line);border-left:4px solid #7C925D;border-radius:10px;background:#fff;overflow:hidden}.admin-log-entry.warning{border-left-color:#D59A2D}.admin-log-entry.error{border-left-color:#C65A4C}.admin-log-entry summary{display:grid;grid-template-columns:78px minmax(0,1fr) 50px;gap:12px;align-items:center;padding:13px 15px;cursor:pointer;list-style:none}.admin-log-entry summary::-webkit-details-marker{display:none}.admin-log-entry summary>div{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-log-entry summary b,.admin-log-entry summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-log-entry summary small{color:var(--muted);font-size:11px}.admin-log-severity{font-size:10px;font-weight:900;letter-spacing:.06em}.admin-log-status{text-align:right;font-weight:800}.admin-log-detail{display:flex;flex-wrap:wrap;gap:7px;padding:12px 15px;border-top:1px solid var(--line);background:var(--paper)}.admin-log-detail span{padding:5px 8px;border-radius:6px;background:#fff;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.admin-history{display:grid;gap:10px;margin-top:20px}.uptime-row{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:14px}.uptime-row>div:first-child{display:flex;flex-direction:column}.uptime-row small{color:var(--muted);font-size:11px}.uptime-strip{display:flex;align-items:center;gap:2px;height:20px;overflow:hidden}.uptime-strip i{display:block;flex:1;min-width:3px;max-width:9px;height:16px;border-radius:2px;background:#6F9855}.uptime-strip i.attention{background:#D59A2D}.uptime-strip i.error{background:#C65A4C}
.github-summary{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:14px}.github-summary b{color:var(--ink)}.github-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.github-columns h3{font-size:13px;margin:0 0 8px}.repo-files,.action-runs{height:320px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}.repo-files div{display:flex;gap:7px;padding:7px 9px;border-bottom:1px solid #EEE8DD;font:12px var(--sans)}.repo-files span{color:var(--sage)}.action-runs a{display:flex;align-items:flex-start;gap:9px;padding:10px;border-bottom:1px solid #EEE8DD;text-decoration:none}.action-runs a>i{width:9px;height:9px;border-radius:50%;margin-top:4px;background:#B4AA99}.action-runs a>i.success{background:#6F9855}.action-runs a>i.failure,.action-runs a>i.cancelled{background:#C65A4C}.action-runs a>span{display:flex;flex-direction:column}.action-runs small{color:var(--muted)}
.admin-docs{display:grid;gap:18px}.admin-doc-hero,.admin-doc-card{background:var(--card);border-radius:18px;padding:26px;box-shadow:0 8px 24px rgba(37,33,29,.06)}.admin-doc-hero{padding:34px}.admin-doc-hero h2{font-family:var(--serif);font-size:36px;line-height:1.05;margin:0 0 10px}.admin-doc-hero>p,.admin-doc-intro{max-width:820px;color:var(--muted);line-height:1.6;margin:0}.admin-doc-flow{display:flex;align-items:center;gap:12px;margin-top:24px;overflow:auto}.admin-doc-flow span{flex:1;min-width:170px;padding:13px 16px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:center;font-weight:800}.admin-doc-flow b{color:var(--accent)}.admin-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-doc-card h3{font-family:var(--serif);font-size:27px;line-height:1.15;margin:0 0 12px}.admin-doc-card ul,.admin-doc-card ol{display:grid;gap:9px;margin:0;padding-left:20px;color:var(--muted);line-height:1.5}.admin-doc-card li b{color:var(--ink)}.admin-doc-card code{font:600 12px var(--sans);color:#5D6746;background:#F0ECDF;border-radius:5px;padding:2px 5px}.admin-doc-wide{grid-column:1/-1}.admin-doc-table-wrap{overflow:auto}.admin-doc-table{width:100%;border-collapse:collapse;font-size:13px}.admin-doc-table th,.admin-doc-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-doc-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.admin-doc-table td:first-child{font-weight:800;white-space:nowrap}.admin-api-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-api-groups>div{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.admin-api-groups p{grid-column:1/-1;color:var(--muted);line-height:1.45;margin:0;font-size:13px}.admin-doc-map{display:grid;gap:9px;margin:0}.admin-doc-map>div{display:grid;grid-template-columns:120px 1fr;gap:10px}.admin-doc-map dt,.admin-doc-map dd{margin:0}.admin-doc-map dd{color:var(--muted);line-height:1.4}.admin-config-list{display:grid;grid-template-columns:minmax(270px,.65fr) 1fr;gap:0;margin-top:18px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-config-list>*{padding:11px 13px;border-bottom:1px solid var(--line)}.admin-config-list>*:nth-last-child(-n+2){border-bottom:0}.admin-config-list code{border-radius:0;background:#F0ECDF}.admin-config-list span{color:var(--muted);font-size:13px;line-height:1.4}
.admin-wiki{gap:20px}.admin-wiki .admin-doc-hero{background:linear-gradient(135deg,#fff,#F7F1E6);border:1px solid var(--line)}.wiki-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.wiki-facts span{padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#ffffffb8;color:var(--muted);font-size:13px}.wiki-facts b{color:var(--ink)}.admin-wiki-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.admin-wiki-toc{position:sticky;top:18px;display:grid;gap:2px;max-height:calc(100vh - 36px);overflow:auto;padding:17px;background:var(--card);border:1px solid var(--line);border-radius:15px}.admin-wiki-toc>b{padding:5px 9px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.admin-wiki-toc a{padding:7px 9px;border-radius:7px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.admin-wiki-toc a:hover{background:#F0E9DC;color:var(--ink)}.admin-wiki-content{min-width:0;display:grid;gap:18px}.wiki-section{scroll-margin-top:18px;padding:27px;background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 24px rgba(37,33,29,.05)}.wiki-section>h2,.wiki-section-heading h2{margin:4px 0 10px;font-family:var(--serif);font-size:30px;line-height:1.1}.wiki-section>h3{margin:28px 0 10px;font-family:var(--serif);font-size:22px}.wiki-section>p,.wiki-section>ul,.wiki-section>ol{color:var(--muted);line-height:1.65}.wiki-section code{font:600 12px var(--sans);color:#586344;background:#F0ECDF;border-radius:5px;padding:2px 5px}.wiki-section-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.wiki-section-heading .access-eyebrow{width:100%}.wiki-section-heading h2,.wiki-section-heading p{margin:0}.wiki-section-heading p{color:var(--muted);font-size:12px}.wiki-architecture{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-top:22px}.wiki-architecture>div{display:grid;gap:7px;align-self:stretch;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.wiki-architecture span{padding:8px;border-radius:7px;background:#F5F0E6;color:var(--muted);font-size:12px}.wiki-architecture i{color:var(--accent);font-size:22px;font-style:normal}.wiki-callout{display:grid;grid-template-columns:150px 1fr;gap:14px;margin-top:20px;padding:16px;border-left:4px solid #7C925D;border-radius:8px;background:#F0F3E9;color:var(--muted);line-height:1.5}.wiki-callout b{color:var(--ink)}.wiki-callout.warning{border-color:#CE6D48;background:#F8E9DF}.wiki-steps{display:grid;gap:0;padding:0!important;list-style:none;counter-reset:steps}.wiki-steps li{counter-increment:steps;display:grid;grid-template-columns:34px 150px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.wiki-steps li:before{content:counter(steps);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;font-size:12px}.wiki-steps b{color:var(--ink)}.wiki-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.wiki-card-grid article{padding:17px;border:1px solid var(--line);border-radius:11px;background:#fff}.wiki-card-grid h3{margin:0 0 7px;font-size:16px}.wiki-card-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.wiki-endpoints{display:grid;gap:8px}.wiki-endpoint{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.wiki-endpoint>summary{display:grid;grid-template-columns:62px minmax(190px,.65fr) 1fr auto;gap:12px;align-items:center;padding:13px 15px;cursor:pointer;list-style:none}.wiki-endpoint>summary::-webkit-details-marker{display:none}.wiki-endpoint>summary:after{content:"+";font-size:20px;color:var(--muted)}.wiki-endpoint[open]>summary:after{content:"−"}.wiki-endpoint>summary code{overflow-wrap:anywhere}.wiki-endpoint>summary>span:last-of-type{color:var(--muted);font-size:12px;line-height:1.4}.wiki-method{display:inline-grid;place-items:center;width:58px;padding:5px;border-radius:6px;background:#EAF1E1;color:#4D693A;font-size:10px;font-weight:900}.wiki-method.post{background:#E4EFF5;color:#36677E}.wiki-method.patch,.wiki-method.put{background:#FFF0D4;color:#8A6118}.wiki-method.delete{background:#F9E2DD;color:#9B432E}.wiki-endpoint-body{padding:0 16px 18px;border-top:1px solid var(--line)}.wiki-endpoint-body>p{color:var(--muted);line-height:1.55}.wiki-meta{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:11px 12px;border-radius:8px;background:#F5F0E6;font-size:12px}.wiki-endpoint-body h5{margin:18px 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.wiki-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wiki-section pre{margin:0;min-height:76px;max-height:300px;overflow:auto;padding:13px;border-radius:9px;background:#211E1A;color:#F7F1E8}.wiki-section pre code{padding:0;background:none;color:inherit;font:500 11px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.wiki-none,.wiki-errors,.wiki-note{font-size:12px}.wiki-erd{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.wiki-entity{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-top:4px solid #A7A08D;border-radius:10px;background:#fff}.wiki-entity.primary{border-top-color:#CE6D48}.wiki-entity.operations{border-top-color:#7C925D}.wiki-entity span{color:var(--muted);font-size:11px}.wiki-runbooks{display:grid;gap:8px;margin-top:18px}.wiki-runbooks details{border:1px solid var(--line);border-radius:10px;background:#fff}.wiki-runbooks summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer}.wiki-runbooks ol{margin:0;padding:0 22px 17px 52px;color:var(--muted);line-height:1.55}.wiki-runbooks li{margin:7px 0}.wiki-severity{display:inline-grid;place-items:center;min-width:35px;padding:4px 7px;border-radius:99px;background:#F4E4C5;color:#7F5A18;font-size:10px;font-weight:900}.wiki-severity.p1{background:#F5DCD5;color:#963C27}.wiki-severity.p3{background:#E8EEDC;color:#53683A}

.admin-header-status{display:flex;align-items:center;gap:10px}
.admin-env-badge{padding:3px 10px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff}
.admin-env-badge.staging{background:#F3E4C4;color:#79500F}
.admin-refresh-badge{font-size:11px;color:var(--muted);white-space:nowrap}
.admin-tabs-divider{width:1px;align-self:stretch;background:var(--line);margin:4px 2px}
.admin-alerts-card .admin-card-heading{margin-bottom:2px}
.admin-alerts-summary{margin:2px 0 0;font-size:12px;color:var(--muted)}
.admin-alert-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);border-left:4px solid #D59A2D;border-radius:10px;background:#fff;margin-top:10px}
.admin-alert-card.error{border-left-color:#C65A4C}
.admin-alert-card .admin-health-dot{background:#D59A2D}
.admin-alert-card.error .admin-health-dot{background:#C65A4C}
.admin-alert-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.admin-alert-body small{color:var(--muted)}
.admin-alert-actions{display:flex;gap:6px;flex:0 0 auto}
#admin-panel-overview{display:grid;gap:18px}
#admin-panel-overview>.admin-action-grid{margin-bottom:0}
.admin-housekeeping{margin-top:0}
.admin-housekeeping>h2{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}
.admin-housekeeping-panel{margin-bottom:10px}
.admin-housekeeping-panel .admin-inbox-body{padding-top:18px;display:block}
.admin-push-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.admin-push-section b{font-size:13px;color:var(--ink)}
.admin-push-section .admin-refresh-badge{display:block;margin:4px 0 8px;font-size:12px}

@media(max-width:820px){
  .access-card{padding:28px 22px;border-radius:18px}.access-card h2{font-size:32px}
  .access-grid{grid-template-columns:1fr}.admin-shell{width:min(100% - 24px,1180px);padding-top:20px}
  .admin-header-account span{display:none}.admin-refresh-badge{display:none}.admin-title-row{align-items:flex-start;flex-direction:column;padding:34px 0 22px}
  .admin-title-row h1{font-size:38px}.admin-create form{grid-template-columns:1fr}.admin-code-reveal{align-items:flex-start;flex-direction:column}
  .admin-code-row{grid-template-columns:1fr auto}.admin-code-row>div:nth-child(3){display:none}.admin-revoke{grid-column:2;grid-row:1/3}
  .admin-action-grid,.admin-metrics-grid,.admin-diagnostic-grid,.admin-doc-grid,.admin-api-groups,.admin-inbox-actions{grid-template-columns:1fr}.admin-demo-row{grid-template-columns:1fr}.admin-demo-actions{justify-content:flex-start}.admin-diagnostic-overview,.admin-recipe-card,.admin-user-profile{grid-column:auto}.admin-diagnostic-counts,.admin-user-health{grid-template-columns:1fr 1fr}.admin-user-result{align-items:flex-start;flex-direction:column}.admin-user-result-actions{width:100%;flex-wrap:wrap}.admin-user-result-actions em{margin-right:auto}.admin-profile-columns{grid-template-columns:1fr}.admin-log-filters{grid-template-columns:1fr 1fr}.admin-log-search{grid-column:1/-1}.admin-health-card,.admin-metrics-grid>.admin-health-card,.admin-github-card,.admin-ai-card{grid-column:auto}.admin-health-results,.admin-health-results.single{grid-template-columns:1fr}.admin-ai-summary{grid-template-columns:repeat(2,1fr)}.admin-copy-actions{flex-wrap:wrap}.uptime-row,.github-columns{grid-template-columns:1fr}.admin-card-heading{flex-direction:column}.admin-tabs{width:100%;overflow-x:auto}.admin-tabs button{flex:1;white-space:nowrap}.admin-doc-hero{padding:25px}.admin-doc-flow{align-items:stretch;flex-direction:column}.admin-doc-flow b{display:none}.admin-doc-wide{grid-column:auto}.admin-config-list{grid-template-columns:1fr}.admin-config-list>*{border-bottom:1px solid var(--line)!important}.admin-config-list>*:last-child{border-bottom:0!important}.admin-doc-map>div{grid-template-columns:1fr}.admin-doc-table td:first-child{white-space:normal}.admin-wiki-layout{grid-template-columns:1fr}.admin-wiki-toc{position:static;display:flex;max-height:none;overflow-x:auto}.admin-wiki-toc>b{display:none}.admin-wiki-toc a{white-space:nowrap}.wiki-architecture{grid-template-columns:1fr}.wiki-architecture i{transform:rotate(90deg);justify-self:center}.wiki-card-grid,.wiki-example-grid{grid-template-columns:1fr}.wiki-endpoint>summary{grid-template-columns:62px 1fr}.wiki-endpoint>summary>span:last-of-type{grid-column:1/-1}.wiki-endpoint>summary:after{grid-column:3;grid-row:1}.wiki-erd{grid-template-columns:1fr 1fr}.wiki-steps li{grid-template-columns:34px 1fr}.wiki-steps li span{grid-column:2}.wiki-callout{grid-template-columns:1fr}
}
@media(max-width:620px){.wiki-section{padding:20px}.wiki-erd{grid-template-columns:1fr}.wiki-endpoint>summary{grid-template-columns:58px minmax(0,1fr)}.wiki-endpoint>summary:after{display:none}.wiki-meta{grid-template-columns:1fr}.wiki-facts{display:grid;grid-template-columns:1fr 1fr}.admin-doc-hero h2{font-size:30px}}

/* Functional type and contrast floor for public access and Firehose pages. */
label small{color:var(--muted)}
.access-eyebrow,.access-step-count,label>span,.access-note,.login-invite-code-link,
.admin-code-row small,.admin-status,.admin-ai-summary span,.admin-ai-note,
.admin-health-updated,.admin-diagnostic-count span,.admin-user-result code,
.admin-profile-uuid,.admin-user-result-actions em,.admin-timeline small,
.admin-log-entry summary small,.admin-log-severity,.admin-log-detail span,
.uptime-row small,.admin-doc-table th,.wiki-endpoint-body h5,
.wiki-section pre code,.wiki-entity span,.wiki-method,.wiki-severity,
.admin-env-badge,.admin-refresh-badge{
  font-size:12px;line-height:1.4;
}

@media(max-width:820px){
  .access-eyebrow,.access-splash-copy .access-eyebrow,.access-step-count,label>span,label small,
  .access-note,.access-back,.access-error,.login-invite-code-link,
  .admin-code-row small,.admin-status,.admin-revoke,.admin-inbox-summary-text small,
  .admin-inbox-actions h4,.admin-inbox-dismiss,.admin-inbox-result,
  .admin-ai-model,.admin-ai-summary span,.admin-ai-note,.admin-health-row small,
  .admin-health-updated,.admin-demo-row span,.admin-demo-row code,
  .admin-diagnostic-count span,.admin-user-result code,.admin-profile-uuid,
  .admin-user-result-actions em,.admin-recipe-row small,.admin-timeline small,
  .admin-log-entry summary small,.admin-log-severity,.admin-log-detail span,
  .uptime-row small,.repo-files div,.action-runs small,.admin-doc-table th,
  .admin-wiki-toc>b,.admin-wiki-toc a,.wiki-section-heading p,
  .wiki-architecture span,.wiki-endpoint>summary>span:last-of-type,.wiki-method,
  .wiki-meta,.wiki-endpoint-body h5,.wiki-section pre code,.wiki-none,
  .wiki-errors,.wiki-note,.wiki-entity span,.wiki-severity,.admin-env-badge,
  .admin-refresh-badge,.admin-alerts-summary{
    font-size:14px;line-height:1.4;
  }
}
