/* User page and rail overrides added after the legacy shell styles. */

nav{
  justify-content:space-between !important;
  align-items:center !important;
}

.nav-stack{
  width:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  flex:1 1 auto;
}

.mini-tabs{
  flex:1 1 auto;
}

body.workspace-open .mini-tabs{
  opacity:1 !important;
  pointer-events:auto !important;
  transform:none !important;
}

.mini-account-tab{
  margin-top:auto;
  flex-shrink:0;
}

.mini-account-badge,
.rail-account-badge{
  width:20px;
  height:20px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:600;
}

.rail-account-badge{
  width:36px;
  height:36px;
  border-radius:14px;
}

.user-badge{
  position:relative;
  background:#eef2f7;
  color:#0f172a;
}

.user-badge.signed-in{
  background:#0f172a;
  color:#ffffff;
}

.user-badge.has-photo{
  overflow:hidden;
  padding:0;
  background:#ffffff;
  color:transparent;
}

.user-badge.has-photo img,
.profile-avatar.has-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.user-badge.has-photo::before,
.user-badge.has-photo::after{
  display:none;
}

.user-badge.guest{
  font-size:0;
  color:transparent;
}

.user-badge.guest::before{
  content:'';
  position:absolute;
  top:4px;
  left:50%;
  width:7px;
  height:7px;
  margin-left:-3.5px;
  border-radius:50%;
  background:#64748b;
}

.user-badge.guest::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:4px;
  width:12px;
  height:7px;
  margin-left:-6px;
  border-radius:7px 7px 4px 4px;
  border:1.5px solid #64748b;
  border-top:none;
}

.shell-rail{
  padding:14px 12px 18px !important;
}

.rail-spacer{
  height:var(--mini-rail-icon);
  flex-shrink:0;
}

.rail-head,
.rail-auth{
  display:none !important;
}

.rail-group{
  padding:0 8px !important;
}

.rail-group-account{
  margin-top:auto;
  padding-top:14px !important;
  border-top:1px solid rgba(15,23,42,.08);
}

.rail-tab{
  align-items:center !important;
  min-height:var(--mini-rail-icon);
  height:var(--mini-rail-icon);
  padding:0 8px !important;
  gap:12px;
  border-radius:16px;
  overflow:hidden;
}

.rail-tab-icon{
  width:var(--mini-rail-icon) !important;
  height:var(--mini-rail-icon) !important;
  border-radius:16px !important;
  font-size:18px;
  background:transparent;
  color:var(--ink-soft);
}

.rail-tab.on .rail-tab-icon{
  background:#ffffff;
  color:var(--accent);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}

.rail-tab-copy{
  gap:4px;
  min-width:0;
}

.rail-tab-sub{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rail-tab-account{
  background:#ffffff;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}

.profile-shell{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
}

.profile-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
  align-content:start;
}

.section-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.settings-error{
  margin:8px 0 2px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(184,84,56,.25);
  background:rgba(184,84,56,.08);
  color:#7a3b27;
  font-size:12px;
}

.profile-grid > .section-card{
  min-width:0;
}

.span-12{
  grid-column:1 / -1;
}

.profile-hero{
  padding:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(249,246,240,.84));
}

.profile-hero-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.profile-hero-main{
  display:flex;
  align-items:center;
  gap:18px;
}

.profile-avatar{
  width:72px;
  height:72px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#ffffff,#ece6da);
  color:#0f172a;
  font-family:var(--font-sans);
  font-size:34px;
  font-weight:700;
  box-shadow:0 18px 38px rgba(15,23,42,.08);
  overflow:hidden;
}

.profile-avatar.has-photo{
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
}

.profile-hero-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.profile-hero-name{
  font-family:var(--font-sans);
  font-size:38px;
  line-height:.96;
  letter-spacing:-.02em;
}

.profile-hero-email{
  font-size:14px;
  color:#526071;
}

.profile-hero-summary{
  margin-top:14px;
  max-width:760px;
  font-size:14px;
  line-height:1.8;
  color:#5a6677;
}

.profile-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.profile-account-card{
  display:grid;
  gap:10px;
}

.profile-account-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(248,250,252,.8);
  border:1px solid rgba(15,23,42,.06);
}

.profile-account-row span{
  font-size:12px;
  color:#64748b;
}

.profile-account-row strong{
  font-size:13px;
  color:#0f172a;
  text-align:right;
}

.account-integration-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.account-capability-card{
  padding:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.82));
  min-width:0;
}

.account-capability-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.account-capability-mark{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#f3f4f6;
  color:#0f172a;
  font-size:18px;
}

.account-capability-copy{
  min-width:0;
}

.account-provider-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.app-provider-card{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.08);
  background:#ffffff;
  min-width:0;
}

.app-provider-card.active{
  border-color:rgba(15,23,42,.14);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.app-provider-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}

.app-provider-meta{
  min-width:0;
}

.app-provider-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:600;
}

.tone-google{
  background:#e8f0fe;
  color:#185abc;
}

.tone-microsoft{
  background:#eef7ff;
  color:#2563eb;
}

.tone-slack{
  background:#f7eef9;
  color:#7c3aed;
}

.tone-notion{
  background:#f4f4f5;
  color:#111827;
}

.tone-default{
  background:#f1f5f9;
  color:#0f172a;
}

.provider-unavailable{
  cursor:default;
  opacity:.68;
}

#p-connectors{
  border:0;
  background:linear-gradient(180deg,#f8fafc,#f4f7fb);
  box-shadow:none;
}

#p-connectors .cp{
  padding:18px 22px 24px;
}

.connector-shell{
  width:100%;
  max-width:none;
  min-height:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.connector-hero{
  display:grid;
  grid-template-columns:auto minmax(320px,1fr);
  align-items:center;
  gap:18px;
  padding:0 2px 2px;
}

.connector-title{
  font-size:32px;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
  color:#0f172a;
  white-space:nowrap;
}

.connector-toolbar{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto auto;
  gap:8px;
  align-items:center;
}

.connector-search-field{
  min-height:42px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid rgba(15,23,42,.07);
  background:rgba(255,255,255,.92);
  color:#64748b;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}

.connector-search-icon,
.connector-icon-action svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.connector-search-field input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#0f172a;
  font:inherit;
  font-size:13px;
}

.connector-filter-tabs{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border-radius:8px;
  background:rgba(226,232,240,.72);
  border:1px solid rgba(15,23,42,.05);
}

.connector-filter-tab{
  min-height:32px;
  padding:0 11px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#475569;
  cursor:pointer;
  font-family:var(--font-sans);
  font-size:12px;
  font-weight:650;
}

.connector-filter-tab:hover{
  color:#0f172a;
  background:rgba(255,255,255,.72);
}

.connector-filter-tab.active{
  background:#111827;
  color:#ffffff;
  box-shadow:0 8px 18px rgba(15,23,42,.16);
}

.connector-provider-card .btn,
.connector-troubleshooting .btn,
.connector-app-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:8px;
  letter-spacing:0;
}

.connector-provider-card .btn,
.connector-troubleshooting .btn{
  min-height:34px;
  font-size:12px;
}

.connector-provider-card .btn.p,
.connector-troubleshooting .btn.p,
.connector-app-actions .btn.p{
  background:#2563eb;
  color:#ffffff;
  border-color:#2563eb;
}

.connector-icon-action,
.connector-refresh-button{
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.82);
  color:#0f172a;
  display:inline-grid;
  place-items:center;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}

.connector-icon-action{
  width:30px;
  height:30px;
}

.connector-refresh-button{
  width:40px;
  height:40px;
  background:transparent;
  color:#64748b;
  box-shadow:none;
}

.connector-icon-action:hover{
  background:#2563eb;
  color:#ffffff;
  box-shadow:0 12px 24px rgba(37,99,235,.22);
}

.connector-refresh-button:hover{
  background:#e8f0ff;
  color:#2563eb;
  box-shadow:none;
}

.connector-icon-action.danger{
  color:#991b1b;
}

.connector-icon-action.danger:hover{
  background:#fee2e2;
  color:#991b1b;
  box-shadow:0 12px 24px rgba(153,27,27,.12);
}

.connector-refresh-button:disabled{
  cursor:default;
  opacity:.72;
}

.connector-refresh-button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.connector-refresh-button.refreshing svg{
  animation:connector-refresh-spin .8s linear infinite;
}

@keyframes connector-refresh-spin{
  to{transform:rotate(360deg)}
}

.connector-market{
  display:grid;
  gap:20px;
}

.connector-market-section{
  min-width:0;
}

.connector-section-head,
.connector-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#0f172a;
}

.connector-section-head{
  margin-bottom:10px;
}

.connector-section-head span,
.connector-category-head span{
  font-size:14px;
  font-weight:700;
}

.connector-category-head{
  margin-bottom:9px;
}

.connector-category-head strong{
  min-width:24px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:#e9edf3;
  color:#475569;
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:500;
}

.connector-app-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(118px,1fr));
  gap:9px;
}

.connector-featured-grid{
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:minmax(130px,150px);
  overflow-x:auto;
  overscroll-behavior-x:contain;
  padding:1px 2px 8px;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.24) transparent;
}

.connector-featured-grid::-webkit-scrollbar{
  height:8px;
}

.connector-featured-grid::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(100,116,139,.24);
}

.connector-category-list{
  display:grid;
  gap:18px;
}

.connector-category-section{
  min-width:0;
}

.connector-app-card{
  min-height:132px;
  padding:11px;
  border-radius:8px;
  border:1px solid rgba(15,23,42,.045);
  background:rgba(255,255,255,.78);
  display:grid;
  gap:10px;
  align-content:space-between;
  min-width:0;
  box-shadow:0 12px 28px rgba(15,23,42,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.connector-app-card:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.18);
  background:#ffffff;
  box-shadow:0 18px 34px rgba(15,23,42,.09);
}

.connector-app-card.state-connected{
  border-color:rgba(22,101,52,.2);
  background:linear-gradient(180deg,#ffffff,#f6fff8);
}

.connector-app-card.state-permission_blocked{
  border-color:rgba(217,119,6,.26);
  background:linear-gradient(180deg,#ffffff,#fff8ea);
}

.connector-app-card.state-blocked{
  background:rgba(255,255,255,.58);
}

.connector-app-card.state-mcp{
  background:rgba(255,255,255,.58);
}

.connector-app-top{
  display:grid;
  grid-template-columns:1fr;
  align-items:start;
  gap:9px;
}

.connector-app-logo{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.055);
  overflow:hidden;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}

.connector-app-logo img{
  width:25px;
  height:25px;
  object-fit:contain;
  display:block;
}

.connector-app-logo span{
  display:none;
  font-family:var(--font-mono);
  font-size:15px;
  font-weight:650;
  color:#0f172a;
}

.connector-app-logo.fallback span{
  display:block;
}

.connector-app-meta{
  min-width:0;
}

.connector-app-name{
  font-size:12px;
  line-height:1.18;
  font-weight:700;
  color:#0f172a;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.connector-app-vendor{
  margin-top:3px;
  font-size:10px;
  color:#64748b;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.connector-app-footer{
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:6px;
}

.connector-app-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  max-width:100%;
}

.connector-app-actions:empty{
  display:none;
}

.connector-app-actions .btn{
  min-height:30px;
  min-width:56px;
  max-width:100%;
  padding:0 8px;
  font-size:11px;
  white-space:nowrap;
}

.connector-app-card .tag{
  height:24px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:9px;
  letter-spacing:0;
  white-space:nowrap;
}

.connector-app-card .tag.dn{
  background:#e8f7ee;
  color:#166534;
  border-color:rgba(22,101,52,.12);
}

.connector-app-card .tag.pe{
  background:#fff4df;
  color:#92400e;
  border-color:rgba(146,64,14,.14);
}

.connector-app-card .tag.lv{
  background:#eef2f7;
  color:#64748b;
  border-color:rgba(100,116,139,.12);
}

.connector-provider-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}

.connector-provider-card{
  padding:14px;
  border-radius:8px;
  border:1px solid rgba(15,23,42,.08);
  background:#ffffff;
  min-width:0;
  display:grid;
  gap:12px;
  align-content:start;
  min-height:210px;
}

.connector-provider-card.state-connected{
  border-color:rgba(22,101,52,.18);
  background:linear-gradient(180deg,#ffffff,#f7fcf8);
}

.connector-provider-card.state-permission_blocked,
.connector-provider-card.state-blocked{
  border-color:rgba(180,83,9,.22);
  background:linear-gradient(180deg,#ffffff,#fff9ee);
}

.connector-provider-card .app-provider-top{
  margin-bottom:0;
}

.connector-provider-card .work-actions{
  margin-top:auto;
  align-items:center;
  flex-wrap:nowrap;
}

.connector-provider-icon{
  width:44px;
  height:44px;
  border-radius:8px;
  font-size:18px;
}

.connector-card-primary{
  width:100%;
}

.connector-app-actions .connector-card-primary{
  min-width:56px;
  width:auto;
  padding-inline:8px;
}

.connector-disabled{
  min-width:76px;
  opacity:.62;
  cursor:default;
  pointer-events:none;
  background:#ffffff;
}

.connector-cap-icons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.connector-cap-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.07);
  color:#475569;
  font-size:14px;
}

.connector-scope-row .memory-chip.warning{
  background:#fff7ed;
  color:#9a3412;
  border-color:rgba(180,83,9,.2);
}

.connector-remediation{
  margin-top:12px;
  padding:12px 14px;
  border-radius:8px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.07);
}

.connector-remediation-title{
  font-family:var(--font-mono);
  font-size:10px;
  color:#64748b;
  text-transform:uppercase;
  margin-bottom:6px;
}

.connector-remediation ol{
  margin:0;
  padding-left:18px;
}

.connector-remediation li{
  font-size:12px;
  line-height:1.6;
  color:#475569;
}

.connector-troubleshooting{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.connector-attention-card{
  display:none;
}

.profile-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-top:12px;
}

.profile-memory-search{
  margin-bottom:12px;
}

.intelligence-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.intelligence-card{
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.86));
  min-width:0;
}

.intelligence-card--wide{
  grid-column:1 / -1;
}

.intelligence-card-copy{
  margin-top:10px;
  font-size:14px;
  line-height:1.7;
  color:#556274;
}

.intelligence-source-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.intelligence-source{
  padding:12px 13px;
  border-radius:16px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.07);
}

.intelligence-source-label{
  font-size:12px;
  color:#64748b;
  margin-bottom:4px;
}

.intelligence-source-value{
  font-size:13px;
  color:#0f172a;
  line-height:1.5;
}

@media (max-width:1100px){
  .intelligence-grid,
  .account-integration-grid,
  .account-provider-grid,
  .connector-provider-grid{
    grid-template-columns:1fr;
  }

  .intelligence-source-grid{
    grid-template-columns:1fr;
  }
}

@media (min-width:1120px){
  .connector-category-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    column-gap:24px;
  }
}

@media (min-width:1560px){
  .connector-category-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:980px){
  .profile-hero-top,
  .profile-hero-main{
    flex-direction:column;
    align-items:flex-start;
  }

  .rail-spacer{
    height:26px;
  }

  .rail-tab{
    min-height:44px;
    height:44px;
  }

  .rail-tab-icon{
    width:44px !important;
    height:44px !important;
  }

  .profile-grid{
    grid-template-columns:1fr;
  }

  .span-5,
  .span-7,
  .span-12{
    grid-column:auto;
  }
}

@media (max-width:860px){
  #p-connectors .cp{
    padding:14px 16px 18px;
  }

  .connector-hero{
    grid-template-columns:1fr;
    gap:10px;
  }

  .connector-title{
    font-size:28px;
  }

  .connector-toolbar{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "search refresh"
      "filters filters";
  }

  .connector-search-field{
    grid-area:search;
  }

  .connector-filter-tabs{
    grid-area:filters;
    overflow-x:auto;
    justify-content:flex-start;
  }

  .connector-refresh-button{
    grid-area:refresh;
  }
}

@media (max-width:640px){
  .profile-avatar{
    width:60px;
    height:60px;
    border-radius:20px;
    font-size:30px;
  }

  .profile-hero-name{
    font-size:30px;
  }

  .profile-search-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:460px){
  .connector-app-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
