*{box-sizing:border-box}
html,body{margin:0;min-height:100dvh;min-width:0;max-width:100%;overflow-x:clip;overscroll-behavior-x:none;font-family:var(--awh-font-sans);font-size:14px;color:var(--ink);background:var(--paper)}
button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.app-shell{min-height:100dvh;min-width:0;max-width:100%;display:grid;grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:#fff;border-right:1px solid var(--stroke);padding:31px 18px 20px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100dvh}
.brand{display:flex;align-items:center;gap:13px;padding:0 14px 30px}.brandmark{height:40px;width:40px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:white;font-weight:850;font-size:25px;box-shadow:0 8px 18px #e67b2538}
.brand strong{font-size:18px;display:block;letter-spacing:-.5px}.brand small{font-size:8.5px;font-weight:780;letter-spacing:1.5px;color:var(--muted)}
.side-label,.eyebrow{font-size:11px;letter-spacing:.8px;color:#9a9fa9;font-weight:800}.side-label{padding:2px 14px 6px}.nav{display:grid;gap:7px}
.nav-link{min-height:46px;text-align:left;border:0;border-radius:12px;background:transparent;color:#596173;font-weight:690;padding:10px 14px;display:flex;align-items:center;gap:14px}
.nav-link:hover,.nav-link.selected{background:var(--accent-subtle);color:#bd621e}.nav-icon{font-size:19px;width:22px;text-align:center}
.sidebar-footer{margin-top:auto;background:#f8f9fb;padding:20px;border-radius:16px}.sidebar-foot-title{font-size:13px;font-weight:850}.sidebar-footer p{font-size:12px;line-height:1.75;color:var(--muted);margin:8px 0 15px}.sidebar-footer .small{margin:12px 0 0;font-size:11px}
.chat-link{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:11px;padding:12px 14px;font-weight:700}
.main-wrap{display:flex;flex-direction:column;min-width:0}.topbar{height:84px;padding:0 clamp(18px,4vw,60px);background:#fff;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:12px}
.topbar-chat-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;flex-shrink:0;padding:0 12px;border:1px solid var(--stroke);border-radius:12px;background:var(--accent-subtle);color:var(--accent);font-size:12px;font-weight:750;white-space:nowrap;text-decoration:none}.topbar-chat-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.top-title{display:grid;gap:3px}.top-title>span:last-child{font-size:17px;font-weight:850}.top-actions{display:flex;gap:9px;align-items:center}
.live-status{color:#586477;font-size:12px;font-weight:650;display:flex;gap:8px;align-items:center;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:#e6ac4f}.live-status.good .status-dot{background:#2caf78;box-shadow:0 0 0 4px #2caf7819}
.icon-btn,.light-btn{border:1px solid var(--stroke);border-radius:10px;background:#fff;color:var(--ink);padding:10px 12px;min-height:44px}.icon-btn{font-size:21px;line-height:1}.light-btn{font-size:12px;font-weight:750}
main{width:100%;max-width:1350px;margin:0 auto;padding:35px clamp(18px,4vw,60px) 50px;flex:1}
.page-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:24px}.page-heading h1{font-size:clamp(25px,3vw,36px);line-height:1.27;letter-spacing:-1.1px;margin:7px 0 9px}.page-heading p{color:var(--muted);margin:0;line-height:1.65}
.mini-tag{font-size:11px;color:#a45a19;background:#fff1e4;padding:9px 13px;border-radius:30px;font-weight:800;white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}
.metric{padding:22px 23px;background:white;border:1px solid var(--stroke);border-radius:17px;box-shadow:var(--shadow);min-width:0}
.metric .metric-icon{font-size:21px;display:inline-grid;place-items:center;background:#f7f8fa;width:37px;height:37px;border-radius:11px;margin-bottom:18px}
.metric strong{display:block;font-size:31px;line-height:1.1;font-weight:860;letter-spacing:-1px}.metric span:last-child{display:block;color:var(--muted);font-size:12px;margin-top:7px}
.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px}
.panel{border:1px solid var(--stroke);background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:23px;min-width:0}
.panel+.panel{margin-top:20px}.columns .panel+.panel{margin-top:0}
.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}.panel-head h2{font-size:15px;font-weight:850;margin:0}.panel-head span,.panel-head a{font-size:12px;color:#8c96a4}
.records{display:grid}.record{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #eff0f3;min-width:0}.record:first-child{border-top:0}.record-icon{background:#f6f7fa;width:37px;height:37px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;color:#667083;font-size:17px}.record-main{flex:1;min-width:0}.record-main strong{font-weight:750;font-size:13px;display:block;line-height:1.52;overflow-wrap:anywhere}.record-main small{color:#95a0ad;font-size:11px;margin-top:4px;display:block}.pill{border-radius:20px;background:#f4f5f8;color:#677282;padding:6px 9px;font-size:11px;font-weight:750;white-space:nowrap}.pill.success{background:#eaf8f0;color:#228656}.pill.warning{background:#fff4e4;color:#a56518}.pill.error{background:#ffeded;color:#c44b4b}
.muted,.empty,.error-note{color:var(--muted);font-size:12px;line-height:1.8}.empty{padding:25px 0}.error-note{color:#bd4949;background:#fff1f1;border-radius:10px;padding:10px 13px}
.quick-links{display:grid;gap:10px}.quick-link{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--stroke);padding:15px;border-radius:12px;font-size:13px;font-weight:750;background:#fff}.quick-link:hover{background:#fff7ef}
.section-gap{margin-top:20px}.filter-bar{display:flex;align-items:center;gap:8px;margin:0 0 17px;flex-wrap:wrap}.filter-button{border:1px solid var(--stroke);background:#fff;color:var(--ink);border-radius:20px;font-size:12px;padding:9px 14px;font-weight:700;min-height:44px}.filter-button.active{background:var(--ink);color:white;border-color:var(--ink)}
.search{border:1px solid var(--stroke);border-radius:12px;padding:12px 13px;min-width:0;max-width:100%;background:white;font-size:16px;transition:border-color var(--awh-motion-fast) var(--awh-ease),box-shadow var(--awh-motion-standard) var(--awh-ease)}
.btn{border:1px solid var(--stroke);padding:9px 12px;border-radius:10px;color:var(--ink);background:white;font-size:12px;font-weight:740;min-height:44px}.btn:hover{background:#fafafa}
.primary-btn{border:0;border-radius:11px;min-height:44px;background:var(--accent);color:white;font-weight:780;padding:12px 18px}.primary-btn:hover{background:#d46a18}.danger-btn{color:#b74444;border-color:#f2d3d3}.provider-actions{display:flex;flex-wrap:wrap;gap:6px}
.auth-card{max-width:470px;margin:6vh auto 0;background:white;border:1px solid var(--stroke);border-radius:24px;padding:40px;box-shadow:var(--shadow)}.auth-card h1{font-size:25px;margin:13px 0}.auth-card p{color:var(--muted);line-height:1.7}.mini-icon{font-size:31px;color:var(--accent)}
.auth-form,.modal-form{display:grid;gap:10px;margin-top:25px}.auth-form label,.modal-form label{font-weight:730;font-size:12px}.auth-form input:not([type=checkbox]),.modal-form input{width:100%;border:1px solid #e1e4ea;padding:12px;border-radius:10px;min-height:46px;font-size:16px}.remember{display:flex;gap:8px;align-items:center;margin:7px 0;font-weight:550!important}
.form-error{color:#c33a3a!important;min-height:18px;margin:4px 0!important}.loading-panel{min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted)}
.spinner{width:32px;height:32px;border:3px solid #e8eaf0;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px clamp(18px,4vw,60px);color:#a2aab6;font-size:11px}
body.panel-modal-open{position:fixed;width:100%;overflow:hidden}.modal-backdrop:not([hidden]){position:fixed;top:var(--panel-visual-viewport-top,0px);bottom:auto;left:0;right:0;height:var(--panel-visual-viewport-height,100dvh);z-index:100;background:#18202db5;display:grid;place-items:center;padding:18px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.modal{max-width:480px;width:100%;min-width:0;max-height:calc(var(--panel-visual-viewport-height,100dvh) - 36px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:white;border-radius:20px;padding:24px;box-shadow:0 22px 80px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:18px;margin:0}.modal-actions{display:flex;gap:8px;justify-content:end;flex-wrap:wrap;margin-top:14px}.toast:not([hidden]){position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:150;background:#283142;color:white;border-radius:14px;padding:13px 19px;font-weight:740;box-shadow:0 8px 28px #2224}
@media(max-width:1050px){.columns{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:208px}.app-shell{grid-template-columns:208px minmax(0,1fr)}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;border-bottom:1px solid var(--stroke);padding:12px 14px 9px;gap:0}.brand{padding:3px 2px 11px}.brandmark{height:31px;width:31px;border-radius:10px;font-size:19px}.brand strong{font-size:15px}.brand small{font-size:8px}.side-label,.sidebar-footer{display:none}.nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.nav-link{padding:10px 4px;min-height:44px;display:grid;justify-items:center;gap:3px;text-align:center;font-size:10px;border-radius:10px}.nav-icon{font-size:18px}.topbar{height:67px}.top-title .eyebrow{display:none}.top-title>span:last-child{font-size:14px}.top-actions{gap:5px}.top-actions .light-btn{font-size:11px;padding:8px}.live-status{font-size:10px}.page-heading{align-items:start}.page-heading h1{font-size:26px}.mini-tag{display:none}main{padding-top:22px}.metric-grid{gap:9px}.metric{padding:16px}.metric .metric-icon{margin-bottom:12px;width:30px;height:30px;font-size:16px}.metric strong{font-size:24px}.metric span:last-child{font-size:11px}.panel{padding:17px}.record{gap:9px}.record-icon{width:30px;height:30px}.pill{font-size:10px;padding:5px}.auth-card{margin:3vh auto;padding:26px}.footer{font-size:10px}}

@media(max-width:720px){.nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-link{font-size:9px;min-width:0;overflow-wrap:anywhere}}

/* AWH Command Center: one light-weight presentation layer, no new service or database */
:root{
  /* Scoped aliases matching the surviving central design/foundations.json contract. */
  color-scheme:light;
  --awh-font-sans:"Noto Sans Thai","Leelawadee UI",Tahoma,system-ui,sans-serif;
  --paper:var(--k-bg,#F5FAFF);--card:var(--k-surface,#FFFFFF);
  --stroke:var(--k-line,#DBE8F4);--ink:var(--k-text,#11325F);
  --muted:var(--k-muted,#657D99);--accent:var(--k-blue,#176DE5);
  --accent-subtle:var(--k-soft,#EAF5FF);
  --warm-accent:var(--k-orange,#FF7A00);
  --shadow:0 10px 30px rgba(20,61,117,.075);
  --awh-motion-fast:140ms;--awh-motion-standard:220ms;
  --awh-motion-navigation:300ms;--awh-ease:cubic-bezier(.2,.8,.2,1);
}
html{scroll-behavior:smooth}
body{background:var(--paper);font-size:14px;-webkit-font-smoothing:antialiased}
.app-shell{grid-template-columns:260px minmax(0,1fr)}
.sidebar{
  background:var(--card);
  border-right:1px solid var(--stroke);color:var(--ink);padding:31px 16px 22px;gap:20px;
}
.brand{border-bottom:1px solid var(--stroke);margin:0 6px;padding:2px 8px 29px;color:var(--ink)}
.brandmark{position:relative;background:var(--warm-accent);border-radius:15px;box-shadow:0 8px 20px rgba(255,122,0,.13);letter-spacing:-2px}
.brand-glint{position:absolute;font-size:11px;letter-spacing:0;right:6px;top:4px;color:#fff9dc}
.brand strong{font-size:21px;letter-spacing:-.8px}
.brand small{color:var(--muted);font-size:9px;letter-spacing:1.55px}
.side-label{color:var(--muted);padding:4px 18px 0;text-transform:uppercase;font-size:10px}
.nav{gap:6px}
.nav-link{color:var(--muted);border-radius:12px;padding:13px 16px;min-height:50px;font-weight:650;transition:background var(--awh-motion-fast) var(--awh-ease),color var(--awh-motion-fast) var(--awh-ease)}
.nav-link:hover{background:var(--accent-subtle);color:var(--ink);transform:none}
.nav-link.selected{background:var(--accent-subtle);color:var(--accent);border:1px solid var(--stroke)}
.nav-icon{font-size:20px;width:26px;font-weight:500}
.sidebar-footer{background:var(--accent-subtle);border:1px solid var(--stroke);padding:18px;border-radius:16px}
.sidebar-foot-title{color:var(--ink)}
.sidebar-footer p{color:var(--muted);font-size:12px}
.chat-link{background:var(--accent);color:#fff;font-weight:800;transition:background var(--awh-motion-fast) var(--awh-ease)}
.chat-link:hover{transform:none;background:var(--ink);box-shadow:none}
.topbar{height:80px;background:var(--card);border-bottom-color:var(--stroke);position:sticky;top:0;z-index:8}
.top-title .eyebrow{color:#8b97aa;font-weight:750;letter-spacing:1.1px;font-size:10px}
.top-title>span:last-child{font-size:17px;letter-spacing:-.4px}
.live-status{background:#f4f6f9;border:1px solid #e9edf1;padding:9px 13px;border-radius:999px;color:#627186}
.live-status.good{color:#23825b;background:#ebf8f2;border-color:#d8efe4}
.icon-btn,.light-btn{border-radius:12px;transition:background .2s,transform .2s}
.icon-btn:hover,.light-btn:hover{background:#f5f7fb;transform:translateY(-1px)}
main{max-width:1540px;padding-top:32px}
.page-heading{margin-top:1px;margin-bottom:22px}
.page-heading .eyebrow{color:#9aa5b5;font-size:10px;letter-spacing:1.2px}
.page-heading h1{letter-spacing:-.8px;font-size:clamp(25px,2.5vw,32px)}
.page-heading p{font-size:13px}
.mini-tag{background:#edf8f1;color:#27805b;border:1px solid #d9efe2}
/* Central tokens: compact command area instead of a decorative hero. */
.welcome{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;
  padding:26px 30px;margin-bottom:20px;min-height:174px;
  background:var(--accent-subtle);border:1px solid var(--stroke);
  border-radius:22px;box-shadow:none;color:var(--ink);
}
.welcome-copy{min-width:0;max-width:690px}
.welcome-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.7px}
.welcome-kicker-mark{background:var(--card);border-radius:9px;width:28px;height:28px;display:grid;place-items:center;color:var(--warm-accent);font-size:16px}
.welcome h1{font-size:clamp(23px,2.4vw,31px);letter-spacing:-.65px;line-height:1.3;margin:10px 0 7px;color:var(--ink)}
.welcome p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}
.welcome-actions{display:grid;gap:10px;min-width:215px}
.welcome-cta,.welcome-outline{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  min-height:46px;padding:12px 16px;border-radius:12px;
  font-size:12px;font-weight:800;
  transition:background var(--awh-motion-fast) var(--awh-ease),color var(--awh-motion-fast) var(--awh-ease)
}
.welcome-cta{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.welcome-cta:hover{background:var(--ink)}
.welcome-outline{border:1px solid var(--stroke);background:var(--card);color:var(--ink)}
.welcome-outline:hover{background:var(--paper)}
.metric-grid{gap:12px;margin-bottom:18px}
.metric{border:1px solid var(--stroke);border-radius:16px;padding:17px 19px;box-shadow:none;transition:border-color var(--awh-motion-fast) var(--awh-ease)}
.metric:hover{border-color:#C7DCEC}
.metric:hover{transform:none}
.metric .metric-icon{background:var(--accent-subtle);color:var(--accent);margin-bottom:12px;border-radius:10px;font-size:17px}
.metric strong{font-size:28px;font-variant-numeric:tabular-nums;font-weight:810;letter-spacing:-.8px}
.metric span:last-child{font-size:12px;color:#758499}
.panel{border-radius:18px;padding:22px;box-shadow:none}
.panel-head h2{font-size:15px;letter-spacing:-.2px}
.record{padding:15px 0}
.record-icon{background:var(--accent-subtle);color:var(--accent);border-radius:11px}
.record-main strong{color:#28364b}
.record-main small{color:#8190a3;line-height:1.65}
.pill{border-radius:9px;white-space:normal;text-align:center;line-height:1.4}
.quick-link{border-radius:12px}
.filter-button{transition:background .2s,color .2s}
.filter-button.active{background:#182c49;border-color:#182c49}
.auth-card{margin-top:clamp(20px,6vh,64px);background:var(--card);border:1px solid var(--stroke);border-radius:22px;box-shadow:var(--shadow);max-width:470px;padding:clamp(22px,5vw,36px)}
.auth-card h1{color:var(--ink);font-size:clamp(22px,4vw,28px);line-height:1.35}
.auth-card p{color:var(--muted)}
.auth-card .auth-form input:not([type=checkbox]){border-color:var(--stroke);border-radius:12px;background:var(--card);color:var(--ink)}
.auth-card .auth-form input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.session-issue .primary-btn{margin-top:12px;width:100%}
.loading-panel{min-height:min(46vh,360px);gap:12px;text-align:center}
.loading-panel p{color:var(--muted);font-weight:650}
.spinner{border-color:var(--stroke);border-top-color:var(--accent)}

.primary-btn{background:var(--accent)}
.primary-btn:hover{background:var(--ink)}
.footer{color:#94a0b0}
@media(max-width:1200px){.welcome{gap:18px;padding:24px}.welcome-actions{min-width:195px}}
@media(max-width:1050px){
  .app-shell{grid-template-columns:215px minmax(0,1fr)}
  .sidebar{width:215px}
  .welcome{grid-template-columns:1fr}.welcome-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
}
@media(max-width:720px){
  .app-shell{display:block;padding-bottom:76px}
  .sidebar{position:fixed;inset:auto 0 0 0;width:100%;height:auto;z-index:40;
    background:var(--card);
    padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    border-top:1px solid var(--stroke);border-bottom:0}
  .sidebar .brand,.sidebar .side-label,.sidebar .sidebar-footer{display:none}
  .nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  .nav .nav-school-link{display:none}
  .nav-link{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:48px;padding:5px 1px;
    font-size:11px;line-height:1.35;word-break:keep-all;color:var(--muted);border-radius:11px;border:1px solid transparent!important}
  .nav-link.selected{background:var(--accent-subtle);color:var(--accent)}
  .nav-link:hover{transform:none}
  .nav-icon{font-size:19px;width:auto}
  .topbar{height:64px;padding:0 18px}
  .top-title>span:last-child{font-size:15px}
  .top-actions{gap:7px}
  .live-status{padding:7px 9px;font-size:10px}
  main{padding:20px 16px 30px}
  .welcome{min-height:auto;display:grid;grid-template-columns:1fr;border-radius:18px;padding:20px;margin-bottom:18px;gap:19px}
  .welcome h1{font-size:24px;letter-spacing:-.5px;margin:9px 0 7px}
  .welcome p{font-size:12px;line-height:1.65}
  .welcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .welcome-cta,.welcome-outline{font-size:11px;padding:10px 12px;min-width:0;gap:5px}
  .page-heading h1{font-size:25px}
  .metric{padding:14px;border-radius:14px}
  .metric strong{font-size:25px}
  .metric span:last-child{font-size:11px}
  .panel{padding:18px}
  .record-main small{font-size:11px}
  .footer{padding:15px 16px 25px}
  .auth-card{padding:25px;margin-top:4vh}
  .toast:not([hidden]){bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100% - 24px);text-align:center}
}
@media(max-width:370px){
  .live-status{max-width:113px;overflow:hidden}
  .nav-link{font-size:10px}
  .record{flex-wrap:wrap}
  .record-main{flex-basis:calc(100% - 45px)}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Unified hosting entry and compact release state (same existing backend). */
.nav-link{border:1px solid transparent}
.nav-icon{display:inline-flex;align-items:center;justify-content:center}
.nav-svg{height:20px;width:20px;stroke-width:1.9;flex-shrink:0}
.nav-label{display:inline-block;min-width:0}
.nav-suffix{margin-left:3px}
.release-strip{display:flex;gap:13px;align-items:center;margin:0 0 18px;padding:13px 16px;border:1px solid var(--stroke);border-radius:14px;background:var(--card)}
.release-strip-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;color:#16855B;background:#EAF8F0;font-weight:800}
.release-strip.needs-review .release-strip-icon{color:#A9690D;background:#FFF5E5}
.release-strip>div{display:grid;gap:2px;min-width:0;flex:1}
.release-strip strong{font-weight:820;color:var(--ink);font-size:13px}
.release-strip small{font-size:12px;color:var(--muted);line-height:1.5}
.strip-action{border:1px solid var(--stroke);border-radius:10px;min-height:44px;padding:9px 13px;background:var(--paper);color:var(--accent);font-weight:800;font-size:12px}
.strip-action:hover{background:var(--accent-subtle)}
.list-context{margin:12px 1px 0;font-size:11px}
.hosting-feature{display:flex;align-items:center;gap:17px;background:var(--accent-subtle);border:1px solid var(--stroke);border-radius:20px;padding:24px;margin-bottom:27px}
.hosting-feature-icon{height:54px;width:54px;flex:0 0 54px;border-radius:15px;background:var(--accent);color:white;font-size:33px;display:grid;place-items:center}
.hosting-feature-copy{min-width:0;flex:1}
.hosting-feature-eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:4px}
.hosting-feature h2{font-size:21px;letter-spacing:-.35px;margin:0 0 6px;color:var(--ink)}
.hosting-feature p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}
.hosting-feature-link{min-height:46px;background:var(--accent);color:white;padding:12px 15px;border-radius:12px;font-size:12px;font-weight:800;display:flex;align-items:center;gap:18px;white-space:nowrap;justify-content:space-between;transition:background-color var(--awh-motion-standard) var(--awh-ease),transform var(--awh-motion-fast) var(--awh-ease)}
.hosting-feature-link:hover{background:var(--ink)}
.hosting-feature-link:active{transform:scale(.985)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.section-heading h2{font-size:17px;margin:0;font-weight:830;color:var(--ink)}
.section-heading span{font-size:12px;color:var(--muted)}
.project-list .filter-bar{margin-bottom:12px}
.project-list .panel-head{display:none}
.project-list .panel{padding-top:12px}
/* Keep project titles readable: action controls must not compress the name column. */
.project-record{display:grid;grid-template-columns:37px minmax(0,1fr);column-gap:13px;row-gap:10px;align-items:center}
.project-record .record-icon{grid-column:1;grid-row:1}
.project-record .record-main{grid-column:2;grid-row:1;min-width:0;width:100%;flex:none}
.project-record .record-main strong{overflow-wrap:break-word;word-break:normal}
.project-controls{grid-column:2;grid-row:2;min-width:0;display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:wrap}
@media(min-width:900px){.project-record{grid-template-columns:37px minmax(0,1fr) auto}.project-controls{grid-column:3;grid-row:1;justify-content:flex-end;max-width:400px}}
.project-controls .pill{max-width:100%;white-space:normal;text-align:center}
.project-update{min-height:44px;color:var(--accent);border-color:var(--stroke);transition:background-color var(--awh-motion-standard) var(--awh-ease),transform var(--awh-motion-fast) var(--awh-ease)}
.project-update:hover{background:var(--accent-subtle)}
.project-update:active:not(:disabled){transform:scale(.985)}
.project-update:disabled{opacity:.55;cursor:wait}
.project-update:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* Project is the container; each verified release track is a separate service. */
/* One consistent, truthful Source → Production → Deploy contract for every project. */
.project-standard{grid-column:2 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.project-standard>span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--stroke);border-radius:9px;padding:6px 9px;max-width:100%;overflow-wrap:anywhere}
.project-standard b{color:var(--ink);font-weight:750}
.project-service-list{grid-column:2 / -1;min-width:0;display:grid;gap:0;border:1px solid var(--stroke);border-radius:12px;background:var(--card);overflow:hidden}
.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;min-width:0}
.service-row+.service-row{border-top:1px solid var(--stroke)}
.service-copy{display:grid;gap:4px;min-width:0;flex:1}
.service-copy strong{color:var(--ink);font-size:13px;font-weight:750;overflow-wrap:break-word}
.service-copy small{font-size:11px;line-height:1.5;color:var(--muted);overflow-wrap:break-word}
.service-copy .service-track{font-size:10px;opacity:.9}
.service-copy .service-detail{font-size:11px;line-height:1.55;color:var(--muted);overflow-wrap:break-word;max-width:100%}

.service-open{display:inline-flex;align-items:center;min-height:44px;padding:9px 11px;border:1px solid var(--stroke);border-radius:10px;color:var(--accent);font-size:12px;font-weight:750;text-decoration:none}
.service-open:focus-visible,.project-update:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.service-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.service-note{font-size:12px;line-height:1.6;color:var(--muted);padding:12px 14px}
@media(max-width:900px){.service-row{align-items:flex-start;flex-direction:column}.service-controls{justify-content:flex-start}}
@media(max-width:720px){.project-standard{grid-column:1 / -1}.project-service-list{grid-column:1 / -1}.service-row{padding:12px}.service-controls{width:100%}}

@media(max-width:720px){.project-record{align-items:start}.project-controls{padding:0}.project-update{flex:0 1 auto;max-width:100%}}

button.quick-link{cursor:pointer;width:100%;text-align:left;color:var(--ink)}
@media(max-width:1050px){.nav-suffix{display:none}}
@media(max-width:720px){
 .nav-label{font-size:10px;line-height:1.2}
 .nav-svg{height:21px;width:21px}
 .hosting-feature{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:18px}
 .hosting-feature-icon{height:44px;width:44px;flex-basis:44px;font-size:28px;border-radius:12px}
 .hosting-feature-copy{flex-basis:calc(100% - 60px)}
 .hosting-feature h2{font-size:18px}
 .hosting-feature-link{width:100%;justify-content:center}
 .strip-action{min-height:44px}
 .release-strip{gap:9px;padding:11px 12px}
}
@media(max-width:370px){.topbar-chat-link{width:44px;padding-inline:0}.topbar-chat-link span:last-child{display:none}.live-status{flex-shrink:0;padding-inline:4px}.live-status #live-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .welcome-actions{grid-template-columns:1fr}
 .release-strip{flex-wrap:wrap}
 .strip-action{width:100%}
}
/* One-click actions use only the existing authenticated AWH release service. */
.suite-section{margin:0 0 18px}
.suite-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.suite-head h2{font-size:15px;font-weight:820;margin:0;color:#25364d}
.suite-head span{font-size:11px;color:#7c8b9f}
.suite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.suite-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border:1px solid var(--stroke);border-radius:15px;background:#fff;box-shadow:none;min-height:88px}
.suite-card h3{margin:6px 0 5px;font-size:16px;letter-spacing:-.3px}
.suite-card p{margin:0;color:#7c8ba0;font-size:12px}
.suite-eyebrow{color:#d17e48;font-size:10px;font-weight:780}
.suite-button{border:0;background:var(--accent);color:white;padding:11px 14px;border-radius:11px;font-weight:750;min-height:44px;white-space:normal;transition:background .2s}
.suite-button:hover{background:var(--ink)}
.suite-button:disabled{opacity:.5}
.suite-muted{background:#f3f6fa;color:#74859b;padding:9px 12px;border-radius:9px;font-size:11px;line-height:1.5}
@media(max-width:1220px){.suite-card{align-items:flex-start;flex-direction:column}.suite-button{width:100%}}
@media(max-width:720px){.suite-grid{grid-template-columns:1fr}.suite-card{padding:18px;min-height:auto}.suite-button{min-height:44px}.suite-head span{max-width:130px;text-align:right}}

/* Honor the standard hidden state even on elements with explicit display styles. */
[hidden]{display:none!important}
/* Only signed-in Owners should see the command navigation. */
.app-shell.guest{grid-template-columns:1fr}
.app-shell.guest .sidebar{display:none}
@media(max-width:720px){
  .app-shell.guest{padding-bottom:0}
  .topbar{height:auto;min-height:58px;padding-inline:14px;gap:6px}
  .top-title{display:none}
  .top-actions{width:100%;justify-content:space-between;gap:5px}
  .topbar-chat-link{padding-inline:10px}
  .top-actions .light-btn{font-size:10px;padding:7px 8px}
  .top-actions .icon-btn{padding:8px 9px}
  .live-status{padding:6px 9px}
}

/* Task status is reported evidence, not an inferred release percentage. */
.task-record{align-items:flex-start}
.task-record .record-icon{margin-top:2px}
.task-detail,.task-result{display:block;font-size:11px;line-height:1.65;margin-top:5px;overflow-wrap:anywhere}
.task-detail{color:var(--muted)}
.task-result{color:var(--ink)}
.task-record>.pill{flex:0 0 auto;max-width:152px}
@media(max-width:720px){
  .task-record{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;column-gap:10px;row-gap:6px}
  .task-record .record-icon{grid-column:1;grid-row:1}
  .task-record .record-main{grid-column:2;grid-row:1;flex-basis:auto}
  .task-record>.pill{grid-column:2;grid-row:2;justify-self:start;max-width:100%}
}
