/* Quiet precision: a mineral/plum workspace. No fonts, images or runtime dependencies. */
:root{
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --surface-shadow:0 3px 12px #0c0c1410;
}
body{min-height:100dvh;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,.brand strong{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif}
h1,h2,h3{text-wrap:balance}
p{ text-wrap:pretty }
::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}
input[type=checkbox]{accent-color:var(--violet)}
input[readonly]{color:var(--muted);background:var(--panel-2)!important}
.icon{stroke-width:1.7}
.page{padding-top:40px;padding-bottom:64px}
.workspace-top{height:72px;background:var(--bg)}
.header-inner{padding:28px 17px 20px;gap:0}
.brand{gap:12px;margin-bottom:42px;padding-left:10px}
.brand strong{font-size:26px;letter-spacing:1px}
.brand small{letter-spacing:1.7px;font-size:9px;color:var(--muted)}
.brand img{width:43px;height:43px;border-radius:11px}
.nav-section{font-size:9px;letter-spacing:1.7px;margin-bottom:14px}
.nav{gap:7px}
.nav a{border:1px solid transparent;border-radius:9px;min-height:45px;font-size:13px;transition:transform .16s var(--ease-out)}
.nav a.active{background:var(--accent-soft);border-color:var(--border);box-shadow:none;color:var(--accent)}
.nav a.active .icon{stroke-width:2}
.active-mark{width:4px;height:16px;border-radius:2px;background:var(--accent)}
.nav-bottom{padding-top:40px}
.admin-link{font-size:12px;padding:17px 12px}
.identity{padding:9px 8px;border-radius:10px}
.identity:hover{background:var(--accent-soft);color:var(--text)}
.avatar,.top-avatar{background:var(--accent-soft);border-color:var(--border)}
.quick-find{background:var(--field);min-height:36px;min-width:210px}
.breadcrumb{font-size:12px}
.breadcrumb strong{font-weight:600}
.button,button.button{min-height:42px;border-radius:9px;transition:transform .16s var(--ease-out)}
.button.primary,.button.primary:hover{background:var(--violet);border-color:var(--violet);color:#21192d;box-shadow:none}
:root[data-theme="light"] .button.primary{color:#faf7fe}
.button.soft{border-color:var(--border);background:var(--accent-soft)}
.button:active:not(:disabled),.plain-button:active:not(:disabled){transform:translateY(1px)}
.button:disabled{opacity:.5}
.plain-button{transition:transform .16s var(--ease-out)}
.eyebrow{font-size:9px;letter-spacing:1.65px;font-weight:700}
.accent-dot{color:var(--accent)}
.page-heading{margin-bottom:32px;align-items:flex-end}
.page-heading h1,.calm-intro h1{font-size:clamp(29px,2.7vw,38px);letter-spacing:-1.35px;font-weight:650}
.page-heading p,.calm-intro p{line-height:1.8}
.calm-intro{padding:1px 0 30px}
.panel,.workspace-main,.sidebar,.bot-card{border-radius:14px;box-shadow:var(--surface-shadow)}
.panel-heading{padding-bottom:17px;margin-bottom:22px;border-bottom:1px solid var(--border)}
.panel-heading h2{font-size:17px}
.form-stack{gap:23px}
.field label,label,.field-label{font-size:12px;font-weight:600}
.field-help{font-size:12px;line-height:1.8}
.field{gap:9px}
input:not([type=checkbox]):not([type=file]),textarea,select{min-height:45px;border-radius:8px;font-size:13px;transition:none}
.check{font-size:12px;font-weight:400}
.notice{border-color:var(--border);background:var(--field);line-height:1.75}
.notice.neutral{color:var(--muted)}
.form-message:not(:empty){border-left:2px solid currentColor;padding:8px 12px;background:var(--field);border-radius:0 6px 6px 0}
.status{font-size:11px;padding:4px 9px;line-height:1.5;border-radius:6px;font-weight:600}
.status:before{width:5px;height:5px}
.status.needs_session,.status.needs_attention,.status.error,.status.unresponsive,.status.rejected{color:var(--red);border-color:currentColor;background:var(--field)}
.status.stopping{color:var(--amber)}
.primary-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.85fr);border-radius:15px;overflow:hidden;box-shadow:var(--surface-shadow)}
.primary-summary{padding:28px 30px}
.primary-identity{margin-bottom:17px;gap:14px}
.primary-title h2{font-size:24px;font-weight:650;letter-spacing:-.65px}
.primary-identity .eyebrow{letter-spacing:1.4px;font-size:9px;margin-bottom:7px}
.primary-logo{width:48px;height:48px;border-radius:12px}
.primary-note{font-size:13px;margin-bottom:25px;max-width:56ch}
.primary-facts{gap:16px;margin-bottom:26px}
.primary-facts span{font-size:9px;letter-spacing:.8px}
.primary-facts strong{font-size:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:500;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.primary-facts>div+div{padding-left:16px}
.primary-actions{gap:10px;flex-wrap:wrap}
.primary-actions .button{font-size:12px;min-height:40px}
.primary-connection{border-left:1px solid var(--border);background:var(--field);padding:30px 26px;display:flex;flex-direction:column;justify-content:center}
#primary-connection{padding:0;max-width:none}
.connection-caption{margin-bottom:26px}
.connection-caption>span{gap:9px}
.connection-caption strong{font-size:12px}
.connection-caption .icon{width:16px;height:16px}
.connection-steps{margin-bottom:20px}
.connection-detail{font-size:12px;line-height:1.8;text-align:left}
.step-active .step-node:after{animation:none;border-color:var(--accent);opacity:.2}
.step-active .step-node{background:var(--accent-soft)}
.status-pulse{background:var(--amber);width:6px;height:6px;box-shadow:none;animation:none}
.primary-loading{display:block;box-shadow:none}
.overview-compact{margin:25px 0;background:var(--panel);border-radius:12px}
.overview-compact .overview-card{padding:21px 23px}
.overview-compact .overview-card strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:25px;font-weight:500}
.overview-compact .overview-label{color:var(--muted)}
.workspace{gap:23px}
.workspace-heading{padding:25px 28px;background:var(--field)}
.workspace-heading h2{font-size:20px}
.workspace-body{padding:28px}
.workspace-body>.panel{padding:22px;background:var(--field)}
.sidebar-top{padding:23px 20px 18px}
.sidebar-top h2{font-size:16px}
.side-list{padding:0 10px 10px}
.side-bot{border:1px solid transparent}
.side-bot.selected{box-shadow:none;border-color:var(--border)}
.new-link{border-color:var(--border);margin:8px 20px 20px}
.session-option{border-radius:9px}
.session-option>summary{font-weight:600}
.session-option-body{padding:6px 17px 18px}
#facebook-fields{background:var(--field);padding:20px}
.welcome-strip{margin-top:28px;padding:27px 0}
.welcome-strip h2{font-size:19px}
.welcome-strip p{max-width:52ch;line-height:1.8}
.bot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bot-card{padding:26px}
.bot-card-head{margin-bottom:23px}
.bot-card dl{padding:15px 0;border-block:1px solid var(--border)}
.bot-card dl>div{margin:9px 0}
.bot-card:hover{border-color:var(--accent)}
.bot-avatar{background:var(--accent-soft);border-color:var(--border)}
.empty-state{background:var(--panel);border-radius:14px;min-height:310px}
.empty-state .bot-avatar{width:58px;height:58px;border-radius:16px}
.empty-state h2{font-size:22px}
.empty-state.small{min-height:210px}
.hero-banner{padding-top:0;padding-bottom:30px;margin-bottom:30px}
.hero-banner h1{font-size:clamp(29px,2.8vw,38px);letter-spacing:-1.3px}
.submission{background:var(--field);border-radius:10px;padding:20px}
.submission summary{text-underline-offset:4px}
.metric-grid{gap:0;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--panel)}
.metric{border:0;border-radius:0;background:transparent;padding:23px}
.metric+.metric{border-left:1px solid var(--border)}
.metric strong{font-size:29px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:500}
.metric .bot-avatar{background:transparent;border:0;color:var(--muted)}
.stats-summary{padding:13px 0 18px}
.catalog-tools{margin-top:29px;padding-bottom:20px}
.tab{min-height:36px}
.tab.active{color:var(--accent)}
.command-card{padding:20px;border-radius:10px;transition:none}
.command-card[open]{border-color:var(--accent)}
.command-card p{line-height:1.75}
.command-card .tag{font-size:10px;padding:2px 7px;background:var(--field)}
.auth-page{min-height:calc(100dvh - 72px);padding:40px;gap:45px;align-items:stretch}
.auth-story{align-self:stretch;border:1px solid var(--border);border-radius:18px;padding:40px 32px;background:var(--panel-2);display:flex;flex-direction:column;justify-content:center}
.auth-story h2{font-size:clamp(30px,3vw,43px);font-weight:600;letter-spacing:-1.6px}
.auth-story>p{font-size:13px;max-width:34ch}
.brand-art{margin:13px 0 27px}
.brand-art .hero-logo{width:92px;height:92px;border-radius:20px}
.auth-points{max-width:none;font-size:12px;line-height:1.7}
.auth-card{align-self:center;padding:34px;border-radius:16px;box-shadow:var(--surface-shadow)}
.auth-logo{width:38px;height:38px;margin-bottom:23px}
.auth-card h1{font-size:28px}
.auth-card .form-stack{gap:21px}
.auth-footer{line-height:1.8!important;font-size:12px!important}
.donate-heading{padding-top:0;padding-bottom:32px}
.donate-heading h1{font-size:clamp(30px,3vw,39px);letter-spacing:-1.3px}
.donate-card{min-height:300px;padding:27px}
.donate-card.coffee{background:var(--panel)}
.donate-card h2{font-size:21px}
.donate-card.coffee>.bot-avatar{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}
.profile-page{max-width:900px}
.profile-page .panel{max-width:650px;padding:32px}
.profile-page .rule{margin:5px 0 2px}
dialog{border-radius:16px;padding:30px;max-height:calc(100dvh - 40px);box-shadow:0 24px 90px #0c0c143b}
dialog::backdrop{background:#10121f91;backdrop-filter:none}
dialog h2{font-size:23px;letter-spacing:-.65px}
dialog p{line-height:1.8}
dialog label:not(.check){font-size:12px}
.dialog-close{width:36px;height:36px;border-radius:8px;top:15px;right:15px}
.dialog-close:hover{background:var(--panel-2);color:var(--text)}
#session-dialog{width:min(620px,calc(100% - 32px))}
#session-heading{padding-right:28px;margin-bottom:9px}
#session-bot-name{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:15px;overflow-wrap:anywhere}
#session-fields{padding-top:20px;border-top:1px solid var(--border);gap:20px}
#session-fields .check{font-weight:400;font-size:12px}
#session-json{min-height:160px}
#session-file{padding:12px;border:1px dashed var(--border);border-radius:8px;background:var(--field);font-size:12px;max-width:100%}
#session-file::file-selector-button{font:inherit;padding:7px 10px;margin-right:10px;border:1px solid var(--border);border-radius:5px;background:var(--panel-2);color:var(--text);cursor:pointer}
#session-http:not([hidden]){padding:10px 12px;border:1px solid currentColor;border-radius:8px;color:var(--amber)}
.quick-dialog-footer{font-size:11px}
#toast{border-color:var(--border);box-shadow:0 8px 30px #0c0c1420;font-size:13px}
.spinner{width:36px;height:13px;border:0;border-radius:4px;background:var(--panel-2);animation:none;position:relative;overflow:hidden}
.spinner:after{content:"";position:absolute;inset:0;background:var(--accent);opacity:.13}
.boot-mark:after,.boot-dots{display:none}
.boot-panel{min-height:55dvh}
.boot-panel>span:after{content:"";display:block;height:5px;width:160px;border-radius:4px;background:var(--panel-2);margin:20px auto 0}
.event-list li{line-height:1.7}
.event-list time{font-variant-numeric:tabular-nums}
.danger-zone{border-color:var(--border)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .nav a:hover{transform:translateX(2px)}
  .button:hover:not(:disabled){transform:translateY(-1px)}
  .button:active:not(:disabled){transform:translateY(0)}
}
@media(min-width:1500px){.page{padding-top:48px}.auth-page{max-width:1240px;padding-top:55px;padding-bottom:55px}}
@media(max-width:1250px){
  .primary-card{grid-template-columns:minmax(0,1fr) minmax(235px,.8fr)}
  .primary-summary{padding:25px}
  .primary-connection{padding:25px 22px}
  .primary-facts{gap:10px}
  .primary-facts>div+div{padding-left:11px}
  .auth-page{padding:30px;gap:24px}
  .auth-story{padding:30px 24px}
  .auth-card{padding:28px}
  .metric{padding:20px 16px}
}
@media(max-width:1020px){
  .workspace-top{height:64px}
  .topbar{transition:transform .2s var(--ease-out)}
  .nav-open .topbar{visibility:visible}
  .auth-page{min-height:calc(100dvh - 64px)}
}
@media(max-width:767px){
  .page{padding:27px 22px 45px}
  .workspace,.columns,.donate-page>.columns,.bot-grid,.catalog-grid,.auth-page,.welcome-grid{grid-template-columns:minmax(0,1fr)}
  .primary-card{grid-template-columns:minmax(0,1fr)}
  .primary-summary{padding:25px}
  .primary-connection{border-left:0;border-top:1px solid var(--border);padding:24px 25px}
  .primary-connection .connection-display{max-width:100%}
  .connection-caption{margin-bottom:22px}
  .connection-steps{margin-bottom:17px}
  .workspace{gap:24px}
  .workspace-body{padding:23px}
  .workspace-heading{padding:23px}
  .sidebar-top{padding:21px}
  .side-bot{flex-wrap:nowrap}
  .side-bot .status{margin:0}
  .overview-compact .overview-card{padding:18px}
  .page-heading{gap:18px;align-items:flex-start}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric{padding:21px}
  .metric:nth-child(3){border-left:0}
  .metric:nth-child(n+3){border-top:1px solid var(--border)}
  .auth-page{padding:25px 22px 40px;gap:22px}
  .auth-story{display:none}
  .auth-card{justify-self:center;max-width:470px;padding:30px}
  .auth-card .auth-logo{display:block}
  .profile-page .panel{max-width:none}
  .donate-heading{padding-right:100px}
  .donate-brand{display:block}
  .donate-logo{width:70px;height:70px;border-radius:16px}
  .server-costs-card{grid-template-columns:1fr}
  .server-cost-qr>a:first-child{width:min(100%,225px)}
  .event-list li{flex-direction:column;gap:3px}
}
@media(max-width:480px){
  .page{padding:24px 16px 38px}
  .workspace-top{padding-inline:16px;gap:12px}
  .top-left,.top-actions{gap:10px}
  .breadcrumb{gap:8px;font-size:11px}
  .quick-find{min-width:36px;min-height:36px;justify-content:center;padding:9px}
  .quick-find span,.quick-find kbd{display:none}
  .calm-intro h1,.page-heading h1{font-size:29px;letter-spacing:-1px}
  .calm-intro p,.page-heading p{font-size:13px}
  .primary-summary{padding:21px}
  .primary-title h2{font-size:21px}
  .primary-title{gap:8px}
  .primary-facts{gap:8px}
  .primary-facts span{font-size:8px;letter-spacing:.35px}
  .primary-facts strong{font-size:12px;letter-spacing:-.4px}
  .primary-facts>div+div{padding-left:9px}
  .primary-actions .button{flex:none;font-size:12px;padding:10px 12px}
  .primary-connection{padding:22px 21px}
  .overview-compact .overview-card{padding:16px 12px}
  .overview-compact .overview-card strong{font-size:24px}
  .overview-compact .overview-label{font-size:11px;min-height:32px}
  .workspace-heading,.workspace-body{padding:21px}
  .workspace-heading h2{font-size:19px}
  .form-row,.form-row.equal{grid-template-columns:minmax(0,1fr);gap:21px}
  .detail-actions .button{flex:1 1 calc(50% - 9px)}
  #facebook-reconnect{margin:0}
  .panel,.profile-page .panel,.bot-card,.donate-card{padding:23px}
  .panel-heading{gap:10px}
  .catalog-tools{align-items:stretch;gap:15px}
  .catalog-tools .search{width:100%}
  .metric{padding:19px 16px}
  .metric strong{font-size:27px}
  .metric .bot-avatar{width:25px}
  .live-label{font-size:10px}
  .auth-page{padding:24px 16px 36px}
  .auth-card{padding:26px 23px;border-radius:14px}
  .auth-card h1{font-size:27px}
  .auth-footer.muted{text-align:left}
  dialog{padding:25px 21px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}
  #session-dialog{width:calc(100% - 24px)}
  dialog h2{font-size:22px}
  .dialog-actions{flex-wrap:wrap}
  .dialog-actions .button{flex:1}
  .donate-heading{padding-right:0}
  .donate-brand{display:none}
  .welcome-strip .start-actions{width:100%}
  .welcome-strip .start-actions .button{flex:1}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Live Stats: groups / direct split under Total Chats */
.metric small.metric-detail{display:block;margin-top:3px;font-size:10.5px;color:var(--muted)}
