/* BLACK MOON | DEV HUB — mobile/PWA shell */
html,body{min-height:100%;overscroll-behavior-y:none}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}

.pwa-install-tip{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:140;width:min(92vw,520px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #4b3d2e;border-radius:16px;background:rgba(18,16,13,.97);box-shadow:0 18px 70px rgba(0,0,0,.55);backdrop-filter:blur(18px)}
.pwa-install-tip strong{display:block;font-size:15px}.pwa-install-tip small{display:block;color:#aaa299;font-size:13px;margin-top:2px}.pwa-install-actions{display:flex;gap:7px;flex:0 0 auto}.pwa-install-tip button{border:1px solid #5a4936;background:#1b1712;color:#f4f0e8;border-radius:10px;padding:9px 11px;font:inherit;font-weight:700}.pwa-install-tip button.secondary{background:transparent;color:#a9a39b}

.bg-agent-chip{appearance:none;border:1px solid #34302a;background:#11100e;color:#bcb7ae;border-radius:999px;padding:8px 11px;font:700 11px/1.1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.06em;cursor:pointer;white-space:nowrap}.bg-agent-chip.online{color:#8be9bd;border-color:#1e6047;background:#0b2119}.bg-agent-chip.working{color:#9bc8ff;border-color:#315d8a;background:#0b1724}.bg-agent-chip.warn{color:#ffd978;border-color:#6c5119;background:#261a05}.bg-agent-chip.offline{color:#ff9ca9;border-color:#743244;background:#281016}
.mobile-more-nav,.mobile-more-overlay{display:none}

@media(max-width:760px){
  body{font-size:16px;padding-top:env(safe-area-inset-top);padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .app{display:block;min-height:100dvh}
  .sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:120;border-right:0;border-top:1px solid var(--line);border-bottom:0;background:rgba(8,8,7,.96);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));backdrop-filter:blur(22px)}
  .sidebar .brand,.sidebar .side-foot{display:none}
  .nav{padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}
  .nav button{flex:0 0 auto;min-width:78px;padding:8px 9px;border-radius:11px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;line-height:1.15;white-space:nowrap}.nav button span{margin:0;font-size:16px}
  .main{padding:12px 12px 26px;max-width:none}
  .topbar{position:sticky;top:0;z-index:80;margin:0 -12px;padding:11px 12px 12px;background:rgba(8,8,7,.94);backdrop-filter:blur(18px);align-items:center}.topbrand b{font-size:14px}.topbrand .muted{display:none}.topbar .status{display:none}
  .bg-agent-chip{font-size:10px;padding:8px 10px;max-width:48vw;overflow:hidden;text-overflow:ellipsis}
  .hero{padding:24px 0 18px}.hero h1{font-size:clamp(34px,11vw,52px)}.hero p{font-size:16px}.hero-actions{gap:8px}.hero-actions .btn{flex:1 1 145px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0 16px}.kpi{padding:14px}.kpi b{font-size:24px}.kpi span{font-size:10px}
  .section-title{align-items:flex-start;flex-direction:column;margin:20px 0 12px}.section-title h2{font-size:23px}.section-title p{font-size:15px}
  .grid,.subgrid,.agent-grid,.form{grid-template-columns:1fr}.form input{grid-column:auto}
  .card,.subcard,.agent{padding:15px;border-radius:14px}.card h3{font-size:21px}.desc,.subcard p,.muted{font-size:15px}.badge,.pill,.slug{font-size:11px}.links .btn,.btn{font-size:14px;padding:10px 12px}
  .table{min-width:720px}.table td{font-size:14px}.table th{font-size:11px}
  .workspace-section{margin-top:8px}.workspace-shell{height:calc(100dvh - 156px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:520px;border-radius:14px}
  .workspace-tabs,.workspace-subtabs{padding:0 8px}.workspace-tabs{min-height:52px}.workspace-subtabs{min-height:46px}.workspace-tab{font-size:14px;padding:15px 13px}.workspace-subtab{font-size:13px;padding:8px 10px}
  .workspace-chat{height:calc(100% - 98px)}.workspace-chat-head{padding:12px 13px;gap:8px}.workspace-chat-title h3{font-size:17px}.workspace-chat-title small{font-size:12px}.workspace-runtime{font-size:10px;max-width:47vw;overflow:hidden;text-overflow:ellipsis}
  .workspace-messages,.workspace-messages.has-messages{padding:18px 12px}.workspace-empty h2{font-size:25px}.workspace-empty p{font-size:15px}
  .workspace-thread{width:100%;gap:15px}.workspace-message{max-width:96%}.workspace-message .who{font-size:11px}.workspace-message .bubble{font-size:17px!important;line-height:1.65!important;padding:12px 13px}
  .workspace-composer-wrap{padding:0 10px 10px}.workspace-composer{width:100%;padding:8px;border-radius:15px}.workspace-composer textarea{font-size:17px;line-height:1.45;min-height:44px;padding:9px 7px}.workspace-footnote{font-size:11px;margin-top:6px}.workspace-send,.workspace-attach{min-width:42px;min-height:42px}
  .modal{padding:12px}.modal-box{padding:16px;border-radius:16px;max-height:92dvh}.modal-box input,.modal-box select,.modal-box textarea{font-size:17px}
  .toast{left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom));font-size:15px}
}

@media(max-width:420px){
  .kpis{grid-template-columns:1fr 1fr}.kpi span{letter-spacing:.06em}.workspace-runtime{display:none}.workspace-chat-title{max-width:100%}.workspace-message{max-width:100%}
}

@media(display-mode:standalone){
  body{user-select:none;-webkit-user-select:none}.workspace-message .bubble,.workspace-composer textarea,input,textarea{user-select:text;-webkit-user-select:text}
  .pwa-install-tip{display:none!important}
}

/* Installed iPhone app — compact native-like shell */
@media(display-mode:standalone) and (max-width:760px){
  html,body{width:100%;height:100%;overflow:hidden;background:#080807}
  body.pwa-mobile-app{height:var(--devhub-app-height,100dvh);padding-top:env(safe-area-inset-top);padding-bottom:0}
  body.pwa-mobile-app .app{height:100%;min-height:0;overflow:hidden}
  body.pwa-mobile-app .main{height:100%;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:0 10px calc(76px + env(safe-area-inset-bottom));scroll-padding-top:62px}
  body.pwa-mobile-app .topbar{position:sticky;top:0;z-index:90;min-height:54px;margin:0 -10px;padding:9px 12px;border-bottom:1px solid rgba(72,65,56,.48);background:rgba(8,8,7,.91);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15)}
  body.pwa-mobile-app .topbrand b{font-size:13px;letter-spacing:.01em}body.pwa-mobile-app .bg-agent-chip{font-size:9px;max-width:49vw;padding:7px 9px;letter-spacing:.04em}

  body.pwa-mobile-app .hero{padding:18px 2px 14px}body.pwa-mobile-app .hero .eyebrow{font-size:10px}body.pwa-mobile-app .hero h1{font-size:36px;line-height:1.01;margin:10px 0 12px;letter-spacing:-.048em}body.pwa-mobile-app .hero p{font-size:15px;line-height:1.55;margin:0 0 14px;color:#a7a198}
  body.pwa-mobile-app .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}body.pwa-mobile-app .hero-actions .btn{width:100%;min-height:50px;padding:11px 9px;font-size:14px;border-radius:13px}body.pwa-mobile-app .hero-actions .btn:last-child:nth-child(odd){grid-column:1/-1}
  body.pwa-mobile-app .kpis{margin:2px 0 14px;border-radius:16px;background:#0c0c0b}body.pwa-mobile-app .kpi{padding:14px 13px}body.pwa-mobile-app .kpi b{font-size:25px}body.pwa-mobile-app .kpi span{font-size:9px;line-height:1.3}
  body.pwa-mobile-app .section-title{margin:17px 2px 10px}body.pwa-mobile-app .section-title h2{font-size:22px}body.pwa-mobile-app .section-title p{font-size:14px;line-height:1.4}
  body.pwa-mobile-app .card,body.pwa-mobile-app .subcard,body.pwa-mobile-app .agent{box-shadow:none;background:linear-gradient(180deg,rgba(20,18,15,.96),rgba(11,11,10,.98));border-radius:17px}

  body.pwa-mobile-app .sidebar{height:calc(64px + env(safe-area-inset-bottom));padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top-color:rgba(73,66,57,.7);background:rgba(8,8,7,.94);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);transition:transform .18s ease}
  body.pwa-mobile-app .nav{height:54px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;overflow:visible}
  body.pwa-mobile-app .nav button{min-width:0;width:auto;height:52px;padding:5px 2px;border-radius:12px;justify-content:center;gap:2px;font-size:9px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;color:#8e8981}
  body.pwa-mobile-app .nav button span{font-size:16px;line-height:1}body.pwa-mobile-app .nav button.active{color:#f7f3ec;background:#181510;box-shadow:inset 0 0 0 1px #2f2922}body.pwa-mobile-app .nav button.mobile-overflow-nav{display:none!important}body.pwa-mobile-app .mobile-more-nav{display:flex!important}

  body.pwa-mobile-app .mobile-more-overlay{display:block;position:fixed;inset:0;z-index:160;background:rgba(0,0,0,.46);opacity:0;pointer-events:none;transition:opacity .18s ease}body.pwa-mobile-app .mobile-more-overlay[hidden]{display:none}body.pwa-mobile-app .mobile-more-overlay.open{opacity:1;pointer-events:auto}
  body.pwa-mobile-app .mobile-more-sheet{position:absolute;left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));padding:8px 12px 14px;border:1px solid #3b352e;border-radius:22px;background:rgba(17,16,14,.985);box-shadow:0 26px 80px rgba(0,0,0,.65);transform:translateY(18px);transition:transform .18s ease;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}body.pwa-mobile-app .mobile-more-overlay.open .mobile-more-sheet{transform:translateY(0)}
  body.pwa-mobile-app .mobile-more-handle{width:38px;height:4px;border-radius:999px;background:#4a453f;margin:1px auto 9px}body.pwa-mobile-app .mobile-more-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 10px}body.pwa-mobile-app .mobile-more-head strong{font-size:16px}body.pwa-mobile-app .mobile-more-head button{width:34px;height:34px;border-radius:50%;border:1px solid #36322c;background:#11100e;color:#bdb7ae;font-size:20px}
  body.pwa-mobile-app .mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.pwa-mobile-app .mobile-more-item{min-height:58px;border:1px solid #302b25;border-radius:14px;background:#0d0d0c;color:#c8c2b9;display:flex;align-items:center;gap:10px;padding:10px 12px;font:700 13px/1.15 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left}body.pwa-mobile-app .mobile-more-item span{font-size:17px}body.pwa-mobile-app .mobile-more-item.active{border-color:#71583b;background:#211a12;color:#fff}

  body.pwa-mobile-app #workspace.section.active{height:calc(var(--devhub-app-height,100dvh) - env(safe-area-inset-top) - 54px - 70px - env(safe-area-inset-bottom));margin:0 -10px;padding:0;overflow:hidden}
  body.pwa-mobile-app #workspace .section-title{display:none}
  body.pwa-mobile-app .workspace-section{margin-top:0}
  body.pwa-mobile-app .workspace-shell{height:100%;min-height:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;box-shadow:none}
  body.pwa-mobile-app .workspace-tabs{min-height:48px}body.pwa-mobile-app .workspace-subtabs{min-height:43px}body.pwa-mobile-app .workspace-tab{padding:13px 12px;font-size:13px}body.pwa-mobile-app .workspace-subtab{padding:7px 10px;font-size:12px}
  body.pwa-mobile-app .workspace-chat{height:calc(100% - 91px)}body.pwa-mobile-app .workspace-chat-head{min-height:50px;padding:9px 12px}body.pwa-mobile-app .workspace-messages,body.pwa-mobile-app .workspace-messages.has-messages{padding:14px 10px}body.pwa-mobile-app .workspace-composer-wrap{padding:0 8px 8px;background:linear-gradient(180deg,rgba(9,9,8,0),#090908 12px)}body.pwa-mobile-app .workspace-composer{border-radius:16px;background:#13110f}body.pwa-mobile-app .workspace-footnote{display:none}
  body.pwa-mobile-app .toast{bottom:calc(76px + env(safe-area-inset-bottom))}

  body.pwa-mobile-app.keyboard-open{padding-bottom:0}body.pwa-mobile-app.keyboard-open .sidebar{transform:translateY(120%)}body.pwa-mobile-app.keyboard-open .main{padding-bottom:0}body.pwa-mobile-app.keyboard-open #workspace.section.active{height:calc(var(--devhub-app-height,100dvh) - env(safe-area-inset-top) - 54px)}body.pwa-mobile-app.keyboard-open .toast{bottom:12px}
}
