/* Universal responsive layer for Positronic web / PWA / Tauri wrappers */
:root { --safe-top: env(safe-area-inset-top, 0px); --safe-bottom: env(safe-area-inset-bottom, 0px); }

html { -webkit-text-size-adjust: 100%; }
body { min-width: 0; }
img, svg, video, canvas { max-width: 100%; height: auto; }
button, a, input, textarea, select { touch-action: manipulation; }

@media (max-width: 1180px) {
  .container,
  .nav-wrap,
  .footer-bottom {
    width: min(100% - 28px, 1180px) !important;
  }

  .nav-wrap {
    grid-template-columns: 1fr auto !important;
    gap: 14px !important;
  }

  .main-nav {
    order: 3;
    grid-column: 1 / -1;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: none;
  }

  .main-nav::-webkit-scrollbar { display: none; }

  .main-nav a {
    white-space: nowrap;
    border: 1px solid rgba(120,231,255,.13);
    border-radius: 999px;
    padding: 9px 11px;
    background: rgba(255,255,255,.025);
  }

  .header-actions { justify-content: flex-end !important; }
  .hero-grid,
  .chat-layout,
  .footer-grid { grid-template-columns: 1fr !important; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ops-panel { order: -1; }
}

@media (max-width: 760px) {
  body { overflow-x: hidden; }

  .site-header { padding-top: var(--safe-top); }

  .nav-wrap {
    min-height: auto !important;
    padding: 12px 0 !important;
  }

  .brand-symbol { width: 38px !important; height: 38px !important; }
  .brand strong { font-size: 12px !important; letter-spacing: .14em !important; }
  .brand small { display: none !important; }
  .round-btn { width: 40px !important; height: 40px !important; }

  .hero { padding: 28px 0 16px !important; }
  .section-kicker { font-size: 10px !important; letter-spacing: .16em !important; }
  .hero h1 { font-size: clamp(42px, 17vw, 72px) !important; line-height: .88 !important; letter-spacing: -.065em !important; }
  .hero-lead { font-size: 15px !important; line-height: 1.55 !important; margin-top: 16px !important; }
  .hero-pills { gap: 8px !important; }
  .hero-pills span { width: 100%; justify-content: center; padding: 10px 12px !important; }

  .status-grid,
  .feature-grid { grid-template-columns: 1fr !important; }
  .status-grid div,
  .ops-block,
  .feature-grid article { border-radius: 18px !important; }

  .chat-section { padding: 8px 0 30px !important; }
  .chatgpt-panel { min-height: 66vh !important; border-radius: 22px !important; }
  .messages { padding: 20px 8px 12px !important; }
  .message { width: 100% !important; padding: 14px 14px !important; border-radius: 18px !important; font-size: 14px !important; }
  .composer { width: calc(100% - 16px) !important; margin-bottom: calc(12px + var(--safe-bottom)) !important; border-radius: 20px !important; grid-template-columns: 1fr 44px !important; }
  textarea { font-size: 16px !important; padding: 12px 8px !important; }
  .send-btn { width: 44px !important; height: 44px !important; border-radius: 16px !important; }

  .footer-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
  .site-footer { padding: 32px 0 18px !important; }
  .footer-bottom { font-size: 12px !important; line-height: 1.6 !important; }

  .login-card { border-radius: 22px !important; padding: 22px !important; }
}

/* DATA chat app shell */
@media (max-width: 980px) {
  body.pos-v2.pos-with-sidebar main,
  body.pos-v2.pos-with-sidebar .site-header,
  body.pos-v2.pos-with-sidebar .site-footer {
    margin-left: 0 !important;
  }

  #positronic-v2-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(86vw, 330px) !important;
    z-index: 250 !important;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 20px 0 70px rgba(0,0,0,.42);
  }

  body.pos-chat-nav-collapsed #positronic-v2-sidebar,
  body.pos-mobile-sidebar-open #positronic-v2-sidebar {
    transform: translateX(0);
  }

  .pos-control-toolbar {
    left: 0 !important;
    height: 68px !important;
    padding: 0 12px !important;
    gap: 8px !important;
  }

  .pos-chat-search {
    width: min(46vw, 260px) !important;
    height: 40px !important;
  }

  .pos-chat-profile div,
  .pos-chat-profile > i,
  .pos-chat-icon:nth-of-type(3) { display: none !important; }
  .pos-chat-profile img { width: 38px !important; height: 38px !important; }

  body.pos-v2.pos-with-sidebar #positronic-v2-app { padding-top: 68px !important; }
  body.pos-v2.pos-with-sidebar .pos-v2-chat-panel { height: calc(100vh - 68px) !important; }
  body.pos-v2.pos-with-sidebar #messages { height: calc(100vh - 168px) !important; padding-bottom: 116px !important; }
}

@media (max-width: 560px) {
  .pos-chat-search { width: 42vw !important; }
  .pos-chat-burger,
  .pos-chat-icon { width: 38px !important; height: 38px !important; }
  .pos-control-toolbar { padding-left: max(8px, env(safe-area-inset-left)) !important; padding-right: max(8px, env(safe-area-inset-right)) !important; }
}

/* Control Center pages */
@media (max-width: 1180px) {
  .control-layout,
  .shell { grid-template-columns: 1fr !important; }
  .control-nav,
  .nav { position: relative !important; height: auto !important; min-height: auto !important; border-right: 0 !important; border-bottom: 1px solid rgba(84,215,255,.14) !important; }
  .control-topbar,
  .top { position: sticky !important; top: 0 !important; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .span7, .span5, .span4, .span3, .span2 { grid-column: 1 / -1 !important; }
  .resource-wrap, .resource-panels, .tables, .tables-row, .grid { max-width: 100%; }
  .nodes, .nodes-live, .resource-grid, .pos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .content { padding: 14px 12px 0 !important; }
  .top, .control-topbar { height: auto !important; min-height: 64px !important; padding: 10px 12px !important; flex-wrap: wrap !important; }
  .search { width: 100% !important; order: 10; }
  .profile div, .profile-mini div { display: none !important; }
  .head, .page-head, .nodes-head { align-items: flex-start !important; flex-direction: column !important; }
  .actions, .control-actions { width: 100%; display: grid !important; grid-template-columns: 1fr 1fr; }
  .btn, .control-btn { width: 100%; justify-content: center; text-align: center; }
  .grid, .nodes, .nodes-live, .resource-grid, .pos-grid, .mini, .mini-stats, .split, .node-split, .tables, .tables-row { grid-template-columns: 1fr !important; }
  .card, .node, .live-node, .res-card, .pos-card { border-radius: 14px !important; }
  .users, .data-table { min-width: 760px; }
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}


/* Final Chat/footer collision guard — the workspace itself stops above the footer. */
body.pos-v2.pos-with-sidebar #positronic-v2-app,
body.pos-v2.pos-with-sidebar .pos-v2-chat-panel{
  height:calc(100vh - 102px)!important;
}
body.pos-v2.pos-with-sidebar #chat-form,
body.pos-v2.pos-with-sidebar .pos-v2-composer{
  bottom:10px!important;
  margin-bottom:0!important;
}
body.pos-v2.pos-with-sidebar #messages,
body.pos-v2.pos-with-sidebar .pos-v2-messages{
  padding-bottom:116px!important;
}
@media(max-width:720px){
  body.pos-v2.pos-with-sidebar #positronic-v2-app{
    height:calc(100vh - 96px)!important;
  }
}
/* Final authority: composer clears footer independently from panel geometry. */
body.pos-v2.pos-with-sidebar #chat-form,
body.pos-v2.pos-with-sidebar .pos-v2-composer{position:fixed!important;left:calc(300px + clamp(48px,6.25vw,120px))!important;right:clamp(24px,3.15vw,60px)!important;bottom:38px!important;width:auto!important;margin:0!important}
body.pos-v2.pos-chat-nav-collapsed #chat-form,
body.pos-v2.pos-chat-nav-collapsed .pos-v2-composer{left:calc(78px + clamp(48px,6.25vw,120px))!important}
@media(max-width:980px){body.pos-v2.pos-with-sidebar #chat-form,body.pos-v2.pos-with-sidebar .pos-v2-composer{left:12px!important;right:12px!important;bottom:calc(38px + env(safe-area-inset-bottom,0px))!important}}
