/* ScoresTech PARTNER-UI-F1
   Unified Partner Portal presentation layer.
   No business logic lives in this file. */

:root{
  --pui-nav:#07111f;
  --pui-nav-2:#0b1728;
  --pui-nav-active:#16233b;
  --pui-nav-text:#e8eef8;
  --pui-nav-muted:#91a0b5;
  --pui-bg:#f4f7fb;
  --pui-card:#ffffff;
  --pui-line:#dfe6ef;
  --pui-text:#101828;
  --pui-muted:#667085;
  --pui-blue:#2563eb;
  --pui-blue-soft:#eff6ff;
  --pui-green:#087f5b;
  --pui-red:#b42318;
  --pui-amber:#b54708;
  --pui-radius:16px;
  --pui-shadow:0 10px 30px rgba(15,23,42,.07);
  --pui-sidebar:272px;
}

html{background:var(--pui-bg)}
body.partner-ui-f1{
  margin:0!important;
  background:var(--pui-bg)!important;
  color:var(--pui-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

body.partner-ui-f1 *{box-sizing:border-box}

/* Retire all legacy Partner shells/navigation only on authenticated portal pages. */
body.partner-ui-f1:not(.partner-ui-auth) .stp-sidebar,
body.partner-ui-f1:not(.partner-ui-auth) .shell>.side,
body.partner-ui-f1:not(.partner-ui-auth) .layout>nav,
body.partner-ui-f1:not(.partner-ui-auth) .mobile,
body.partner-ui-f1:not(.partner-ui-auth) .stp-mobilebar{
  display:none!important;
}

body.partner-ui-f1:not(.partner-ui-auth) .stp-shell,
body.partner-ui-f1:not(.partner-ui-auth) .shell,
body.partner-ui-f1:not(.partner-ui-auth) .layout{
  display:block!important;
  min-height:100vh!important;
  grid-template-columns:none!important;
}

body.partner-ui-f1:not(.partner-ui-auth) .stp-main,
body.partner-ui-f1:not(.partner-ui-auth) .shell>.main,
body.partner-ui-f1:not(.partner-ui-auth) .layout>main{
  margin-left:var(--pui-sidebar)!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}

body.partner-ui-f1:not(.partner-ui-auth) .stp-page{
  padding:0 26px 40px!important;
  min-width:0!important;
}

/* Old page-level top nav is redundant once shared shell is active. */
body.partner-ui-f1:not(.partner-ui-auth) .stp-page>header nav,
body.partner-ui-f1:not(.partner-ui-auth) .stp-page>header>a[href="/partner/dashboard"],
body.partner-ui-f1:not(.partner-ui-auth) .stp-page>header>a[href="/partner/logout"]{
  display:none!important;
}

.pui-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:1200;
  width:var(--pui-sidebar);
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.17),transparent 30%),
    linear-gradient(180deg,var(--pui-nav),#050b15 100%);
  color:var(--pui-nav-text);
  border-right:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:14px 0 35px rgba(4,10,20,.12);
}

.pui-brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:20px 18px 17px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  color:#fff;
}
.pui-brandmark{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  font-weight:900;font-size:20px;
  background:#fff;color:#0b1424;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.pui-brandcopy{min-width:0}
.pui-brandcopy strong{display:block;font-size:16px;line-height:1.15}
.pui-brandcopy span{display:block;color:#9db0c9;font-size:12px;margin-top:4px}

.pui-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:12px 10px 20px;
  scrollbar-width:thin;
  scrollbar-color:#24344e transparent;
}
.pui-section{margin:10px 0 17px}
.pui-section-label{
  padding:0 11px 7px;
  color:#708198;
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.115em;
  text-transform:uppercase;
}
.pui-link{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin:2px 0;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:11px;
  color:#cbd6e5;
  text-decoration:none;
  font-size:14px;
  font-weight:680;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.pui-link:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
  transform:translateX(1px);
}
.pui-link.active{
  background:linear-gradient(135deg,#1d2c46,#17253c);
  border-color:rgba(147,197,253,.23);
  color:#fff;
  box-shadow:inset 3px 0 0 #60a5fa;
}
.pui-link svg{width:18px;height:18px;flex:0 0 18px;opacity:.9}
.pui-link small{margin-left:auto;color:#8191a7;font-size:10px}

.pui-account{
  flex:0 0 auto;
  border-top:1px solid rgba(255,255,255,.08);
  padding:13px 12px 15px;
}
.pui-account-note{
  color:#7f90a8;font-size:11px;line-height:1.4;padding:0 7px 9px
}
.pui-signout{color:#fecaca}
.pui-signout:hover{background:rgba(239,68,68,.09);color:#fff}

.pui-topbar{
  position:sticky;
  top:0;
  z-index:1000;
  min-height:72px;
  margin-left:var(--pui-sidebar);
  padding:12px 28px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--pui-line);
  display:flex;
  align-items:center;
  gap:14px;
}
.pui-topbar-copy{min-width:0}
.pui-topbar-copy small{
  display:block;color:#7a889b;font-size:11px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px
}
.pui-topbar-copy strong{
  display:block;color:#101828;font-size:18px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis
}
.pui-topbar-spacer{flex:1}
.pui-top-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;
  padding:8px 12px;border:1px solid var(--pui-line);border-radius:11px;
  color:#344054!important;background:#fff!important;text-decoration:none!important;
  font-weight:750;font-size:13px
}
.pui-menu{
  display:none;
  align-items:center;justify-content:center;
  width:48px;height:48px;min-width:48px;
  border:1px solid #d5dde8!important;
  border-radius:13px!important;
  background:#fff!important;color:#0f172a!important;
  padding:0!important;margin:0!important;
  font-size:23px!important;line-height:1!important;
  cursor:pointer!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 4px 15px rgba(15,23,42,.06);
}

.pui-backdrop{
  position:fixed;inset:0;z-index:1150;
  background:rgba(2,8,23,.50);
  opacity:0;pointer-events:none;
  transition:opacity .18s ease;
}

/* Page surfaces */
body.partner-ui-f1:not(.partner-ui-auth) main,
body.partner-ui-f1:not(.partner-ui-auth) .wrap,
body.partner-ui-f1:not(.partner-ui-auth) .w{
  max-width:1380px!important;
}

body.partner-ui-f1:not(.partner-ui-auth) h1{
  color:#0b1220!important;
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
body.partner-ui-f1:not(.partner-ui-auth) h2{
  color:#111827!important;
  letter-spacing:-.018em!important;
}
body.partner-ui-f1:not(.partner-ui-auth) p{line-height:1.6}
body.partner-ui-f1:not(.partner-ui-auth) .muted{color:var(--pui-muted)!important}

body.partner-ui-f1:not(.partner-ui-auth) .card,
body.partner-ui-f1:not(.partner-ui-auth) .c,
body.partner-ui-f1:not(.partner-ui-auth) .hero,
body.partner-ui-f1:not(.partner-ui-auth) .stat,
body.partner-ui-f1:not(.partner-ui-auth) .notice{
  border-radius:var(--pui-radius)!important;
}
body.partner-ui-f1:not(.partner-ui-auth) .card,
body.partner-ui-f1:not(.partner-ui-auth) .c,
body.partner-ui-f1:not(.partner-ui-auth) .hero,
body.partner-ui-f1:not(.partner-ui-auth) .stat{
  background:var(--pui-card)!important;
  border:1px solid var(--pui-line)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.03)!important;
}
body.partner-ui-f1:not(.partner-ui-auth) .hero{
  background:
    radial-gradient(circle at 90% 0%,rgba(37,99,235,.11),transparent 35%),
    linear-gradient(135deg,#fff,#f8fbff)!important;
}

body.partner-ui-f1:not(.partner-ui-auth) button,
body.partner-ui-f1:not(.partner-ui-auth) .btn,
body.partner-ui-f1:not(.partner-ui-auth) .button{
  border-radius:10px!important;
  font-weight:800!important;
  min-height:42px;
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
body.partner-ui-f1:not(.partner-ui-auth) button:hover,
body.partner-ui-f1:not(.partner-ui-auth) .btn:hover,
body.partner-ui-f1:not(.partner-ui-auth) .button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(15,23,42,.10);
}
body.partner-ui-f1:not(.partner-ui-auth) input,
body.partner-ui-f1:not(.partner-ui-auth) select,
body.partner-ui-f1:not(.partner-ui-auth) textarea{
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#101828!important;
  outline:none;
}
body.partner-ui-f1:not(.partner-ui-auth) input:focus,
body.partner-ui-f1:not(.partner-ui-auth) select:focus,
body.partner-ui-f1:not(.partner-ui-auth) textarea:focus{
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;
}
body.partner-ui-f1:not(.partner-ui-auth) table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.partner-ui-f1:not(.partner-ui-auth) th{
  color:#526072!important;
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:.055em;
  background:#f8fafc;
}
body.partner-ui-f1:not(.partner-ui-auth) th,
body.partner-ui-f1:not(.partner-ui-auth) td{
  border-bottom:1px solid #e8edf3!important;
  vertical-align:middle!important;
}

/* Authentication surfaces: visually align, but never inject app sidebar. */
body.partner-ui-f1.partner-ui-auth{
  min-height:100vh!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(37,99,235,.09),transparent 30%),
    linear-gradient(180deg,#f8fbff,#eef3f9)!important;
}
body.partner-ui-f1.partner-ui-auth .card{
  border:1px solid #dce5ef!important;
  border-radius:20px!important;
  box-shadow:0 22px 60px rgba(15,23,42,.12)!important;
}
body.partner-ui-f1.partner-ui-auth button{
  min-height:48px!important;
  border-radius:11px!important;
  font-weight:800!important;
}
body.partner-ui-f1.partner-ui-auth input{
  min-height:48px!important;
  border-radius:10px!important;
}
body.partner-ui-f1.partner-ui-auth .brand{
  color:#0b1220!important;
  letter-spacing:.02em!important;
}

/* Mobile */
@media(max-width:900px){
  :root{--pui-sidebar:min(86vw,320px)}

  body.partner-ui-f1:not(.partner-ui-auth) .stp-main,
  body.partner-ui-f1:not(.partner-ui-auth) .shell>.main,
  body.partner-ui-f1:not(.partner-ui-auth) .layout>main{
    margin-left:0!important;
  }
  body.partner-ui-f1:not(.partner-ui-auth) .stp-page{
    padding:0 14px 26px!important;
  }

  .pui-sidebar{
    width:var(--pui-sidebar);
    transform:translateX(-104%);
    transition:transform .20s ease;
    will-change:transform;
  }
  .pui-topbar{
    margin-left:0;
    min-height:68px;
    padding:10px 14px;
  }
  .pui-menu{display:inline-flex}
  .pui-top-link{display:none}

  body.partner-ui-drawer-open .pui-sidebar{transform:translateX(0)}
  body.partner-ui-drawer-open .pui-backdrop{
    opacity:1;pointer-events:auto
  }
  body.partner-ui-drawer-open{overflow:hidden}

  body.partner-ui-f1:not(.partner-ui-auth) .grid,
  body.partner-ui-f1:not(.partner-ui-auth) .stats,
  body.partner-ui-f1:not(.partner-ui-auth) .cards{
    grid-template-columns:1fr!important;
  }

  body.partner-ui-f1:not(.partner-ui-auth) table{
    min-width:680px;
  }
  body.partner-ui-f1:not(.partner-ui-auth) .table-wrap,
  body.partner-ui-f1:not(.partner-ui-auth) section:has(> table){
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

@media(max-width:560px){
  .pui-topbar-copy strong{font-size:16px}
  body.partner-ui-f1:not(.partner-ui-auth) h1{font-size:30px!important}
  body.partner-ui-f1:not(.partner-ui-auth) .card,
  body.partner-ui-f1:not(.partner-ui-auth) .c,
  body.partner-ui-f1:not(.partner-ui-auth) .hero{
    padding:17px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
