/* UpTime Invoice Pro V17.12.2 — app-alignment.css
   Shared design alignment, detail workspaces, release-era compatibility rules.
   Cascade segment 1553-2212; keep load order unchanged. */
/* V15.5 Design System Alignment Pro
   Goal: make the private app feel consistent across every module: same spacing,
   same card rhythm, controlled typography, no oversized stats, no awkward wraps.
   Scope: CSS-only polish for private app shell and module surfaces. No DB/PHP changes.
*/
@media(min-width:1001px){
  :root{
    --shell-sidebar:300px;
    --shell-gap:18px;
    --card-radius-xl:28px;
    --card-radius-lg:24px;
    --surface-pad:20px;
    --module-gap:15px;
    --title-xl:clamp(34px,3.15vw,46px);
    --title-lg:clamp(30px,2.65vw,40px);
    --title-md:clamp(24px,2.1vw,30px);
    --metric-value:clamp(26px,2.35vw,36px);
    --metric-card-h:118px;
  }
  .app{
    grid-template-columns:var(--shell-sidebar) minmax(0,1fr)!important;
    gap:var(--shell-gap)!important;
    padding:18px!important;
  }
  .main{gap:14px!important;min-width:0!important;max-width:100%!important;}
  .top{
    min-height:76px!important;
    padding:17px 20px!important;
    border-radius:var(--card-radius-xl)!important;
  }
  .top h2{font-size:clamp(27px,2.1vw,34px)!important;line-height:1!important;}
  .top .eyebrow{font-size:11px!important;letter-spacing:.16em!important;margin-bottom:6px!important;}

  /* Sidebar: compact, balanced, footer visible without internal scroll. */
  .side{
    height:calc(100vh - 36px)!important;
    min-height:690px!important;
    padding:14px!important;
    gap:8px!important;
    overflow:hidden!important;
    border-radius:29px!important;
  }
  .side > .brand.brandFree{
    min-height:70px!important;
    max-height:76px!important;
    padding:10px 12px!important;
    border-radius:22px!important;
    gap:11px!important;
  }
  .side > .brand.brandFree .brandLogoFree,
  .side > .brand.brandFree .brandFallback{
    width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;
    max-width:52px!important;max-height:52px!important;flex-basis:52px!important;
  }
  .side > .brand.brandFree strong{
    font-size:16px!important;line-height:1.05!important;white-space:normal!important;
    display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;
    overflow:hidden!important;letter-spacing:-.035em!important;
  }
  .side > .brand.brandFree span{font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .side .nav{gap:7px!important;overflow:visible!important;padding:0!important;display:grid!important;grid-template-columns:1fr!important;}
  .side .nav button{
    min-height:42px!important;height:42px!important;padding:8px 10px!important;border-radius:16px!important;
    font-size:14px!important;line-height:1!important;gap:10px!important;
  }
  .side .nav button span:first-child{
    width:26px!important;height:26px!important;min-width:26px!important;flex-basis:26px!important;
    border-radius:10px!important;font-size:14px!important;
  }
  .side .nav button.active:after{right:10px!important;width:6px!important;height:6px!important;}
  .side #logout{
    min-height:38px!important;height:38px!important;padding:8px 12px!important;border-radius:999px!important;
    font-size:14px!important;margin-top:6px!important;
  }
  .side .footer{
    margin-top:auto!important;padding:9px 11px!important;border-radius:16px!important;
    font-size:10.5px!important;line-height:1.25!important;display:block!important;
    max-height:50px!important;overflow:hidden!important;
  }

  /* Shared module rhythm: all command centers follow the same proportions. */
  .dashExecutive,.clients360,.docPro,.paymentsPro,.proofsPro,.projectWorkspace,.settingsProShell,
  .subscriptionsPro,.servicesCommand{gap:var(--module-gap)!important;}
  .dashHero,.clients360Hero,.docProHero,.paymentsHero,.proofsHero,.projectWorkspaceHero,.settingsProHero,
  .servicesCommandHero{
    border-radius:var(--card-radius-xl)!important;
    padding:22px!important;
    min-height:230px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  .dashHero,.clients360Hero,.docProHero,.paymentsHero,.proofsHero,.projectWorkspaceHero,.settingsProHero{
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)!important;
  }
  .dashHeroCopy h1,
  .clients360Hero h3,
  .docProHero h3,
  .paymentsHero h3,
  .proofsHero h3,
  .projectWorkspaceHero h3,
  .settingsProHero h3,
  .servicesCommandHero h3{
    font-size:var(--title-xl)!important;
    line-height:1.03!important;
    letter-spacing:-.058em!important;
    max-width:900px!important;
  }
  .dashHeroCopy .muted,
  .clients360Hero .muted,
  .docProHero .muted,
  .paymentsHero .muted,
  .proofsHero .muted,
  .projectWorkspaceHero .muted,
  .settingsProHero .muted,
  .servicesCommandHero .muted{
    font-size:15px!important;line-height:1.48!important;max-width:790px!important;
  }
  .dashQuickActions,.clients360Quick,.docProHeroActions,.paymentsHeroActions,.proofsHeroActions,.projectWorkspaceActions,.settingsProActions{
    margin-top:14px!important;gap:9px!important;
  }
  .dashQuickActions button,.clients360Quick button,.docProHeroActions button,.paymentsHeroActions button,.proofsHeroActions button,.projectWorkspaceActions button,.settingsProActions button{
    min-height:42px!important;padding:10px 18px!important;font-size:14px!important;
  }

  /* Hero summary cards: consistent size and no oversized numbers. */
  .dashHeroScore,.clients360HeroCard,.docProHeroCard,.paymentsHeroCard,.proofsHeroCard,.projectWorkspaceHeroCard,.settingsProBrandCard{
    min-height:170px!important;border-radius:24px!important;padding:18px!important;align-content:center!important;
  }
  .dashHeroScore strong,.clients360HeroCard b,.docProHeroCard b,.paymentsHeroCard b,.proofsHeroCard b,.projectWorkspaceHeroCard b{
    font-size:clamp(34px,3.2vw,48px)!important;line-height:1!important;letter-spacing:-.065em!important;
  }
  .dashHeroScore span,.clients360HeroCard span,.docProHeroCard span,.paymentsHeroCard span,.proofsHeroCard span,.projectWorkspaceHeroCard span{
    font-size:11px!important;letter-spacing:.09em!important;
  }
  .dashHeroScore small,.clients360HeroCard small,.docProHeroCard small,.paymentsHeroCard small,.proofsHeroCard small,.projectWorkspaceHeroCard small{
    font-size:13px!important;line-height:1.38!important;
  }

  /* KPI cards: fixed visual rhythm. */
  .dashKpiGrid,.clients360StatsGrid,.docProStats,.paymentsStats,.proofStats,.projectWorkspaceStats,.settingsProStats,.miniStats{
    gap:13px!important;
  }
  .dashKpi,.client360Kpi,.docProKpi,.paymentsKpi,.proofKpi,.projectWorkspaceKpi,.settingsProStats div,.metric,.miniStats div{
    min-height:var(--metric-card-h)!important;border-radius:23px!important;padding:17px!important;align-content:space-between!important;min-width:0!important;
  }
  .dashKpi span,.client360Kpi span,.docProKpi span,.paymentsKpi span,.proofKpi span,.projectWorkspaceKpi span,.settingsProStats span,.metric span,.miniStats span{
    font-size:11px!important;letter-spacing:.085em!important;line-height:1.15!important;
  }
  .dashKpi strong,.client360Kpi strong,.docProKpi strong,.paymentsKpi strong,.proofKpi strong,.projectWorkspaceKpi strong,.settingsProStats strong,.metric strong,.miniStats strong{
    font-size:var(--metric-value)!important;line-height:1!important;letter-spacing:-.055em!important;
    word-break:normal!important;overflow-wrap:normal!important;
  }
  .dashKpi small,.client360Kpi small,.docProKpi small,.paymentsKpi small,.proofKpi small,.projectWorkspaceKpi small,.settingsProStats small,.metric small,.miniStats small{
    font-size:12px!important;line-height:1.35!important;font-weight:800!important;
  }

  /* Prevent ugly word breaks in cards, but allow long URLs/emails to wrap gracefully. */
  .panel,.dashKpi,.client360Kpi,.docProKpi,.paymentsKpi,.proofKpi,.projectWorkspaceKpi,.settingsProStats div,
  .client360Card,.docProCard,.payLedgerCard,.proofCard,.projectCard,.settingsProCard{min-width:0!important;}
  .client360Money strong,.docProMoney strong,.payLedgerTop b,.portalProAmountGrid b,.paymentProfileCard strong,
  .publicDocTotalPanel strong,.settingsProPreviewTotal,.paymentIdentityBox strong{
    word-break:normal!important;overflow-wrap:anywhere!important;
  }
  .client360Money strong,.docProMoney strong{font-size:16px!important;white-space:nowrap!important;}
  .settingsProStats strong{font-size:clamp(20px,1.7vw,27px)!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
  .settingsProStats div:nth-child(2) strong{font-size:clamp(17px,1.35vw,23px)!important;line-height:1.05!important;}
  .settingsProBrandCard strong{font-size:clamp(23px,2.1vw,30px)!important;line-height:1.06!important;}

  /* Content panels: even spacing and readable headers. */
  .dashPanel,.client360Editor,.client360Library,.docProEditor,.docProLibrary,.paymentsPanel,.proofPanel,.projectWorkspacePanel,
  .settingsProCard,.settingsProPreviewCard,.subscriptionCards,.panel{
    border-radius:24px!important;
  }
  .dashPanelHead h3,.client360PanelHead h3,.client360LibraryHead h3,.docProPanelHead h3,.docProLibraryHead h3,
  .paymentsPanelHead h3,.proofPanelHead h3,.projectWorkspacePanelHead h3,.settingsProSectionHead h3{
    font-size:clamp(21px,1.55vw,26px)!important;line-height:1.08!important;letter-spacing:-.045em!important;
  }
  .toolbar,.client360LibraryHead,.docProLibraryHead,.paymentsPanelHead,.proofPanelHead,.projectWorkspacePanelHead,.settingsProSectionHead{
    gap:13px!important;
  }
  .searchBox{min-height:42px!important;border-radius:17px!important;}

  /* Tables and forms: cleaner, not massive. */
  input,select,textarea{min-height:42px!important;border-radius:15px!important;font-size:14px!important;}
  label{font-size:13px!important;gap:6px!important;}
  form.panel.stack{gap:12px!important;}
  th{font-size:10.5px!important;letter-spacing:.085em!important;padding:12px 12px!important;}
  td{font-size:13px!important;padding:13px 12px!important;}
  .tiny{min-height:34px!important;padding:8px 11px!important;font-size:12px!important;}

  /* Client portfolio alignment. */
  .clients360Cards{grid-template-columns:repeat(2,minmax(360px,1fr))!important;gap:13px!important;}
  .client360Card{padding:15px!important;border-radius:23px!important;gap:12px!important;}
  .client360Identity strong{font-size:17px!important;max-width:320px!important;}
  .client360Identity small{max-width:320px!important;}
  .client360Contact{font-size:12.5px!important;}
  .client360Money{grid-template-columns:repeat(3,minmax(95px,1fr))!important;gap:8px!important;}
  .client360Money div{padding:9px!important;border-radius:15px!important;}
  .client360Money span{font-size:9.5px!important;margin-bottom:6px!important;}
  .client360Money strong{font-size:15px!important;line-height:1.05!important;}
  .client360Stats span{font-size:11.5px!important;padding:8px!important;}
  .client360Actions{gap:7px!important;}
  .client360Actions .tiny{min-height:34px!important;padding:8px 11px!important;}

  /* Settings: avoid giant broken text blocks. */
  .settingsProHero{min-height:230px!important;}
  .settingsProWorkspace{grid-template-columns:minmax(280px,330px) minmax(0,1fr)!important;}
  .settingsProStats{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .settingsProCard{padding:19px!important;}
  .settingsProPreviewTotal{font-size:clamp(30px,2.6vw,38px)!important;}

  /* Recurring billing legacy section gets the same rhythm. */
  .miniGrid{gap:13px!important;}
  .miniGrid .panel{min-height:118px!important;border-radius:23px!important;padding:17px!important;}
  .miniGrid .panel strong{font-size:var(--metric-value)!important;line-height:1!important;}
  .planHint{border-radius:20px!important;padding:15px!important;font-size:14px!important;line-height:1.45!important;}
}

@media(min-width:1001px) and (max-height:760px){
  .side{padding:12px!important;gap:6px!important;min-height:0!important;}
  .side > .brand.brandFree{min-height:62px!important;padding:8px 10px!important;}
  .side > .brand.brandFree .brandLogoFree,
  .side > .brand.brandFree .brandFallback{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-basis:44px!important;}
  .side > .brand.brandFree strong{font-size:14px!important;-webkit-line-clamp:1!important;}
  .side > .brand.brandFree span{font-size:12px!important;}
  .side .nav{gap:5px!important;}
  .side .nav button{height:38px!important;min-height:38px!important;font-size:13px!important;padding:7px 10px!important;}
  .side .nav button span:first-child{width:23px!important;height:23px!important;min-width:23px!important;flex-basis:23px!important;font-size:13px!important;}
  .side #logout{height:34px!important;min-height:34px!important;font-size:13px!important;}
  .side .footer{display:none!important;}
}

@media(max-width:1180px){
  .clients360Cards{grid-template-columns:1fr!important;}
  .settingsProStats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:1000px){
  .side{overflow:auto!important;min-height:0!important;}
  .side .footer{max-height:none!important;}
}

@media(max-width:760px){
  .dashHero,.clients360Hero,.docProHero,.paymentsHero,.proofsHero,.projectWorkspaceHero,.settingsProHero,.servicesCommandHero{
    min-height:0!important;padding:17px!important;border-radius:24px!important;
  }
  .dashHeroCopy h1,.clients360Hero h3,.docProHero h3,.paymentsHero h3,.proofsHero h3,.projectWorkspaceHero h3,.settingsProHero h3,.servicesCommandHero h3{
    font-size:31px!important;line-height:1.03!important;
  }
  .dashHeroScore strong,.clients360HeroCard b,.docProHeroCard b,.paymentsHeroCard b,.proofsHeroCard b,.projectWorkspaceHeroCard b{
    font-size:34px!important;
  }
  .settingsProStats{grid-template-columns:1fr!important;}
  .settingsProStats strong{font-size:24px!important;}
}

/* V15.6.1 Client Portfolio Line Pro
   Goal: keep Clients 360 premium, but render Relationship Library as compact horizontal rows
   so many clients can fit without giant card rows or clipped metrics/actions.
*/
@media(min-width:1001px){
  .clients360Workspace{
    grid-template-columns:minmax(330px,420px) minmax(0,1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .clients360Library{overflow:hidden!important;}
  .client360LibraryHead{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(250px,360px)!important;
    align-items:end!important;
    gap:14px!important;
    padding-bottom:13px!important;
    margin-bottom:14px!important;
  }
  .client360LibraryHead .searchBox{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .clients360Cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .client360Card{
    display:grid!important;
    grid-template-columns:minmax(210px,1.08fr) minmax(225px,1fr) minmax(185px,.78fr) minmax(210px,.82fr)!important;
    grid-template-areas:
      "identity money signal actions"
      "contact  stats signal actions"!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:7px!important;
    min-height:124px!important;
    padding:12px 13px 12px 16px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .client360Card:before{width:3px!important;}
  .client360Top{
    grid-area:identity!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:9px!important;
    min-width:0!important;
  }
  .client360Identity{min-width:0!important;gap:9px!important;}
  .client360Avatar{
    width:34px!important;height:34px!important;min-width:34px!important;flex-basis:34px!important;
    border-radius:13px!important;font-size:13px!important;
  }
  .client360Identity strong{
    font-size:15px!important;line-height:1.08!important;max-width:190px!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .client360Identity small{
    font-size:11px!important;line-height:1.15!important;max-width:190px!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .client360Top .badge{padding:4px 8px!important;font-size:9px!important;letter-spacing:.055em!important;}
  .client360Contact{
    grid-area:contact!important;
    display:grid!important;
    gap:3px!important;
    font-size:11.5px!important;
    line-height:1.25!important;
    min-width:0!important;
  }
  .client360Contact span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .client360Money{
    grid-area:money!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    min-width:0!important;
    align-self:stretch!important;
  }
  .client360Money div{
    min-width:0!important;
    min-height:52px!important;
    padding:8px 9px!important;
    border-radius:14px!important;
    display:grid!important;
    align-content:center!important;
  }
  .client360Money span{
    font-size:8.7px!important;
    line-height:1!important;
    margin-bottom:5px!important;
    letter-spacing:.07em!important;
    white-space:nowrap!important;
  }
  .client360Money strong{
    font-size:13.5px!important;
    line-height:1.04!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .client360Stats{
    grid-area:stats!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:6px!important;
    min-width:0!important;
  }
  .client360Stats span{
    flex:0 1 auto!important;
    min-height:27px!important;
    padding:6px 8px!important;
    border-radius:999px!important;
    font-size:10.2px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .client360Signal{
    grid-area:signal!important;
    display:grid!important;
    align-content:center!important;
    gap:5px!important;
    min-height:74px!important;
    padding:9px 10px!important;
    border-radius:16px!important;
    min-width:0!important;
  }
  .client360Signal b{
    font-size:12px!important;
    line-height:1.12!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .client360Signal span{
    text-align:left!important;
    font-size:10.3px!important;
    line-height:1.22!important;
    white-space:normal!important;
  }
  .client360Actions{
    grid-area:actions!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    align-self:center!important;
    justify-self:stretch!important;
    min-width:0!important;
    padding-top:0!important;
  }
  .client360Actions .tiny,
  .client360Actions a.tiny,
  .client360Actions button{
    width:100%!important;
    min-width:0!important;
    min-height:29px!important;
    height:29px!important;
    padding:6px 7px!important;
    border-radius:999px!important;
    font-size:10.5px!important;
    line-height:1!important;
  }
  .client360Missing{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:29px!important;
    padding:6px 8px!important;
    font-size:10.5px!important;
    justify-content:center!important;
  }
}

@media(min-width:1380px){
  .client360Card{
    grid-template-columns:minmax(240px,1.12fr) minmax(255px,1.03fr) minmax(205px,.78fr) minmax(225px,.80fr)!important;
  }
  .client360Identity strong,.client360Identity small{max-width:225px!important;}
}

@media(max-width:1260px) and (min-width:761px){
  .clients360Workspace{grid-template-columns:1fr!important;}
  .clients360Cards{grid-template-columns:1fr!important;}
  .client360Card{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) minmax(250px,1fr) minmax(210px,.9fr)!important;
    grid-template-areas:
      "identity money actions"
      "contact stats actions"
      "signal signal actions"!important;
  }
  .client360Actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:760px){
  .client360Card{
    min-height:0!important;
  }
}


/* V15.6.2 Client Portfolio Metrics Pro
   Goal: make Balance / Paid / Pipeline discreet pills aligned with the right-side action buttons.
   This keeps Client Portfolio readable as the client list grows.
*/
@media(min-width:1001px){
  .client360Card{
    grid-template-columns:minmax(230px,1.16fr) minmax(260px,1.18fr) minmax(160px,.68fr) minmax(220px,.82fr)!important;
    column-gap:10px!important;
    min-height:112px!important;
  }
  .client360Money{
    align-self:center!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    justify-content:flex-start!important;
  }
  .client360Money div{
    width:auto!important;
    min-width:72px!important;
    max-width:96px!important;
    min-height:30px!important;
    height:30px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:none!important;
  }
  .client360Money span{
    margin:0!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.07em!important;
    opacity:.82!important;
  }
  .client360Money strong{
    font-size:10.8px!important;
    line-height:1!important;
    max-width:45px!important;
    text-align:right!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .client360Stats{
    gap:5px!important;
  }
  .client360Stats span{
    min-height:25px!important;
    padding:5px 8px!important;
    font-size:9.8px!important;
  }
  .client360Signal{
    min-height:58px!important;
    padding:8px 9px!important;
    border-radius:14px!important;
  }
  .client360Actions .tiny,
  .client360Actions a.tiny,
  .client360Actions button{
    min-height:30px!important;
    height:30px!important;
    font-size:10.3px!important;
  }
}

@media(min-width:1380px){
  .client360Card{
    grid-template-columns:minmax(260px,1.22fr) minmax(285px,1.18fr) minmax(170px,.66fr) minmax(230px,.82fr)!important;
  }
  .client360Money div{min-width:74px!important;max-width:100px!important;}
}

@media(max-width:1260px) and (min-width:761px){
  .client360Money{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  .client360Money div{
    min-width:72px!important;
    height:30px!important;
    min-height:30px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
  }
  .client360Money strong{font-size:10.8px!important;max-width:45px!important;}
  .client360Money span{font-size:8px!important;margin:0!important;}
}

/* V15.7 Client Detail View Pro
   Client Portfolio becomes a lightweight relationship list. Full details and actions live in view-cliente.html.
*/
.clientPortfolioRow{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:14px;
  min-height:74px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  padding:13px 14px 13px 17px;
  background:linear-gradient(180deg,rgba(16,27,49,.78),rgba(7,13,25,.94));
  box-shadow:0 14px 34px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
.clientPortfolioRow:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand),var(--brand2));opacity:.78}
.clientPortfolioRow.open:before{background:linear-gradient(180deg,var(--warn),var(--brand2))}.clientPortfolioRow.risk:before{background:linear-gradient(180deg,var(--danger),#fb923c)}.clientPortfolioRow.isArchived{opacity:.72;filter:saturate(.8)}
.clientPortfolioIdentity{display:flex;align-items:center;gap:12px;min-width:0}.clientPortfolioIdentity>div{min-width:0}.clientPortfolioIdentity strong{display:block;color:#fff;font-size:15px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clientPortfolioIdentity small{display:block;color:#a9b8d1;font-size:12px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;margin-top:2px}.clientPortfolioStatus{display:flex;align-items:center;gap:9px;min-width:0}.clientPortfolioStatus span:last-child{color:#9fb1cf;font-size:12px;font-weight:900;white-space:nowrap}.clientOpenBtn{min-width:126px!important;}
.clients360Cards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.clients360Library{overflow:hidden!important}.clients360LibraryHead{border-bottom:1px solid rgba(255,255,255,.075)!important;padding-bottom:13px!important;margin-bottom:14px!important}
@media(max-width:900px){.clientPortfolioRow{grid-template-columns:1fr;align-items:start}.clientPortfolioStatus{justify-content:space-between}.clientOpenBtn{width:100%!important}.clientPortfolioIdentity small{max-width:none;white-space:normal}}

.clientDetailWrap{min-height:100vh;padding:18px;background:radial-gradient(circle at 10% 0,rgba(37,214,162,.14),transparent 30%),radial-gradient(circle at 90% 0,rgba(96,165,250,.13),transparent 34%),linear-gradient(135deg,#050814,#07101f 52%,#050814);color:var(--txt)}
.clientDetailShell{width:min(1480px,100%);margin:0 auto;border-radius:30px;padding:18px;display:grid;gap:16px;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.clientDetailTop{display:flex;align-items:center;justify-content:space-between;gap:14px}.clientDetailTop .brandLogoFree{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex-basis:42px!important}
.clientDetailHero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.55fr);gap:20px;align-items:center;padding:24px;background:radial-gradient(circle at 12% 0,rgba(37,214,162,.20),transparent 34%),radial-gradient(circle at 88% 0,rgba(96,165,250,.16),transparent 32%),linear-gradient(135deg,rgba(16,27,49,.96),rgba(7,13,25,.985))}
.clientDetailHero:after{content:'';position:absolute;right:-110px;top:-110px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(255,255,255,.10);pointer-events:none}.clientDetailIdentity{position:relative;z-index:1;display:flex;align-items:center;gap:16px;min-width:0}.clientDetailAvatar{width:74px;height:74px;border-radius:25px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,rgba(37,214,162,.25),rgba(96,165,250,.18));border:1px solid rgba(255,255,255,.13);color:#eafff8;font-size:24px;font-weight:950;letter-spacing:-.06em}.clientDetailHero h1{font-size:clamp(34px,4vw,60px);line-height:.96;margin:0 0 10px;letter-spacing:-.065em}.clientDetailHero .muted{font-size:15px;line-height:1.45}.clientDetailHeroActions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.clientDetailHeroActions .tiny{min-height:38px}
.clientDetailKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.clientDetailKpis article{min-height:118px;border:1px solid rgba(255,255,255,.085);border-radius:24px;padding:17px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.020));box-shadow:0 18px 44px rgba(0,0,0,.16);display:grid;align-content:space-between}.clientDetailKpis span,.clientDetailInfoGrid span,.clientDetailNotes span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.085em}.clientDetailKpis strong{font-size:clamp(25px,2.4vw,36px);line-height:1;color:#fff;letter-spacing:-.055em}.clientDetailKpis small{color:#9fb1cf;font-weight:800}
.clientDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clientDetailGrid>.panel{min-width:0}.clientDetailGrid h3{font-size:24px;margin-bottom:14px}.clientDetailInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clientDetailInfoGrid div,.clientDetailNotes{border:1px solid rgba(255,255,255,.075);border-radius:17px;padding:12px;background:rgba(255,255,255,.03);min-width:0}.clientDetailInfoGrid b{display:block;margin-top:5px;color:#fff;line-height:1.25;overflow-wrap:anywhere}.clientDetailNotes{margin-top:10px}.clientDetailNotes p{margin:7px 0 0;color:#d8e5f8;line-height:1.45}
.clientDetailList{display:grid;gap:10px}.clientDetailDocCard{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:rgba(255,255,255,.028);min-width:0}.clientDetailDocCard strong{display:block;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clientDetailDocCard small{display:block;color:#9fb1cf;font-weight:800;margin-top:4px}.clientDetailDocCard b{font-size:18px;color:#fff;white-space:nowrap}.clientDetailDocCard .actions{justify-content:flex-end;gap:7px}.clientDetailError{width:min(720px,100%);margin:8vh auto;padding:28px;text-align:center}.clientDetailEmpty{border:1px dashed rgba(255,255,255,.14);border-radius:18px;padding:18px;background:rgba(255,255,255,.026);display:grid;gap:5px}.clientDetailEmpty strong{color:#fff}.clientDetailEmpty span{color:#9fb1cf;font-weight:750;line-height:1.35}
@media(max-width:1000px){.clientDetailHero{grid-template-columns:1fr}.clientDetailHeroActions{justify-content:flex-start}.clientDetailKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.clientDetailGrid{grid-template-columns:1fr}}
@media(max-width:640px){.clientDetailWrap{padding:10px}.clientDetailShell{padding:12px;border-radius:24px}.clientDetailTop{display:grid}.clientDetailIdentity{align-items:flex-start}.clientDetailAvatar{width:58px;height:58px;border-radius:20px}.clientDetailKpis{grid-template-columns:1fr}.clientDetailInfoGrid{grid-template-columns:1fr}.clientDetailDocCard{grid-template-columns:1fr}.clientDetailDocCard .actions{justify-content:stretch}.clientDetailDocCard .actions>*{width:100%}}

/* Document Detail Workspace */
.docList{display:grid;gap:10px}.docListRow{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(120px,.45fr) minmax(120px,.45fr) auto auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.085);border-radius:20px;padding:13px 14px;background:linear-gradient(180deg,rgba(16,27,49,.78),rgba(7,13,25,.94));box-shadow:0 12px 32px rgba(0,0,0,.14);min-width:0}.docListRow:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand2),var(--brand));opacity:.75}.docListRow.ok:before{background:linear-gradient(180deg,var(--brand),#bef264)}.docListRow.info:before{background:linear-gradient(180deg,var(--brand2),var(--brand))}.docListRow.warn:before{background:linear-gradient(180deg,var(--warn),var(--brand2))}.docListRow.danger:before{background:linear-gradient(180deg,var(--danger),#f97316)}.docListRow.invoice:before{background:linear-gradient(180deg,var(--brand),var(--warn))}.docListMain{display:flex;align-items:center;gap:11px;min-width:0}.docListIcon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(96,165,250,.20),rgba(37,214,162,.14));border:1px solid rgba(255,255,255,.10);flex:0 0 auto}.docListMain strong{display:block;color:#fff;font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docListMain small{display:block;color:#9fb1cf;margin-top:3px;font-size:12px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docListMeta{min-width:0;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:8px 10px;background:rgba(255,255,255,.032)}.docListMeta span{display:block;color:var(--muted);font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.docListMeta b{display:block;color:#fff;font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docListStatus{display:flex;justify-content:center;min-width:max-content}.docListActions{display:flex;justify-content:flex-end;min-width:max-content}.docListActions .tiny{min-height:34px;padding:8px 12px}.documentDetailWrap{background:radial-gradient(circle at 10% 0,rgba(37,214,162,.14),transparent 30%),radial-gradient(circle at 90% 0,rgba(96,165,250,.13),transparent 34%),linear-gradient(135deg,#050814,#07101f 52%,#050814)}.documentDetailHero.ok{border-color:rgba(52,211,153,.22)}.documentDetailHero.info{border-color:rgba(96,165,250,.22)}.documentDetailHero.warn{border-color:rgba(251,191,36,.22)}.documentDetailHero.danger{border-color:rgba(251,113,133,.25)}.documentDetailHero.invoice{background:radial-gradient(circle at 12% 0,rgba(37,214,162,.18),transparent 34%),radial-gradient(circle at 88% 0,rgba(251,191,36,.13),transparent 32%),linear-gradient(135deg,rgba(16,27,49,.96),rgba(7,13,25,.985))}.documentDetailActions{align-content:center}.documentDetailActions .tiny{min-height:36px}.documentDetailKpis article{min-height:108px}.documentDetailGrid .documentDetailWide{grid-column:1/-1}.documentDetailSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.documentDetailSummary div{border:1px solid rgba(255,255,255,.075);border-radius:17px;padding:12px;background:rgba(255,255,255,.03);min-width:0}.documentDetailSummary span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.085em}.documentDetailSummary b{display:block;margin-top:5px;color:#fff;line-height:1.25;overflow-wrap:anywhere}.docDetailInlineActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.documentDetailText{white-space:pre-wrap;line-height:1.55;max-width:100%}
@media(max-width:1120px){.docListRow{grid-template-columns:minmax(260px,1fr) minmax(110px,.4fr) auto auto}.docListRow .hideSmall{display:none}}
@media(max-width:760px){.docListRow{grid-template-columns:1fr;gap:10px}.docListMeta{display:flex;align-items:center;justify-content:space-between;gap:10px}.docListStatus,.docListActions{justify-content:stretch}.docListActions .tiny{width:100%}.documentDetailSummary{grid-template-columns:1fr}.documentDetailActions{justify-content:flex-start}.documentDetailActions .tiny,.documentDetailActions a{width:100%}.docDetailInlineActions{display:grid}.docDetailInlineActions>*{width:100%}}


/* V15.9 Project Detail View Pro
   Project Library becomes a clean workspace list. Full actions live in view-project.html.
*/
.projectLineList{display:grid;gap:10px}.projectPortfolioRow{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(92px,.34fr) minmax(92px,.34fr) minmax(84px,.30fr) auto auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.085);border-radius:20px;padding:13px 14px;background:linear-gradient(180deg,rgba(16,27,49,.78),rgba(7,13,25,.94));box-shadow:0 12px 32px rgba(0,0,0,.14);min-width:0}.projectPortfolioRow:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand),var(--brand2));opacity:.78}.projectPortfolioRow.isOverdue:before{background:linear-gradient(180deg,var(--danger),#fb923c)}.projectPortfolioMain{display:flex;align-items:center;gap:11px;min-width:0}.projectPortfolioMain strong{display:block;color:#fff;font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectPortfolioMain small{display:block;color:#9fb1cf;margin-top:3px;font-size:12px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectPortfolioMeta{border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.032);display:flex;align-items:center;gap:7px;justify-content:space-between;min-width:0}.projectPortfolioMeta span{color:var(--muted);font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.projectPortfolioMeta b{font-size:12px;line-height:1;color:#fff;white-space:nowrap}.projectPortfolioStatus{display:flex;justify-content:center;min-width:max-content}.projectDetailHero{background:radial-gradient(circle at 12% 0,rgba(37,214,162,.18),transparent 34%),radial-gradient(circle at 88% 0,rgba(168,85,247,.14),transparent 32%),linear-gradient(135deg,rgba(16,27,49,.96),rgba(7,13,25,.985))}.projectDetailKpis article{min-height:108px}.projectDetailGrid .projectDetailScope{min-width:0}.projectDetailTask,.projectDetailFile{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:rgba(255,255,255,.028)}.projectDetailTask strong,.projectDetailFile strong{display:block;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectDetailTask span,.projectDetailFile span{display:block;color:#9fb1cf;font-weight:800;margin-top:4px}.projectDetailTask.isDone{opacity:.72}.projectDetailTask.isDone strong{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}.projectDetailNote{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;background:rgba(255,255,255,.028)}.projectDetailNote span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.projectDetailNote p{margin:0;color:#d8e5f8;line-height:1.45;white-space:pre-wrap}.projectDetailActions{align-content:center}.projectDetailActions .tiny{min-height:36px}
@media(max-width:1180px){.projectPortfolioRow{grid-template-columns:minmax(260px,1fr) minmax(92px,.35fr) auto auto}.projectPortfolioRow .hideSmall{display:none}}
@media(max-width:760px){.projectPortfolioRow{grid-template-columns:1fr;gap:10px}.projectPortfolioMeta{border-radius:14px}.projectPortfolioStatus{justify-content:flex-start}.projectPortfolioRow>a{width:100%}.projectDetailActions{justify-content:flex-start}.projectDetailActions .tiny,.projectDetailActions a{width:100%}.projectDetailTask,.projectDetailFile{grid-template-columns:1fr}.projectDetailTask .actions{justify-content:stretch}.projectDetailTask .actions>*{width:100%}}

/* V16.0 Production Ready Pro */
/* V16.1 adds Operator Manual Pro styles below */
.productionReadyCard{position:relative;overflow:hidden}.productionReadyCard:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 95% 0,rgba(37,214,162,.12),transparent 32%);pointer-events:none}.productionReadyGrid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.productionReadyGrid div{border:1px solid rgba(255,255,255,.075);border-radius:17px;padding:12px;background:rgba(255,255,255,.032);min-width:0}.productionReadyGrid span{display:block;color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.productionReadyGrid strong{display:block;color:#fff;margin-top:5px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.productionReadyGrid small{display:block;color:#9fb1cf;margin-top:4px;font-weight:760;line-height:1.35}
.qaWrap{min-height:100vh;padding:18px;background:radial-gradient(circle at 12% 0,rgba(37,214,162,.16),transparent 31%),radial-gradient(circle at 88% 0,rgba(96,165,250,.13),transparent 34%),linear-gradient(135deg,#050814,#07101f 52%,#050814);color:var(--txt)}.qaShell{width:min(1460px,100%);margin:0 auto;border-radius:30px;padding:18px;display:grid;gap:16px;box-shadow:0 28px 80px rgba(0,0,0,.38)}.qaHero{position:relative;overflow:hidden;display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;background:radial-gradient(circle at 15% 0,rgba(37,214,162,.19),transparent 34%),radial-gradient(circle at 88% 0,rgba(96,165,250,.15),transparent 32%),linear-gradient(135deg,rgba(16,27,49,.96),rgba(7,13,25,.985))}.qaHero h1{font-size:clamp(34px,4.4vw,64px);line-height:.96;margin:0 0 10px;letter-spacing:-.07em}.qaHeroText{min-width:0}.qaHeroActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.qaStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.qaStats article{border:1px solid rgba(255,255,255,.085);border-radius:22px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.020));box-shadow:0 16px 40px rgba(0,0,0,.16)}.qaStats span,.qaCardHead span{display:block;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.085em}.qaStats strong{display:block;font-size:clamp(23px,2.4vw,34px);letter-spacing:-.055em;margin:5px 0;color:#fff}.qaStats small{color:#9fb1cf;font-weight:800}.qaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qaCard{min-width:0;display:grid;gap:13px}.qaWide{grid-column:1/-1}.qaCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.075);padding-bottom:12px}.qaCardHead h2{margin:0;font-size:24px;letter-spacing:-.045em}.qaCode{white-space:pre-wrap;border:1px solid rgba(255,255,255,.09);background:rgba(2,8,18,.45);border-radius:16px;padding:13px;color:#dce9ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;overflow:auto}.qaChecklist,.qaBadList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.qaChecklist.compact{grid-template-columns:1fr}.qaChecklist label,.qaBadList label{display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(255,255,255,.075);border-radius:15px;padding:10px 11px;background:rgba(255,255,255,.03);color:#dce9ff;font-size:13px;line-height:1.35}.qaChecklist input,.qaBadList input{width:16px;height:16px;min-height:16px;margin-top:1px;accent-color:var(--brand);flex:0 0 auto}.qaChecklist code{font-size:12px;color:#bfdbfe}.qaBadList label{border-color:rgba(251,113,133,.16);background:rgba(251,113,133,.045);color:#fecdd3}.qaFooter{text-align:center;color:var(--muted);font-size:12px;line-height:1.45;padding:10px 0 2px}
@media(max-width:1000px){.productionReadyGrid,.qaStats{grid-template-columns:repeat(2,minmax(0,1fr))}.qaHero{grid-template-columns:1fr}.qaHeroActions{justify-content:flex-start}.qaGrid{grid-template-columns:1fr}.qaWide{grid-column:auto}}
@media(max-width:640px){.qaWrap{padding:10px}.qaShell{border-radius:24px;padding:12px}.productionReadyGrid,.qaStats,.qaChecklist,.qaBadList{grid-template-columns:1fr}.qaHero h1{font-size:34px}.qaCardHead{align-items:flex-start;flex-direction:column}.qaHero{padding:18px}}
@media print{body{background:white!important;color:#111827!important}.qaWrap{background:white!important;padding:0}.qaShell,.qaCard,.qaHero,.qaStats article{box-shadow:none!important;background:white!important;border-color:#d1d5db!important}.qaHeroActions,.ghost,.primary{display:none!important}.qaChecklist label,.qaBadList label,.qaCode{border-color:#d1d5db!important;background:white!important;color:#111827!important}.muted,.qaFooter{color:#4b5563!important}}


/* V16.1 Operator Manual Pro */
.manualWrap{min-height:100vh;padding:24px;display:grid;place-items:start center;background:radial-gradient(circle at 10% 0,rgba(37,214,162,.14),transparent 32%),radial-gradient(circle at 95% 5%,rgba(96,165,250,.12),transparent 30%)}
.manualShell{width:min(1180px,100%);border-radius:28px;padding:18px;display:grid;gap:16px}
.manualHero{display:grid;grid-template-columns:1fr 1.4fr auto;gap:18px;align-items:center;box-shadow:none;overflow:hidden;position:relative}
.manualHero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 0,rgba(37,214,162,.14),transparent 34%);pointer-events:none}.manualHero>*{position:relative;z-index:1}
.manualHeroText h1{font-size:clamp(30px,4vw,52px);line-height:.98;margin:0 0 10px}.manualHeroActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.manualStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.manualStats article{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:18px;padding:15px;min-width:0}.manualStats span,.manualCardHead span,.manualToc .eyebrow{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:950}.manualStats strong{display:block;font-size:20px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manualStats small{display:block;color:var(--muted);margin-top:5px;line-height:1.3}
.manualLayout{display:grid;grid-template-columns:245px 1fr;gap:16px;align-items:start}.manualToc{position:sticky;top:18px;box-shadow:none;display:grid;gap:7px}.manualToc a{display:flex;text-decoration:none;color:#dbeafe;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:14px;padding:10px 12px;font-weight:900;font-size:13px}.manualToc a:hover{border-color:rgba(37,214,162,.35);background:rgba(37,214,162,.08)}
.manualContent{display:grid;gap:16px}.manualCard{box-shadow:none}.manualCardHead{display:flex;gap:12px;align-items:center;margin-bottom:12px}.manualCardHead span{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:rgba(37,214,162,.12);border:1px solid rgba(37,214,162,.22);color:#bbf7d0}.manualCardHead h2{margin:0;font-size:22px}.manualFlow{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.manualFlow.twoCol{grid-template-columns:repeat(2,minmax(0,1fr))}.manualFlow div{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:17px;padding:13px}.manualFlow b{display:block;color:#fff;margin-bottom:5px}.manualFlow span{display:block;color:var(--muted);line-height:1.45;font-size:13px}.manualSteps{display:grid;gap:9px;margin-top:12px}.manualSteps label{display:flex;grid-template-columns:none;flex-direction:row;align-items:flex-start;gap:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px;padding:10px 12px;color:#dbeafe}.manualSteps input{width:16px;height:16px;min-height:16px;margin-top:2px;accent-color:#25d6a2}.manualCode{white-space:pre-wrap;overflow:auto;border:1px solid rgba(37,214,162,.18);background:rgba(2,8,18,.62);border-radius:16px;padding:14px;color:#ccfbf1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55}.manualNote{margin-top:12px;border:1px solid rgba(251,191,36,.18);background:rgba(251,191,36,.08);border-radius:16px;padding:13px;color:#fde68a;line-height:1.45}.manualFooter{text-align:center;color:var(--muted);font-size:12px;padding:8px 0 4px}
@media(max-width:950px){.manualHero{grid-template-columns:1fr}.manualHeroActions{justify-content:flex-start}.manualLayout{grid-template-columns:1fr}.manualToc{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.manualStats{grid-template-columns:repeat(2,minmax(0,1fr))}.manualFlow.twoCol{grid-template-columns:1fr}}
@media(max-width:620px){.manualWrap{padding:10px}.manualShell{padding:10px;border-radius:22px}.manualHero{padding:16px}.manualStats{grid-template-columns:1fr}.manualToc{grid-template-columns:1fr}.manualHeroActions a,.manualHeroActions button{width:100%}.manualCardHead h2{font-size:19px}}
@media print{body{background:white;color:#0f172a}.manualWrap{padding:0;background:white}.manualShell,.manualCard,.manualHero,.manualToc,.manualStats article{box-shadow:none!important;background:white!important;color:#0f172a!important;border-color:#e5e7eb!important}.manualToc,.manualHeroActions{display:none!important}.manualLayout{grid-template-columns:1fr}.manualFooter,.muted,.manualFlow span{color:#475569!important}}


/* V16.2 Security / Production Cleanup Pro */
.securityBadge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;background:rgba(37,214,162,.12);border:1px solid rgba(37,214,162,.28);color:#bbf7d0;font-size:12px;font-weight:900}
.securityGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.securityGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.securityTile{border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:16px;background:rgba(255,255,255,.035)}
.securityTile span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.securityTile strong{display:block;margin-top:7px;font-size:20px}.securityTile small{display:block;color:var(--muted);margin-top:5px;line-height:1.35}.securityDangerList,.securityKeepList{display:grid;gap:9px}.securityDangerList label,.securityKeepList label{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);font-weight:800}.securityDangerList label{color:#fecdd3}.securityKeepList label{color:#bbf7d0}.securityCommand{display:block;white-space:pre-wrap;overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(3,9,20,.58);padding:16px;color:#dbeafe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.securityNote{border:1px solid rgba(251,191,36,.22);background:rgba(251,191,36,.08);color:#fde68a;border-radius:18px;padding:14px;line-height:1.45}.securityOk{border:1px solid rgba(37,214,162,.22);background:rgba(37,214,162,.08);color:#bbf7d0;border-radius:18px;padding:14px;line-height:1.45}@media(max-width:900px){.securityGrid,.securityGrid.two{grid-template-columns:1fr}}


/* V16.3 Final QA Pass Pro */
/* V16.9 Release Control Pro */
.qaRunnerPage .qaShell{max-width:1500px}.qaRunnerHero h1{font-size:clamp(34px,4.6vw,68px)}
.qaRunnerStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.qaRunnerStats article{border:1px solid rgba(255,255,255,.085);border-radius:22px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.024));box-shadow:0 18px 44px rgba(0,0,0,.16)}.qaRunnerStats span{display:block;color:var(--muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:950}.qaRunnerStats strong{display:block;color:#fff;font-size:clamp(28px,3.2vw,44px);letter-spacing:-.06em;margin:4px 0}.qaRunnerStats small{color:#9fb1cf;font-weight:800}.qaRunnerControl{display:flex;align-items:end;justify-content:space-between;gap:18px}.qaRunnerControl h2{font-size:28px;margin:0 0 6px}.qaRunnerFields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:min(680px,100%)}.qaRunnerGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qaRunCard{position:relative;overflow:hidden;box-shadow:none;gap:12px;padding:16px!important}.qaRunCard:before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:rgba(148,163,184,.45)}.qaRunCard.pass:before{background:linear-gradient(90deg,var(--brand),var(--ok))}.qaRunCard.review:before{background:linear-gradient(90deg,var(--danger),#fb923c)}.qaRunCard.na:before{background:linear-gradient(90deg,var(--brand2),#a78bfa)}.qaRunTop{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center}.qaRunTop span{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(37,214,162,.11);border:1px solid rgba(37,214,162,.20);color:#bbf7d0;font-size:12px;font-weight:950;grid-row:1/3}.qaRunTop b{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.qaRunTop strong{color:#fff;font-size:17px;letter-spacing:-.03em;line-height:1.15}.qaRunCard p{color:#a9b8d1;font-size:13px;line-height:1.38;margin:0}.qaRunButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.qaRunButtons .tiny{min-height:34px;padding:7px 9px;font-size:11px}.qaRunNote{min-height:38px!important;border-radius:13px!important;font-size:12px!important;padding:9px 10px!important}.qaRunnerNotes textarea{resize:vertical;min-height:130px}.qaRunnerActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:1180px){.qaRunnerGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.qaRunnerControl{display:grid}.qaRunnerFields{min-width:0;width:100%}}@media(max-width:760px){.qaRunnerStats,.qaRunnerFields,.qaRunnerGrid{grid-template-columns:1fr}.qaRunnerActions button{width:100%}.qaRunCard{padding:14px!important}}
@media print{.qaRunnerControl input,.qaRunNote,.qaRunnerNotes textarea{border-color:#d1d5db!important;background:white!important;color:#111827!important}.qaRunButtons{display:none!important}.qaRunCard:before{display:none}.qaRunCard{break-inside:avoid}}


/* V16.9 Release Control Pro */
.releaseWrap{min-height:100vh;padding:24px;background:radial-gradient(circle at 10% 0,rgba(37,214,162,.15),transparent 32%),radial-gradient(circle at 92% 0,rgba(96,165,250,.12),transparent 32%),linear-gradient(135deg,#050814,#07101f 52%,#050814);color:var(--txt)}
.releaseShell{width:min(1320px,100%);margin:0 auto;border-radius:30px;padding:18px;display:grid;gap:16px;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.releaseHero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:18px;align-items:stretch;background:radial-gradient(circle at 12% 0,rgba(37,214,162,.19),transparent 34%),radial-gradient(circle at 92% 0,rgba(96,165,250,.14),transparent 32%),linear-gradient(135deg,rgba(16,27,49,.96),rgba(7,13,25,.985));box-shadow:none}.releaseHero h1{font-size:clamp(34px,4.8vw,64px);line-height:.96;margin:0 0 10px;letter-spacing:-.07em}.releaseHeroPanel{display:grid;gap:10px;align-content:center;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px;background:rgba(255,255,255,.035)}.releaseHeroPanel div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:9px}.releaseHeroPanel div:last-child{border-bottom:0;padding-bottom:0}.releaseHeroPanel span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:950}.releaseHeroPanel b{color:#fff;text-align:right}.releaseStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.releaseStats article,.releaseCard,.releaseStep{border:1px solid rgba(255,255,255,.085);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:0 18px 44px rgba(0,0,0,.16);min-width:0}.releaseStats article{padding:16px}.releaseStats span,.releaseCardHead span,.releaseStep span{display:block;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.085em}.releaseStats strong{display:block;color:#fff;font-size:clamp(24px,2.6vw,36px);letter-spacing:-.055em;margin:5px 0}.releaseStats small{display:block;color:#9fb1cf;font-weight:800}.releaseGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.releaseCard{padding:16px;display:grid;gap:12px}.releaseWide{grid-column:1/-1}.releaseCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.075);padding-bottom:12px}.releaseCardHead h2{margin:0;font-size:24px;letter-spacing:-.045em}.releaseSteps{display:grid;gap:10px}.releaseStep{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.03);box-shadow:none}.releaseStep .num{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(37,214,162,.11);border:1px solid rgba(37,214,162,.21);font-size:12px;font-weight:950;color:#bbf7d0}.releaseStep b{display:block;color:#fff;font-size:15px}.releaseStep small{display:block;color:#9fb1cf;margin-top:3px;line-height:1.35}.releaseCode{white-space:pre-wrap;border:1px solid rgba(255,255,255,.09);background:rgba(2,8,18,.58);border-radius:16px;padding:13px;color:#dce9ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;overflow:auto}.releaseChecklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.releaseChecklist label{display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(255,255,255,.075);border-radius:15px;padding:10px 11px;background:rgba(255,255,255,.03);color:#dce9ff;font-size:13px;line-height:1.35}.releaseChecklist input{width:16px;height:16px;min-height:16px;margin-top:1px;accent-color:var(--brand);flex:0 0 auto}.releaseTimeline{display:grid;gap:10px}.releaseTimeline div{position:relative;border-left:3px solid rgba(37,214,162,.35);padding:0 0 0 14px}.releaseTimeline b{display:block;color:#fff}.releaseTimeline span{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:3px}.releaseActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.releaseFooter{text-align:center;color:var(--muted);font-size:12px;padding:8px 0 2px}
@media(max-width:1000px){.releaseHero,.releaseGrid{grid-template-columns:1fr}.releaseWide{grid-column:auto}.releaseStats,.releaseChecklist{grid-template-columns:repeat(2,minmax(0,1fr))}.releaseActions{justify-content:flex-start}.releaseStep{grid-template-columns:auto 1fr}}
@media(max-width:640px){.releaseWrap{padding:10px}.releaseShell{border-radius:24px;padding:12px}.releaseHero{padding:18px}.releaseStats,.releaseChecklist{grid-template-columns:1fr}.releaseHero h1{font-size:34px}.releaseCardHead{align-items:flex-start;flex-direction:column}.releaseActions a,.releaseActions button{width:100%}}
@media print{body{background:white!important;color:#111827!important}.releaseWrap{background:white!important;padding:0}.releaseShell,.releaseHero,.releaseCard,.releaseStats article,.releaseStep{box-shadow:none!important;background:white!important;border-color:#d1d5db!important}.releaseActions,.ghost,.primary{display:none!important}.muted,.releaseFooter,.releaseTimeline span,.releaseStep small{color:#4b5563!important}.releaseCode{background:white!important;color:#111827!important;border-color:#d1d5db!important}}


