:root{
  --page:#edf3fb;
  --surface:#ffffff;
  --surface-soft:#f6f9fe;
  --ink:#0d1533;
  --ink-2:#1d3159;
  --muted:#66748b;
  --line:#dbe4f0;
  --blue:#2568e8;
  --blue-deep:#0d1533;
  --blue-soft:#eaf1ff;
  --orange:#f29b43;
  --orange-deep:#a95211;
  --orange-soft:#fff1df;
  --danger:#d94d42;
  --shadow:0 24px 70px rgba(13,21,51,.12);
  --shadow-soft:0 14px 34px rgba(13,21,51,.07);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  background:
    radial-gradient(circle at 12% 4%,rgba(242,155,67,.18),transparent 30%),
    radial-gradient(circle at 82% 18%,rgba(37,104,232,.14),transparent 34%),
    linear-gradient(135deg,#f8fbff 0%,var(--page) 55%,#f6f8fd 100%);
  color:var(--ink);
}

body.partner-auth-checking{
  overflow:hidden;
  background:#050712 !important;
}

body.partner-auth-checking .partner-shell{
  width:100%;
  max-width:none;
  min-height:100dvh;
  margin:0;
  padding:0;
  background:#050712;
}

button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.72}
a{color:inherit;text-decoration:none}

.partner-shell{
  width:min(1380px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:24px 34px 46px;
}

.partner-public-top,.partner-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding:14px 16px;
  border:1px solid rgba(219,228,240,.92);
  border-radius:24px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.brand img{
  width:44px;
  height:44px;
  flex:0 0 auto;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(37,104,232,.16);
}

.brand b{
  color:var(--blue-deep);
  font-size:1.18rem;
  font-weight:950;
  letter-spacing:.01em;
  white-space:nowrap;
}

.brand span,.portal-account-chip{
  display:inline-grid;
  place-items:center;
  min-height:28px;
  padding:0 11px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:999px;
  background:var(--blue-soft);
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
}

.partner-public-top nav{
  display:flex;
  align-items:center;
  gap:10px;
}

.public-nav-toggle{
  display:none;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 22px rgba(13,21,51,.08);
}

.public-nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  margin:2px 0;
  border-radius:999px;
  background:var(--blue-deep);
}

.partner-public-top nav a,.partner-public-top nav button{
  display:inline-grid;
  place-items:center;
  min-height:40px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--blue-deep);
  font-size:.8rem;
  font-weight:900;
  box-shadow:none;
}

.partner-public-top nav a:hover,.partner-public-top nav button.nav-link:hover{
  border-color:rgba(37,104,232,.16);
  background:#fff;
  box-shadow:0 8px 18px rgba(13,21,51,.05);
}

.partner-public-top nav button.nav-primary{
  border:0;
  padding:0 18px;
  background:linear-gradient(135deg,var(--blue),#1748bc);
  color:#fff;
  box-shadow:0 14px 26px rgba(37,104,232,.22);
}

.partner-public-top nav button.nav-ghost{
  border:1px solid rgba(37,104,232,.22);
  background:#fff;
  color:var(--blue-deep);
  box-shadow:0 8px 18px rgba(13,21,51,.05);
}

.eyebrow{
  margin:0 0 8px;
  color:var(--orange-deep);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.primary,.secondary,.google-auth-button,.partner-type-card button,.row-actions button{
  min-height:44px;
  border-radius:14px;
  font-weight:950;
}

.primary{
  border:0;
  padding:0 18px;
  background:linear-gradient(135deg,var(--blue),#1748bc);
  color:#fff;
  box-shadow:0 14px 28px rgba(37,104,232,.22);
}

.secondary{
  border:1px solid rgba(37,104,232,.24);
  padding:0 18px;
  background:#fff;
  color:var(--blue-deep);
}

.full{width:100%}

/* Desktop / web landing */
.partner-campaign-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,430px);
  gap:30px;
  align-items:stretch;
  min-height:560px;
  padding:46px;
  border:1px solid rgba(219,228,240,.94);
  border-radius:30px;
  background:
    radial-gradient(circle at 82% 18%,rgba(242,155,67,.18),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,247,255,.94));
  box-shadow:var(--shadow);
  overflow:hidden;
}

.partner-public-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.partner-public-copy h1{
  max-width:820px;
  margin:0;
  color:var(--blue-deep);
  font-size:clamp(2.7rem,5vw,5.05rem);
  line-height:.98;
  letter-spacing:0;
}

.partner-public-copy p:not(.eyebrow){
  max-width:720px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:1.05rem;
  font-weight:760;
  line-height:1.62;
}

.public-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}

.campaign-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}

.campaign-trust-row span{
  display:inline-grid;
  place-items:center;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(37,104,232,.14);
  border-radius:999px;
  background:#fff;
  color:var(--ink-2);
  font-size:.76rem;
  font-weight:900;
}

.campaign-visual-card{
  position:relative;
  min-height:100%;
  min-width:0;
  padding:14px;
  border:1px solid rgba(242,155,67,.34);
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 88%,rgba(37,104,232,.13),transparent 38%),
    linear-gradient(145deg,#fff,var(--orange-soft));
  box-shadow:0 20px 46px rgba(13,21,51,.09);
  overflow:hidden;
}

.campaign-visual-card>img{
  width:100%;
  height:100%;
  min-height:430px;
  border-radius:20px;
  object-fit:cover;
  filter:saturate(.95) contrast(.98);
}

.campaign-floating-card{
  position:absolute;
  right:28px;
  bottom:28px;
  display:grid;
  gap:5px;
  width:min(78%,300px);
  padding:16px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 44px rgba(13,21,51,.16);
  backdrop-filter:blur(14px);
}

.campaign-floating-card span{
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:var(--blue-deep);
  color:#fff;
  font-size:.68rem;
  font-weight:950;
}

.campaign-floating-card b{
  color:var(--blue-deep);
  font-size:1rem;
  line-height:1.2;
}

.campaign-floating-card small{
  color:var(--muted);
  font-size:.76rem;
  font-weight:760;
}

.partner-programs,.how-it-works,.flow-card,.partner-dashboard,.campaign-highlight-grid,.public-template-downloads,.virtual-menu-models{
  display:grid;
  gap:20px;
  margin-top:18px;
  padding:30px;
  border:1px solid rgba(219,228,240,.94);
  border-radius:26px;
  background:rgba(255,255,255,.95);
  box-shadow:var(--shadow-soft);
}

.campaign-highlight-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.campaign-highlight-grid article{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:210px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,var(--surface-soft));
}

.campaign-highlight-grid img{
  width:46px;
  height:46px;
  object-fit:contain;
}

.campaign-highlight-grid b{
  color:var(--blue-deep);
  font-size:1.05rem;
  line-height:1.2;
}

.campaign-highlight-grid span{
  color:var(--muted);
  font-size:.9rem;
  font-weight:740;
  line-height:1.5;
}

.public-template-downloads{
  background:
    radial-gradient(circle at 90% 0%,rgba(242,155,67,.16),transparent 30%),
    linear-gradient(180deg,#fff,#f8fbff);
}

.section-head p:not(.eyebrow){
  max-width:760px;
  margin:9px 0 0;
  color:var(--muted);
  font-weight:760;
  line-height:1.56;
}

.template-download-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.virtual-menu-models{
  background:
    radial-gradient(circle at 10% 10%,rgba(40,96,218,.14),transparent 32%),
    radial-gradient(circle at 88% 0%,rgba(242,155,67,.18),transparent 30%),
    linear-gradient(135deg,#fff,#f7faff);
}

.virtual-menu-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.virtual-menu-card{
  position:relative;
  overflow:hidden;
  display:grid;
  align-content:end;
  gap:10px;
  min-height:255px;
  padding:22px;
  border:1px solid rgba(219,228,240,.95);
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 16%,rgba(255,255,255,.58) 0 42px,transparent 43px),
    linear-gradient(150deg,#101936,#263f82);
  box-shadow:0 20px 46px rgba(16,25,54,.13);
  color:#fff;
}

.virtual-menu-card:before{
  content:"";
  position:absolute;
  inset:18px 18px auto auto;
  width:84px;
  height:84px;
  border-radius:26px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.06)),
    radial-gradient(circle at 30% 25%,rgba(242,155,67,.9),transparent 48%);
  transform:rotate(8deg);
}

.virtual-menu-card.tone-2{
  background:
    radial-gradient(circle at 88% 16%,rgba(255,255,255,.6) 0 42px,transparent 43px),
    linear-gradient(150deg,#13204a,#3a4a90);
}

.virtual-menu-card.tone-3{
  background:
    radial-gradient(circle at 88% 16%,rgba(255,255,255,.62) 0 42px,transparent 43px),
    linear-gradient(150deg,#14213e,#b35d2b);
}

.virtual-menu-card span{
  position:relative;
  width:max-content;
  max-width:100%;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#ffe8cd;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.virtual-menu-card b{
  position:relative;
  max-width:250px;
  font-size:1.45rem;
  line-height:1.08;
}

.virtual-menu-card p,.virtual-menu-card small{
  position:relative;
  max-width:310px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-weight:780;
  line-height:1.45;
}

.virtual-menu-card small{
  color:rgba(255,255,255,.68);
  font-size:.75rem;
}

.template-download-grid article{
  display:grid;
  grid-template-rows:auto auto minmax(48px,1fr) auto;
  gap:10px;
  min-width:0;
  min-height:210px;
  padding:18px;
  border:1px solid rgba(219,228,240,.95);
  border-radius:22px;
  background:rgba(255,255,255,.86);
  box-shadow:0 14px 34px rgba(13,21,51,.06);
}

.template-download-grid span{
  display:grid;
  place-items:center;
  width:52px;
  height:36px;
  border-radius:14px;
  background:var(--orange-soft);
  color:var(--orange-deep);
  font-size:.72rem;
  font-weight:950;
}

.template-download-grid h3{
  min-width:0;
  margin:0;
  color:var(--blue-deep);
  font-size:1.12rem;
  line-height:1.16;
  overflow-wrap:anywhere;
}

.template-download-grid p{
  min-width:0;
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  font-weight:740;
  line-height:1.38;
  overflow-wrap:anywhere;
}

.template-download-grid a{
  display:inline-grid;
  place-items:center;
  justify-self:start;
  min-height:42px;
  max-width:100%;
  padding:0 12px;
  border:1px solid rgba(37,104,232,.2);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.76rem;
  font-weight:950;
  overflow:hidden;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(13,21,51,.06);
}

.section-head h2,.flow-card h1,.partner-dashboard h2{
  margin:0;
  color:var(--blue-deep);
  font-size:1.7rem;
  line-height:1.15;
}

.public-type-grid,.partner-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.partner-type-card{
  display:grid;
  grid-template-rows:auto auto minmax(84px,1fr) auto;
  gap:14px;
  min-width:0;
  min-height:276px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,var(--surface-soft));
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}

.partner-type-card.active{
  border-color:rgba(37,104,232,.38);
  background:linear-gradient(180deg,#fff,var(--blue-soft));
}

.type-badge{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:15px;
  background:var(--orange-soft);
  color:var(--orange-deep);
  font-size:.72rem;
  font-weight:950;
}

.partner-type-card small{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.partner-type-card h3{
  margin:0;
  color:var(--blue-deep);
  font-size:1.24rem;
  line-height:1.18;
}

.partner-type-card p{
  margin:0;
  color:var(--muted);
  font-size:.93rem;
  font-weight:740;
  line-height:1.5;
  overflow-wrap:break-word;
}

.partner-type-card button{
  justify-self:start;
  border:1px solid rgba(37,104,232,.22);
  padding:0 15px;
  background:#fff;
  color:var(--blue-deep);
}

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

.steps-grid article{
  display:grid;
  gap:16px;
  min-height:146px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface-soft);
}

.steps-grid span{
  display:grid;
  place-items:center;
  width:46px;
  height:34px;
  border-radius:999px;
  background:var(--blue-deep);
  color:#fff;
  font-size:.76rem;
  font-weight:950;
}

.steps-grid b{
  align-self:end;
  color:var(--ink-2);
  font-size:1rem;
  line-height:1.35;
}

/* Login */
.partner-login-layout{
  display:grid;
  grid-template-columns:minmax(360px,520px) minmax(320px,1fr);
  gap:22px;
  align-items:stretch;
}

.login-card,.login-side-card{
  display:grid;
  gap:16px;
  min-width:0;
  padding:30px;
  border:1px solid rgba(219,228,240,.94);
  border-radius:26px;
  background:rgba(255,255,255,.95);
  box-shadow:var(--shadow);
}

.login-card h1{
  margin:0;
  color:var(--blue-deep);
  font-size:2.15rem;
  line-height:1.08;
}

.login-card p,.login-side-card small{
  margin:0;
  color:var(--muted);
  font-weight:760;
  line-height:1.55;
}

.google-auth-button{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  justify-items:start;
  gap:14px;
  width:100%;
  min-height:62px;
  border:1px solid rgba(37,104,232,.2);
  padding:0 18px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,rgba(37,104,232,.42),rgba(242,155,67,.34)) border-box;
  color:var(--blue-deep);
  text-align:left;
  box-shadow:0 16px 34px rgba(13,21,51,.1);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.google-auth-button:before{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(37,104,232,.06),transparent 42%,rgba(242,155,67,.08));
  opacity:.9;
  pointer-events:none;
  content:"";
}

.google-auth-button:hover{
  transform:translateY(-1px);
  border-color:rgba(37,104,232,.34);
  box-shadow:0 20px 42px rgba(13,21,51,.14);
}

.google-auth-button:active{
  transform:translateY(0);
  box-shadow:0 10px 24px rgba(13,21,51,.1);
}

.google-auth-button b,.google-auth-button span{
  position:relative;
  z-index:1;
}

.google-auth-button b{
  display:flex;
  align-items:center;
  min-width:0;
  min-height:42px;
  overflow:hidden;
  color:var(--blue-deep);
  line-height:1.15;
  white-space:nowrap;
}

.google-auth-button span{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(13,21,51,.1);
}

.google-auth-button svg{
  width:22px;
  height:22px;
}

.login-card>.secondary.full{
  min-height:50px;
  border-color:rgba(37,104,232,.16);
  background:rgba(255,255,255,.58);
  color:var(--muted);
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}

.login-card>.secondary.full:hover{
  border-color:rgba(37,104,232,.28);
  background:#fff;
  color:var(--blue-deep);
}

.login-side-card{
  position:relative;
  align-content:end;
  min-height:360px;
  padding:34px;
  background:
    radial-gradient(circle at 84% 18%,rgba(255,208,165,.34),transparent 23%),
    radial-gradient(circle at 20% 18%,rgba(104,141,255,.32),transparent 24%),
    linear-gradient(145deg,#071331 0%,#122658 54%,#1f376b 100%);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}

.login-side-card:before{
  position:absolute;
  inset:18px 18px auto auto;
  width:210px;
  height:210px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:42px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.02)),
    radial-gradient(circle at 35% 34%,rgba(242,155,67,.42),transparent 14%),
    radial-gradient(circle at 64% 62%,rgba(102,127,255,.42),transparent 16%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 28px 70px rgba(0,0,0,.18);
  transform:rotate(10deg);
  opacity:.52;
  content:"";
  z-index:-1;
}

.login-side-card:after{
  position:absolute;
  left:-58px;
  bottom:-68px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(242,155,67,.28),rgba(242,155,67,.08) 46%,transparent 68%);
  content:"";
  z-index:-1;
}

.login-side-card span{
  width:max-content;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  color:#ffd7bd;
  font-size:.75rem;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}

.login-side-card b{
  max-width:520px;
  color:#fff;
  font-size:2.12rem;
  line-height:1.12;
  text-shadow:0 16px 40px rgba(0,0,0,.18);
}

.login-side-card small{
  max-width:520px;
  color:#e7edff;
  font-size:.95rem;
  line-height:1.58;
}

.auth-error{
  padding:12px 14px;
  border:1px solid rgba(217,77,66,.24);
  border-radius:16px;
  background:#fff1ed;
  color:#9c2e24;
  font-size:.86rem;
  font-weight:850;
}

.partner-splash{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  min-height:100dvh;
  padding:24px;
  background:
    radial-gradient(circle at 50% 28%,rgba(102,127,255,.26),transparent 34%),
    radial-gradient(circle at 50% 80%,rgba(242,155,67,.16),transparent 34%),
    linear-gradient(180deg,#050712 0%,#070d1b 52%,#071020 100%);
  color:#fff;
  overflow:hidden;
}

#partnerPortal:has(.partner-splash){
  position:fixed;
  inset:0;
  z-index:999;
  display:block;
  width:100%;
  min-height:100dvh;
  margin:0;
  padding:0;
  background:#050712;
}

.partner-splash:before{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(102,127,255,.18),transparent 20%,transparent 80%,rgba(255,159,113,.16));
  opacity:.5;
  content:"";
}

.partner-splash-center{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  width:min(100%,390px);
  text-align:center;
}

.partner-splash-orbit{
  position:relative;
  display:grid;
  place-items:center;
  width:220px;
  height:220px;
}

.partner-splash-orbit:before{
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,210,184,.22);
  border-top-color:rgba(174,190,255,.56);
  border-radius:50%;
  filter:drop-shadow(0 0 18px rgba(102,127,255,.16));
  content:"";
  animation:partnerOrbitSpin 1.55s linear infinite;
}

.partner-splash-orbit span{
  position:absolute;
  top:17px;
  left:50%;
  width:10px;
  height:10px;
  margin-left:-5px;
  border-radius:50%;
  background:#ffd2b8;
  box-shadow:0 0 20px rgba(255,210,184,.76);
  transform-origin:5px 93px;
  animation:partnerDotOrbit 1.55s linear infinite;
}

.partner-splash img{
  width:180px;
  height:180px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(91,120,255,.24));
  animation:partnerSplashPulse 1.55s ease-in-out infinite;
}

.partner-splash h1{
  margin:18px 0 0;
  color:#fff;
  font-size:2.35rem;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
  letter-spacing:0;
  text-shadow:0 18px 42px rgba(0,0,0,.22);
  opacity:0;
  transform:translateY(8px);
  animation:partnerSplashWordIn .42s ease-out 1.1s forwards;
}

.partner-splash-tagline{
  display:grid;
  gap:7px;
  margin-top:12px;
  color:rgba(255,255,255,.9);
  font-size:.96rem;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:800;
  line-height:1.38;
}

.partner-splash-tagline span:nth-child(1),
.partner-splash-tagline span:nth-child(2),
.partner-splash-tagline span:nth-child(3){color:rgba(255,255,255,.9)}

.partner-splash-tagline span{
  opacity:0;
  transform:translateY(7px);
  animation:partnerSplashLineIn .4s ease-out forwards;
}

.partner-splash-tagline span:nth-child(1){animation-delay:1.5s}
.partner-splash-tagline span:nth-child(2){animation-delay:1.9s}
.partner-splash-tagline span:nth-child(3){animation-delay:2.3s}

@keyframes partnerSplashPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,210,184,0))}
  50%{transform:scale(1.025);filter:drop-shadow(0 0 18px rgba(255,210,184,.18))}
}

@keyframes partnerSplashWordIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes partnerSplashLineIn{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes partnerOrbitSpin{
  to{transform:rotate(360deg)}
}

@keyframes partnerDotOrbit{
  to{transform:rotate(360deg)}
}

/* Internal portal */
.partner-app-layout{
  display:grid;
  grid-template-columns:248px minmax(0,1fr);
  gap:18px;
  align-items:start;
  width:100%;
  min-height:calc(100vh - 36px);
  overflow:hidden;
}

.partner-app-layout.nav-collapsed{
  grid-template-columns:92px minmax(0,1fr);
}

.partner-side-nav{
  position:sticky;
  top:18px;
  display:grid;
  gap:14px;
  min-width:0;
  min-height:calc(100vh - 36px);
  padding:18px;
  border:1px solid rgba(219,228,240,.9);
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 10%,rgba(242,155,67,.16),transparent 32%),
    linear-gradient(180deg,#fff,#f6f9ff);
  box-shadow:0 24px 60px rgba(13,21,51,.1);
}

.side-brand{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}

.side-brand img{
  width:42px;
  height:42px;
  border-radius:50%;
  box-shadow:0 8px 18px rgba(13,21,51,.12);
}

.side-brand span{
  display:grid;
  min-width:0;
}

.side-brand b{
  color:var(--blue-deep);
  font-size:1.08rem;
  font-weight:950;
}

.side-brand small{
  color:var(--muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.side-toggle{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:14px;
  background:#fff;
  color:var(--blue-deep);
  font-size:1rem;
  font-weight:950;
  box-shadow:0 10px 22px rgba(13,21,51,.06);
}

.side-account-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:3px 10px;
  align-items:center;
  min-width:0;
  padding:12px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:18px;
  background:linear-gradient(135deg,#fff,var(--blue-soft));
  color:var(--blue-deep);
  text-align:left;
  box-shadow:0 12px 28px rgba(37,104,232,.08);
}

.side-account-card span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:14px;
  background:var(--blue);
  color:#fff;
  font-size:.9rem;
  font-weight:950;
}

.side-account-card b,.side-account-card small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.side-account-card b{
  font-size:.82rem;
  font-weight:950;
}

.side-account-card small{
  color:var(--muted);
  font-size:.66rem;
  font-weight:780;
}

.partner-side-nav nav{
  display:grid;
  gap:8px;
}

.partner-side-nav nav button,.side-signout{
  display:grid;
  gap:3px;
  min-width:0;
  min-height:52px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:18px;
  background:transparent;
  color:var(--muted);
  text-align:left;
}

.partner-side-nav nav button b{
  overflow:hidden;
  color:var(--blue-deep);
  font-size:.84rem;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.partner-side-nav nav button small{
  overflow:hidden;
  color:var(--muted);
  font-size:.66rem;
  font-weight:780;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.partner-side-nav nav button.active{
  border-color:rgba(37,104,232,.2);
  background:linear-gradient(135deg,var(--blue-soft),#fff);
  box-shadow:0 12px 28px rgba(37,104,232,.1);
}

.side-signout{
  align-self:end;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  border-color:rgba(217,77,66,.14);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,246,.9));
  color:#8f251d;
  font-size:.78rem;
  font-weight:950;
  text-align:center;
  box-shadow:0 10px 22px rgba(217,77,66,.06);
  overflow:hidden;
}

.side-signout:before{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:10px;
  background:rgba(217,77,66,.08);
  color:#8f251d;
  content:"S";
}

.nav-collapsed .partner-side-nav{
  padding:14px;
}

.nav-collapsed .side-brand{
  grid-template-columns:1fr;
  justify-items:center;
}

.nav-collapsed .side-brand span,
.nav-collapsed .side-account-card b,
.nav-collapsed .side-account-card small,
.nav-collapsed .partner-side-nav nav button small,
.nav-collapsed .partner-side-nav nav button b{
  display:none;
}

.nav-collapsed .side-toggle,
.nav-collapsed .side-account-card,
.nav-collapsed .side-signout,
.nav-collapsed .partner-side-nav nav button{
  width:100%;
  min-height:48px;
  padding:0;
  place-items:center;
  text-align:center;
}

.nav-collapsed .side-account-card{
  grid-template-columns:1fr;
}

.nav-collapsed .side-account-card span{
  grid-row:auto;
  justify-self:center;
}

.nav-collapsed .partner-side-nav nav button:before{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  font-size:.78rem;
  font-weight:950;
  content:attr(data-short);
}

.nav-collapsed .partner-side-nav nav button[data-step="interactions"]:before{
  background:var(--blue);
}

.partner-main-panel{
  display:grid;
  gap:16px;
  min-width:0;
}

.partner-main-panel>.partner-top{
  margin-bottom:0;
  padding:14px 16px;
}

.partner-main-panel>.partner-top h1{
  margin:2px 0 0;
  color:var(--blue-deep);
  font-size:1.28rem;
  line-height:1.05;
}

.partner-main-panel>.partner-top .eyebrow{
  margin:0;
}

.portal-account-chip{
  grid-template-columns:28px minmax(0,auto);
  gap:8px;
  max-width:280px;
  background:#fff;
}

.partner-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}

.portal-light-action,.portal-primary-action,.portal-exit-action{
  display:inline-grid;
  place-items:center;
  min-height:40px;
  padding:0 13px;
  border-radius:999px;
  font-size:.74rem;
  font-weight:950;
}

.portal-light-action{
  border:1px solid rgba(37,104,232,.14);
  background:#fff;
  color:var(--blue-deep);
}

.portal-primary-action{
  border:0;
  background:linear-gradient(135deg,var(--blue),#1748bc);
  color:#fff;
  box-shadow:0 12px 24px rgba(37,104,232,.2);
}

.portal-exit-action{
  border:1px solid rgba(217,77,66,.16);
  background:#fff7f6;
  color:#9c2e24;
}

.portal-account-chip span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
}

.portal-account-chip b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.partner-breadcrumb{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:8px 11px;
  border:1px solid rgba(219,228,240,.86);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 24px rgba(13,21,51,.05);
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
}

.partner-breadcrumb a{color:var(--blue)}
.partner-breadcrumb b{color:var(--blue-deep)}
.partner-breadcrumb span{color:#a7b2c4}

.step-rail{
  display:flex;
  gap:8px;
  margin-bottom:18px;
  padding:8px;
  border:1px solid rgba(219,228,240,.9);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow-soft);
}

.step-rail button{
  flex:1 1 0;
  min-width:0;
  min-height:40px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-size:.75rem;
  font-weight:950;
  white-space:nowrap;
}

.step-rail .active{
  border-color:rgba(37,104,232,.26);
  background:var(--blue-soft);
  color:var(--blue-deep);
}

.portal-command-center{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:18px;
  align-items:stretch;
  padding:28px;
  border:1px solid rgba(219,228,240,.94);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 12%,rgba(242,155,67,.2),transparent 28%),
    linear-gradient(135deg,#fff,#f4f8ff);
  box-shadow:0 18px 44px rgba(13,21,51,.08);
}

.partner-dashboard .portal-command-center{
  grid-template-columns:1fr;
  gap:16px;
}

.partner-dashboard .portal-command-center>div:first-child{
  max-width:760px;
  min-width:0;
}

.portal-command-center h1{
  max-width:720px;
  margin:0;
  color:var(--blue-deep);
  font-size:clamp(1.85rem,2.6vw,2.8rem);
  line-height:1.05;
  overflow-wrap:normal;
  word-break:normal;
}

.partner-dashboard .portal-command-center h1{
  max-width:720px;
  font-size:clamp(1.65rem,2.25vw,2.45rem);
  line-height:1.08;
}

.portal-command-center p:not(.eyebrow){
  max-width:680px;
  margin-top:12px;
  color:var(--muted);
  font-weight:760;
  line-height:1.58;
}

.portal-route-stack{
  display:grid;
  gap:10px;
  min-width:0;
}

.partner-dashboard .portal-route-stack{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.portal-route-stack article{
  display:grid;
  gap:4px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 24px rgba(13,21,51,.05);
}

.partner-dashboard .portal-route-stack article{
  min-height:118px;
  align-content:start;
}

.portal-route-stack span{
  color:var(--orange-deep);
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
}

.portal-route-stack b{
  min-width:0;
  color:var(--blue-deep);
  overflow-wrap:anywhere;
}

.portal-route-stack small{
  min-width:0;
  color:var(--muted);
  font-weight:760;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.partner-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.partner-kpi-grid article{
  position:relative;
  min-width:0;
  padding:16px;
  overflow:hidden;
  border:1px solid rgba(219,228,240,.94);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(13,21,51,.06);
}

.partner-kpi-grid article:after{
  position:absolute;
  right:-18px;
  bottom:-20px;
  width:84px;
  height:84px;
  border-radius:50%;
  background:rgba(37,104,232,.08);
  content:"";
}

.partner-kpi-grid span{
  display:block;
  color:var(--muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.partner-kpi-grid b{
  display:block;
  margin-top:5px;
  color:var(--blue-deep);
  font-size:1.82rem;
  line-height:1;
}

.partner-kpi-grid small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
}

.flow-card p:not(.eyebrow){
  max-width:780px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:.96rem;
  font-weight:740;
  line-height:1.55;
}

.partner-account-view{
  gap:20px;
}

.account-hero{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:20px;
  border:1px solid rgba(37,104,232,.14);
  border-radius:24px;
  background:linear-gradient(135deg,#fff,var(--blue-soft));
}

.account-avatar{
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  overflow:hidden;
  border-radius:24px;
  background:var(--blue);
  color:#fff;
  font-size:1.8rem;
  font-weight:950;
  box-shadow:0 16px 34px rgba(37,104,232,.18);
}

.account-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.account-hero h1{
  margin:0;
  color:var(--blue-deep);
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1.05;
  overflow-wrap:anywhere;
}

.account-hero p:not(.eyebrow){
  margin:6px 0 0;
}

.account-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.account-info-grid article{
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(13,21,51,.05);
}

.account-info-grid span{
  display:block;
  color:var(--muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.account-info-grid b{
  display:block;
  min-width:0;
  margin-top:7px;
  color:var(--blue-deep);
  font-size:1.02rem;
  font-weight:950;
  overflow-wrap:anywhere;
}

.account-info-grid small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-weight:760;
  line-height:1.35;
  overflow-wrap:anywhere;
}

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

.form-grid label,.document-upload label{
  display:grid;
  gap:7px;
  min-width:0;
}

.form-grid span,.document-upload span{
  color:var(--muted);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.form-grid input,.form-grid select,.document-upload input{
  width:100%;
  min-width:0;
  min-height:48px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  padding:0 13px;
  font-weight:800;
}

.form-grid input:focus,.form-grid select:focus{
  outline:3px solid rgba(37,104,232,.16);
  border-color:rgba(37,104,232,.46);
}

.form-grid .wide{grid-column:1/-1}

.address-map-confirm,.document-upload,.csv-import-box{
  display:grid;
  gap:16px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface-soft);
}

.address-map-confirm{
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:center;
}

.address-map-confirm>div:first-child,
.address-map-confirm .partner-address-grid,
.address-map-confirm .partner-location-actions{
  grid-column:1;
}

.address-map-confirm .map-preview{
  grid-column:2;
  grid-row:1/4;
  min-height:100%;
}

.address-map-confirm h3,.csv-import-box h2{
  margin:0;
  color:var(--blue-deep);
}

.address-map-confirm p,.csv-import-box p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.86rem;
  font-weight:740;
  line-height:1.45;
}

.map-preview{
  position:relative;
  display:grid;
  place-items:center;
  min-height:124px;
  border:1px solid var(--line);
  border-radius:17px;
  background:linear-gradient(135deg,#eef4ff,#fff4e7);
  overflow:hidden;
}

.map-preview span{
  position:absolute;
  width:78%;
  height:1px;
  background:rgba(13,21,51,.12);
  transform:rotate(var(--r,0deg));
}

.map-preview span:nth-child(2){--r:42deg}
.map-preview span:nth-child(3){--r:-42deg}
.map-preview b{
  z-index:1;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.7rem;
  font-weight:950;
}

.partner-address-grid{
  display:grid;
  grid-template-columns:minmax(100px,.7fr) minmax(80px,.45fr) minmax(0,1fr);
  gap:10px;
}

.partner-address-grid label{
  display:grid;
  gap:6px;
  min-width:0;
}

.partner-address-grid label.wide{
  grid-column:1/-1;
}

.partner-address-grid span{
  color:var(--muted);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.partner-address-grid input{
  width:100%;
  min-width:0;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  padding:0 12px;
  font-weight:850;
}

.partner-location-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  padding:10px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:16px;
  background:#fff;
  min-width:0;
}

.partner-location-actions p{
  grid-column:1/-1;
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  line-height:1.35;
}

.partner-location-actions button{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:0 12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

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

.csv-import-box{
  grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);
  align-items:center;
}

.csv-drop{
  position:relative;
  cursor:pointer;
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px 15px;
  min-height:168px;
  padding:20px;
  border:1.5px dashed rgba(37,104,232,.34);
  border-radius:19px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.csv-drop:hover,
.csv-drop:focus-within{
  border-color:rgba(37,104,232,.62);
  box-shadow:0 18px 38px rgba(37,104,232,.12);
  transform:translateY(-1px);
}

.csv-drop .csv-icon{
  grid-row:1/4;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:17px;
  background:var(--blue-soft);
  color:var(--blue);
  font-weight:950;
}

.csv-drop b{color:var(--blue-deep);font-size:1.08rem}
.csv-drop b,.csv-drop small{
  min-width:0;
  overflow-wrap:anywhere;
}
.csv-drop small{color:var(--muted);font-size:.82rem;font-weight:760;line-height:1.38}
.csv-drop input[type=file]{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.csv-upload-control{
  grid-column:2;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex-wrap:wrap;
}

.csv-upload-button{
  display:inline-grid;
  place-items:center;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),#2449b8);
  color:#fff;
  font-size:.82rem;
  font-weight:950;
  box-shadow:0 14px 28px rgba(37,104,232,.2);
}

.csv-upload-name{
  min-width:0;
  max-width:100%;
  padding:10px 12px;
  border:1px solid rgba(37,104,232,.14);
  border-radius:14px;
  background:rgba(245,248,255,.9);
  color:var(--muted);
  font-size:.8rem;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.template-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.template-links a{
  display:inline-grid;
  place-items:center;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(37,104,232,.2);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
}

.csv-rule-card{
  display:grid;
  gap:4px;
  padding:14px 15px;
  border:1px solid rgba(242,155,67,.26);
  border-radius:18px;
  background:var(--orange-soft);
}

.csv-rule-card b{
  color:#7f4212;
}

.csv-rule-card span{
  color:#8b5a2c;
  font-size:.84rem;
  font-weight:780;
  line-height:1.42;
}

.csv-file-note{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.84rem;
  font-weight:800;
}

.csv-file-note b{
  color:var(--blue-deep);
}

.review-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.review-stats article{
  padding:16px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--surface-soft);
}

.review-stats span{
  display:block;
  color:var(--muted);
  font-size:.7rem;
  font-weight:950;
  text-transform:uppercase;
}

.review-stats b{
  display:block;
  margin-top:5px;
  color:var(--blue-deep);
  font-size:1.55rem;
}

.review-table{
  display:grid;
  gap:0;
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}

.review-table>div{
  display:grid;
  grid-template-columns:1.1fr .55fr .9fr .55fr 1fr;
  gap:12px;
  align-items:center;
  padding:13px 15px;
  border-top:1px solid var(--line);
}

.review-table>div:first-child{
  border-top:0;
  background:var(--blue-deep);
  color:#fff;
}

.review-table span{
  min-width:0;
  color:var(--ink);
  font-size:.86rem;
  font-weight:760;
  line-height:1.25;
}

.status-badge{
  display:inline-grid;
  place-items:center;
  min-height:27px;
  width:max-content;
  max-width:100%;
  padding:0 10px;
  border-radius:999px;
  font-size:.64rem;
  font-weight:950;
  text-transform:uppercase;
  white-space:nowrap;
}

.status-badge.draft{background:#eef2f8;color:#43516a}
.status-badge.analysis,.status-badge.warning{background:var(--orange-soft);color:#955416}
.status-badge.published,.status-badge.valid{background:var(--blue-soft);color:var(--blue)}
.status-badge.paused{background:#f4e8ef;color:#7a2e5b}
.status-badge.expired,.status-badge.error{background:#ffe7e1;color:var(--danger)}

.dashboard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.dashboard-list{
  display:grid;
  gap:12px;
}

.dashboard-list article{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(13,21,51,.05);
}

.dashboard-list b{display:block;color:var(--blue-deep)}
.dashboard-list small{display:block;margin-top:4px;color:var(--muted);font-weight:780}
.dashboard-list p{
  grid-column:1/-1;
  max-width:780px;
  margin:0;
  color:var(--muted);
  font-size:.86rem;
  font-weight:760;
  line-height:1.45;
}

.record-main{
  min-width:0;
}

.event-code-pill{
  display:inline-grid;
  grid-template-columns:auto auto;
  gap:8px;
  align-items:center;
  margin-top:9px;
  padding:7px 10px;
  border:1px solid rgba(242,155,67,.3);
  border-radius:999px;
  background:var(--orange-soft);
}

.event-code-pill small{
  margin:0;
  color:#7f4212;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.event-code-pill code{
  color:var(--blue-deep);
  font-family:Inter,system-ui,sans-serif;
  font-size:.8rem;
  font-weight:950;
  letter-spacing:.04em;
  white-space:nowrap;
}
.menu-share-card{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(37,104,232,.14);
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#F7FAFF);
}
.menu-share-card.locked{
  grid-template-columns:1fr;
  border-style:dashed;
  background:#F8FAFF;
}
.menu-share-card img{
  width:112px;
  height:112px;
  border:8px solid #fff;
  border-radius:18px;
  box-shadow:0 14px 28px rgba(13,21,51,.1);
}
.menu-share-card b{
  color:var(--blue-deep);
  font-size:1rem;
}
.menu-share-card span{
  display:block;
  max-width:100%;
  margin-top:5px;
  overflow:hidden;
  color:var(--muted);
  font-size:.78rem;
  font-weight:780;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.menu-share-card div div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.menu-share-card button,.menu-share-card a{
  display:inline-grid;
  place-items:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  text-decoration:none;
}
.row-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.row-actions button{min-height:36px;padding:0 12px;border:1px solid var(--line);background:var(--surface-soft);color:var(--blue-deep);font-size:.74rem}
.row-actions .pay-action{
  border-color:transparent;
  background:linear-gradient(135deg,var(--orange),#d9682e);
  color:#fff;
  box-shadow:0 12px 24px rgba(242,155,67,.2);
}

.partner-interactions-view .dashboard-head{
  align-items:flex-start;
  padding:20px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#f6f9ff);
}

.partner-interactions-view .dashboard-head p:not(.eyebrow){
  max-width:720px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:.9rem;
  font-weight:760;
  line-height:1.45;
}

.interaction-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.interaction-history-panel,
.interaction-specific-panel,
.partner-correlation-panel{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid rgba(199,215,240,.78);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#F8FAFF);
  box-shadow:0 16px 36px rgba(13,21,51,.055);
}

.interaction-history-panel>header,
.interaction-specific-panel>header,
.partner-correlation-panel>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.interaction-history-panel h3,
.interaction-specific-panel h3,
.partner-correlation-panel h3{
  margin:2px 0 0;
  color:var(--blue-deep);
  font-size:1.2rem;
  font-weight:950;
  line-height:1.12;
}

.interaction-history-panel header>span,
.interaction-specific-panel header>span,
.partner-correlation-panel header>span{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:999px;
  background:#fff;
  color:var(--blue);
  font-size:.72rem;
  font-weight:950;
  white-space:nowrap;
}

.interaction-header-actions,
.partner-interaction-modal-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.interaction-header-actions>span,
.partner-interaction-modal-actions>span{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:999px;
  background:#fff;
  color:var(--blue);
  font-size:.72rem;
  font-weight:950;
  white-space:nowrap;
}

.interaction-export-button{
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(37,104,232,.18);
  border-radius:999px;
  background:linear-gradient(180deg,#fff,#F5F8FF);
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  box-shadow:0 8px 18px rgba(37,104,232,.08);
}

.interaction-export-button:hover{
  border-color:rgba(37,104,232,.34);
  transform:translateY(-1px);
}

.partner-favorite-panel>.interaction-export-button{
  justify-self:start;
  margin-top:-6px;
}

.partner-interaction-modal-actions{
  justify-content:flex-start;
  margin-top:-4px;
}

.partner-correlation-panel header p:not(.eyebrow){
  max-width:680px;
  margin-top:6px;
  color:var(--muted);
  font-size:.82rem;
  font-weight:780;
  line-height:1.45;
}

.correlation-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,260px));
  gap:10px;
}

.correlation-controls label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.correlation-controls select{
  width:100%;
  min-height:42px;
  border:1px solid rgba(199,215,240,.9);
  border-radius:14px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.84rem;
  font-weight:900;
}

.correlation-matrix{
  display:grid;
  gap:8px;
  min-width:0;
  overflow-x:auto;
  padding-bottom:4px;
}

.matrix-head,
.matrix-row{
  display:grid;
  grid-template-columns:minmax(160px,1.1fr) repeat(5,minmax(108px,1fr));
  gap:8px;
  min-width:760px;
}

.matrix-head b,
.matrix-row>b{
  min-width:0;
  padding:10px;
  border-radius:14px;
  background:#F3F7FF;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  line-height:1.2;
}

.matrix-head b{
  display:flex;
  align-items:center;
  min-height:48px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.matrix-row>b{
  display:grid;
  gap:3px;
}

.matrix-row>b small{
  color:var(--muted);
  font-size:.62rem;
  font-weight:850;
}

.matrix-row button{
  display:grid;
  gap:6px;
  min-height:58px;
  padding:9px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#F7FAFF);
  color:var(--blue-deep);
  font-size:.82rem;
  font-weight:950;
  text-align:left;
}

.matrix-row button i{
  display:block;
  width:100%;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(37,104,232,.1);
}

.matrix-row button i:before{
  display:block;
  width:var(--heat);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2568E8,#70A2FF);
  content:"";
}

.correlation-locked{
  display:grid;
  gap:6px;
  padding:16px;
  border:1px dashed rgba(37,104,232,.22);
  border-radius:18px;
  background:#F8FAFF;
}

.correlation-locked b{color:var(--blue-deep);font-weight:950}
.correlation-locked span{color:var(--muted);font-weight:820;line-height:1.45}
.correlation-insight{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid rgba(37,104,232,.14);
  border-radius:16px;
  background:#fff;
}
.correlation-insight b{color:var(--blue-deep);font-size:.78rem;font-weight:950}
.correlation-insight span{color:var(--muted);font-size:.82rem;font-weight:820;line-height:1.4}

.public-menu-page{
  min-height:100dvh;
  padding:clamp(18px,4vw,42px);
  background:
    radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--menu-accent) 20%,transparent),transparent 30%),
    linear-gradient(145deg,var(--menu-bg),#fff);
  color:var(--menu-ink);
  font-family:var(--menu-font),Inter,system-ui,sans-serif;
}

.public-menu-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  max-width:1120px;
  margin:0 auto 22px;
  padding:24px;
  border:1px solid color-mix(in srgb,var(--menu-accent) 24%,#fff);
  border-radius:32px;
  background:rgba(255,255,255,.84);
  box-shadow:0 26px 70px rgba(13,21,51,.1);
}

.public-menu-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--menu-ink);
  font-weight:950;
  text-decoration:none;
}

.public-menu-brand img{
  width:42px;
  height:42px;
  border-radius:14px;
}

.public-menu-hero h1{
  margin:4px 0 6px;
  color:var(--menu-ink);
  font-size:clamp(2rem,5vw,4rem);
  line-height:.96;
}

.public-menu-hero p:not(.eyebrow){
  margin:0;
  max-width:620px;
  color:color-mix(in srgb,var(--menu-ink) 68%,#fff);
  font-weight:820;
  line-height:1.45;
}

.public-menu-code{
  padding:10px 14px;
  border-radius:999px;
  background:var(--menu-soft);
  color:var(--menu-ink);
  font-weight:950;
  letter-spacing:.06em;
}

.public-menu-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  max-width:1120px;
  margin:0 auto;
}

.public-menu-grid article{
  display:grid;
  gap:12px;
  min-width:0;
  padding:20px;
  border:1px solid color-mix(in srgb,var(--menu-accent) 18%,#fff);
  border-radius:26px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 44px rgba(13,21,51,.08);
}

.public-menu-grid article>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:16px;
  background:var(--menu-soft);
  color:var(--menu-accent);
  font-weight:950;
}

.public-menu-grid b{
  color:var(--menu-ink);
  font-size:1.18rem;
  line-height:1.12;
}

.public-menu-grid small{
  color:color-mix(in srgb,var(--menu-ink) 62%,#fff);
  font-weight:780;
  line-height:1.4;
}

.public-menu-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.public-menu-actions button{
  min-height:36px;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--menu-accent) 28%,#fff);
  border-radius:999px;
  background:#fff;
  color:var(--menu-ink);
  font-size:.72rem;
  font-weight:950;
}

.public-menu-empty{
  max-width:680px;
  margin:15dvh auto;
  padding:32px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 60px rgba(13,21,51,.12);
}

.interaction-summary article{
  display:grid;
  gap:4px;
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(13,21,51,.05);
}

.interaction-summary span,
.interaction-card-head span,
.interaction-bars span,
.interaction-menu-items small{
  color:var(--muted);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.interaction-summary b{
  color:var(--blue-deep);
  font-size:1.8rem;
  line-height:1;
}

.interaction-summary small{
  color:var(--muted);
  font-size:.74rem;
  font-weight:800;
}

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

.interaction-card{
  display:grid;
  gap:14px;
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 28px rgba(13,21,51,.06);
}

.interaction-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.interaction-card-head div{min-width:0}
.interaction-card-head b{
  display:block;
  min-width:0;
  margin-top:3px;
  color:var(--blue-deep);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.interaction-card-head small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:780;
}

.interaction-bars{
  display:grid;
  gap:9px;
}

.interaction-bars div{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
  padding-bottom:10px;
}

.interaction-bars i{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue) var(--bar),rgba(37,104,232,.1) var(--bar));
}

.interaction-bars strong{
  color:var(--blue-deep);
  font-size:.86rem;
}

.interaction-card{
  cursor:pointer;
}

.partner-anonymous-panel,
.partner-favorite-panel{
  display:grid;
  gap:14px;
  min-width:0;
  padding:18px;
  border:1px solid rgba(199,215,240,.82);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#F7FAFF);
  box-shadow:0 16px 34px rgba(13,21,51,.055);
}

.partner-anonymous-panel.compact{
  padding:15px;
  border-radius:20px;
  box-shadow:none;
}

.partner-anonymous-panel>header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.partner-anonymous-panel h3,
.partner-favorite-panel h3{
  margin:3px 0 0;
  color:var(--blue-deep);
  font-size:1.22rem;
}

.partner-anonymous-panel header p:not(.eyebrow){
  max-width:680px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:.86rem;
  font-weight:780;
  line-height:1.45;
}

.partner-anonymous-panel>header>span{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  background:#FFF2E7;
  color:#A45D2B;
  font-size:.72rem;
  font-weight:950;
}

.anonymous-overview-grid,
.favorite-recipe-grid,
.anonymous-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.anonymous-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.anonymous-overview-grid article,
.favorite-recipe-grid article,
.anonymous-grid article{
  position:relative;
  display:grid;
  gap:8px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(219,228,240,.9);
  border-radius:18px;
  background:#fff;
}

.anonymous-overview-grid article>span,
.favorite-recipe-grid article>span{
  overflow:hidden;
  color:#A45D2B;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.08em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.anonymous-overview-grid article>b{
  color:var(--blue-deep);
  font-size:1.7rem;
  line-height:1;
}

.anonymous-overview-grid article>small,
.favorite-recipe-grid article>small{
  color:var(--muted);
  font-size:.72rem;
  font-weight:820;
}

.audience-bars{
  display:grid;
  gap:8px;
}

.audience-bars div,
.favorite-recipe-grid i{
  position:relative;
}

.audience-bars div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding-bottom:9px;
}

.audience-bars span{
  overflow:hidden;
  color:var(--muted);
  font-size:.7rem;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.audience-bars strong{
  color:var(--blue-deep);
  font-size:.8rem;
  font-weight:950;
}

.audience-bars i,
.favorite-recipe-grid i{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#F29B43 var(--bar),rgba(242,155,67,.13) var(--bar));
}

.favorite-recipe-grid i{
  left:14px;
  right:14px;
  bottom:10px;
}

.favorite-recipe-grid article{
  padding-bottom:18px;
}

.favorite-recipe-grid b{
  overflow:hidden;
  color:var(--blue-deep);
  font-size:.95rem;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.partner-library-view{
  display:grid;
  gap:18px;
}

.compact-library{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

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

.library-channel-grid article,
.library-item-card,
.library-empty-state{
  min-width:0;
  border:1px solid rgba(199,215,240,.86);
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 36px rgba(37,58,103,.07);
}

.library-channel-grid article{
  display:grid;
  gap:8px;
  padding:18px;
}

.library-channel-grid span,
.library-item-head span{
  color:var(--orange-dark);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.library-channel-grid b{
  color:var(--blue-deep);
  font-size:2rem;
  line-height:1;
}

.library-channel-grid small,
.library-item-head small,
.library-empty,
.library-empty-state span{
  color:var(--muted);
  font-size:.82rem;
  font-weight:820;
  line-height:1.4;
}

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

.library-item-card{
  display:grid;
  gap:12px;
  padding:18px;
}

.library-item-head{
  display:grid;
  gap:5px;
  min-width:0;
}

.library-item-head b{
  min-width:0;
  color:var(--blue-deep);
  font-size:1.05rem;
  line-height:1.18;
  overflow-wrap:anywhere;
}

.library-price{
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border-radius:999px;
  background:#fff4e8;
  color:var(--orange-dark);
  font-size:.84rem;
  font-weight:950;
}

.library-base{
  margin:0;
  color:var(--muted);
  font-size:.8rem;
  font-weight:820;
  line-height:1.35;
}

.library-base b{
  color:var(--blue-deep);
}

.library-macros{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
}

.library-macros span{
  display:grid;
  gap:2px;
  min-width:0;
  padding:8px 6px;
  border-radius:13px;
  background:#f5f8ff;
  color:var(--muted);
  font-size:.64rem;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
}

.library-macros b{
  color:var(--blue-deep);
  font-size:.72rem;
  overflow:hidden;
  text-overflow:ellipsis;
}

.library-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.library-actions button,
.library-empty-state button{
  min-height:40px;
  border:1px solid rgba(37,104,232,.18);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-weight:920;
}

.library-empty-state{
  grid-column:1 / -1;
  display:grid;
  justify-items:start;
  gap:10px;
  padding:24px;
}

.library-empty-state b{
  color:var(--blue-deep);
  font-size:1.2rem;
}

@media (max-width:860px){
  .compact-library,
  .library-channel-grid,
  .library-list{
    grid-template-columns:1fr;
  }
  .library-channel-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:4px;
    scroll-snap-type:x mandatory;
  }
  .library-channel-grid article{
    flex:0 0 76%;
    scroll-snap-align:start;
  }
  .library-item-card{
    padding:16px;
  }
  .library-actions{
    grid-template-columns:1fr;
  }
}

.interaction-open-action{
  min-height:42px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:950;
}

.partner-interaction-backdrop{
  position:fixed;
  inset:0;
  z-index:58;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(7,12,30,.48);
  backdrop-filter:blur(8px);
}

.partner-interaction-modal{
  position:relative;
  display:grid;
  gap:16px;
  width:min(100%,760px);
  max-height:min(88dvh,820px);
  overflow:auto;
  padding:26px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:28px;
  background:linear-gradient(135deg,#fff,#f7faff);
  box-shadow:0 34px 92px rgba(7,12,30,.28);
}

.partner-interaction-close{
  position:absolute;
  top:18px;
  right:18px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--blue-deep);
  font-size:1.35rem;
  font-weight:900;
}

.partner-interaction-modal-head{
  display:grid;
  gap:6px;
  padding-right:54px;
}

.partner-interaction-modal-head h2{
  margin:0;
  color:var(--blue-deep);
  font-size:clamp(1.55rem,3vw,2.35rem);
  line-height:1.05;
}

.partner-interaction-modal-head span,
.partner-interaction-footnote{
  color:var(--muted);
  font-size:.88rem;
  font-weight:780;
  line-height:1.45;
}

.partner-interaction-food-list{
  display:grid;
  gap:10px;
}

.partner-interaction-food-list article{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) minmax(150px,auto);
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(13,21,51,.05);
}

.partner-interaction-food-list article.confirmed{
  border-color:rgba(33,176,124,.34);
  background:linear-gradient(135deg,#fff,#edfbf5);
}

.interaction-food-rank{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:16px;
  background:var(--orange-soft);
  color:#965017;
  font-weight:950;
}

.interaction-food-main{
  display:grid;
  gap:7px;
  min-width:0;
}

.interaction-food-main b{
  display:block;
  color:var(--blue-deep);
  font-size:.98rem;
}

.interaction-food-main small,
.interaction-food-empty{
  color:var(--muted);
  font-size:.76rem;
  font-weight:760;
  line-height:1.35;
}

.interaction-food-nutrition,
.interaction-food-macros,
.interaction-food-votes{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.interaction-food-macros span,
.interaction-food-votes span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:26px;
  padding:0 8px;
  border-radius:999px;
  background:var(--blue-soft);
  color:var(--blue-deep);
  font-size:.68rem;
  font-weight:900;
}

.interaction-food-votes span{
  background:#f7f8fb;
  color:var(--muted);
}

.interaction-food-ingredients{
  display:grid;
  gap:3px;
  width:100%;
  min-width:0;
  padding:8px 10px;
  border-radius:13px;
  background:#f7f8fb;
}

.interaction-food-ingredients b{
  color:var(--blue-deep);
  font-size:.66rem;
  font-weight:950;
  text-transform:uppercase;
}

.interaction-food-ingredients span{
  color:var(--muted);
  font-size:.74rem;
  font-weight:800;
  line-height:1.35;
}

.interaction-ingredient-group{
  width:100%;
  min-width:0;
  padding:8px 10px;
  border:1px solid rgba(219,228,240,.9);
  border-radius:14px;
  background:#F8FAFF;
}

.interaction-ingredient-group>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  list-style:none;
}

.interaction-ingredient-group>summary::-webkit-details-marker,
.interaction-ingredient-detail>summary::-webkit-details-marker{
  display:none;
}

.interaction-ingredient-group>summary b{
  display:inline-grid;
  min-width:24px;
  min-height:24px;
  place-items:center;
  border-radius:999px;
  background:#EAF1FF;
  color:var(--blue);
  font-size:.68rem;
}

.interaction-ingredient-detail{
  margin-top:8px;
  padding:8px;
  border:1px solid rgba(219,228,240,.8);
  border-radius:12px;
  background:#fff;
}

.interaction-ingredient-detail>summary{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:920;
  list-style:none;
}

.interaction-ingredient-detail>summary span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.interaction-ingredient-detail>summary small{
  color:var(--muted);
  font-size:.68rem;
  font-weight:850;
  white-space:nowrap;
}

.interaction-ingredient-numbers{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}

.interaction-ingredient-numbers span{
  display:grid;
  gap:2px;
  min-width:0;
  padding:7px 8px;
  border-radius:10px;
  background:#F6F8FD;
}

.interaction-ingredient-numbers small{
  overflow:hidden;
  color:var(--muted);
  font-size:.58rem;
  font-weight:900;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.interaction-ingredient-numbers b{
  overflow:hidden;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.partner-interaction-food-list article>button{
  min-height:42px;
  min-width:132px;
  padding:0 14px;
  white-space:normal;
  line-height:1.12;
  border:1px solid rgba(37,104,232,.16);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.76rem;
  font-weight:950;
}

.partner-interaction-food-list article>button.confirmed{
  border-color:rgba(33,176,124,.34);
  background:#20b67c;
  color:#fff;
}

.footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}

.footer-actions.three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.partner-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:40;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(7,12,30,.42);
  backdrop-filter:blur(6px);
}

.partner-welcome-modal{
  display:grid;
  gap:14px;
  width:min(100%,480px);
  padding:26px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:26px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}

.partner-welcome-modal h2{
  margin:0;
  color:var(--blue-deep);
  font-size:1.72rem;
  line-height:1.12;
}

.partner-welcome-modal p:not(.eyebrow){
  margin:0;
  color:var(--muted);
  font-weight:760;
  line-height:1.5;
}

.welcome-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}

.welcome-steps span{
  display:grid;
  place-items:center;
  min-height:34px;
  border-radius:999px;
  background:var(--blue-soft);
  color:var(--blue-deep);
  font-size:.68rem;
  font-weight:950;
}

.partner-payment-backdrop{
  position:fixed;
  inset:0;
  z-index:46;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(7,12,30,.5);
  backdrop-filter:blur(9px);
}

.partner-payment-modal{
  position:relative;
  display:grid;
  gap:16px;
  width:min(100%,520px);
  padding:28px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:28px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 34px 100px rgba(0,0,0,.3);
}

.partner-payment-close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  min-height:42px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--blue-deep);
  font-size:1.25rem;
  box-shadow:0 12px 28px rgba(13,21,51,.1);
}

.partner-payment-modal h2{
  max-width:360px;
  margin:0;
  color:var(--blue-deep);
  font-size:1.78rem;
  line-height:1.1;
}

.partner-payment-modal p:not(.eyebrow){
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  font-weight:760;
  line-height:1.52;
}

.partner-price-card{
  display:grid;
  gap:5px;
  padding:20px;
  border:1px solid rgba(242,155,67,.28);
  border-radius:22px;
  background:linear-gradient(135deg,#fff7ed,#fff);
}

.partner-price-card span{
  color:#9a5a18;
  font-size:.74rem;
  font-weight:950;
  text-transform:uppercase;
}

.partner-price-card b{
  color:var(--blue-deep);
  font-size:2.2rem;
  line-height:1;
}

.partner-price-card small{
  color:var(--muted);
  font-size:.8rem;
  font-weight:760;
}

.payment-checklist{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.payment-checklist span{
  display:grid;
  place-items:center;
  min-height:42px;
  padding:0 10px;
  border:1px solid rgba(37,104,232,.16);
  border-radius:999px;
  background:var(--blue-soft);
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  text-align:center;
}

.payment-actions{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:10px;
}

@media(max-width:1180px){
  .partner-shell{
    padding-left:18px;
    padding-right:18px;
  }

  .partner-app-layout{
    grid-template-columns:236px minmax(0,1fr);
    gap:14px;
  }

  .partner-app-layout.nav-collapsed{
    grid-template-columns:82px minmax(0,1fr);
  }

  .partner-side-nav{
    padding:14px;
    border-radius:24px;
  }

  .portal-command-center{
    grid-template-columns:1fr;
    padding:22px;
  }

  .portal-command-center h1{
    max-width:620px;
    font-size:clamp(1.65rem,3.4vw,2.25rem);
  }

  .portal-route-stack{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .portal-route-stack article{
    min-height:118px;
  }
}

@media(max-width:1040px){
  .partner-app-layout{
    grid-template-columns:210px minmax(0,1fr);
  }

  .partner-dashboard .portal-route-stack,
  .portal-route-stack{
    grid-template-columns:1fr;
  }

  .portal-route-stack article{
    min-height:0;
  }

  .partner-dashboard .portal-route-stack article{
    min-height:0;
  }
}

/* Mobile / public web */
@media(max-width:900px){
  .partner-shell{
    padding:14px 14px 34px;
  }

  .partner-app-layout,.partner-app-layout.nav-collapsed{
    grid-template-columns:1fr;
    gap:12px;
    min-height:0;
    overflow:visible;
  }

  .partner-side-nav{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    min-height:0;
    padding:12px;
    border-radius:24px;
  }

  .side-brand{
    grid-column:1;
    grid-row:1;
  }

  .side-toggle{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    width:46px;
    height:46px;
  }

  .partner-app-layout:not(.nav-collapsed) .side-account-card,
  .partner-app-layout:not(.nav-collapsed) .partner-side-nav nav,
  .partner-app-layout:not(.nav-collapsed) .side-signout{
    display:none;
  }

  .side-account-card,
  .partner-side-nav nav,
  .side-signout{
    grid-column:1/-1;
  }

  .partner-side-nav nav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .partner-side-nav nav::-webkit-scrollbar{
    display:none;
  }

  .partner-side-nav nav button{
    flex:0 0 170px;
  }

  .side-signout{
    align-self:auto;
  }

  .nav-collapsed .side-brand span,
  .nav-collapsed .side-account-card b,
  .nav-collapsed .side-account-card small,
  .nav-collapsed .partner-side-nav nav button small,
  .nav-collapsed .partner-side-nav nav button b{
    display:grid;
  }

  .nav-collapsed .partner-side-nav nav button:before{
    content:none;
  }

  .partner-public-top,.partner-top{
    align-items:flex-start;
    border-radius:20px;
  }

  .partner-public-top nav{
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .partner-campaign-hero,.partner-login-layout,.campaign-highlight-grid,.portal-command-center{
    grid-template-columns:1fr;
  }

  .partner-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .interaction-summary,
  .interaction-list{
    grid-template-columns:1fr;
  }
  .interaction-history-panel>header,
  .interaction-specific-panel>header,
  .partner-correlation-panel>header{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
  }
  .interaction-header-actions,
  .partner-interaction-modal-actions{
    justify-content:flex-start;
  }
  .correlation-controls{
    grid-template-columns:1fr;
  }
  .matrix-head,
  .matrix-row{
    min-width:680px;
  }
  .menu-share-card{
    grid-template-columns:88px minmax(0,1fr);
  }
  .menu-share-card img{
    width:88px;
    height:88px;
    border-radius:16px;
  }
  .public-menu-hero,
  .public-menu-grid{
    grid-template-columns:1fr;
  }
  .public-menu-hero{
    gap:16px;
    padding:18px;
    border-radius:24px;
  }
  .public-menu-code{
    justify-self:start;
  }

  .partner-campaign-hero{
    min-height:auto;
    padding:26px;
    border-radius:26px;
  }

  .partner-public-copy h1{
    font-size:3rem;
  }

  .public-type-grid,.partner-grid,.steps-grid,.template-download-grid,.virtual-menu-grid{
    grid-template-columns:1fr;
  }

  .address-map-confirm,.csv-import-box{
    grid-template-columns:1fr;
  }

  .address-map-confirm>div:first-child,
  .address-map-confirm .partner-address-grid,
  .address-map-confirm .partner-location-actions,
  .address-map-confirm .map-preview{
    grid-column:1;
  }

  .address-map-confirm .map-preview{
    grid-row:auto;
    min-height:160px;
  }
}

@media(max-width:560px){
  body{
    background:
      radial-gradient(circle at top left,rgba(242,155,67,.22),transparent 44%),
      linear-gradient(180deg,#f8fbff 0%,#edf3fb 58%,#fbfcff 100%);
  }

  .partner-shell{
    padding:10px 10px 28px;
  }

  .partner-side-nav{
    gap:10px;
    padding:10px;
  }

  .interaction-export-button{
    min-height:32px;
    padding:0 11px;
    font-size:.68rem;
  }

  .interaction-header-actions{
    width:100%;
  }

  .interaction-header-actions>span{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .side-brand{
    grid-template-columns:38px minmax(0,1fr);
  }

  .nav-collapsed .side-brand{
    grid-template-columns:38px minmax(0,1fr);
    justify-items:stretch;
  }

  .side-account-card,
  .nav-collapsed .side-account-card{
    grid-template-columns:36px minmax(0,1fr);
  }

  .side-account-card span,
  .nav-collapsed .side-account-card span{
    grid-row:1/3;
    justify-self:start;
    width:36px;
    height:36px;
    border-radius:13px;
  }

  .side-toggle{
    grid-column:2;
    grid-row:1;
  }

  .partner-side-nav nav button{
    flex-basis:145px;
    min-height:52px;
    padding:9px 10px;
  }

  .side-signout{
    min-height:42px;
  }

  .partner-interaction-modal{
    padding:20px;
    border-radius:24px;
  }

  .partner-interaction-food-list article{
    grid-template-columns:38px minmax(0,1fr);
  }

  .partner-interaction-food-list article>button{
    grid-column:1/-1;
    width:100%;
  }

  .partner-public-top,.partner-top{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:24px;
    background:rgba(255,255,255,.92);
  }

  .public-nav-toggle{
    display:grid;
  }

  .partner-public-top .public-nav-menu{
    grid-column:1/-1;
    display:none;
    grid-template-columns:1fr;
    width:100%;
    gap:8px;
    padding:8px;
    border:1px solid rgba(219,228,240,.9);
    border-radius:20px;
    background:linear-gradient(180deg,#fff,#f7faff);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  }

  .partner-public-top .public-nav-menu.open{
    display:grid;
  }

  .partner-public-top nav a,.partner-public-top nav button{
    min-width:0;
    min-height:42px;
    justify-content:center;
    padding:0 12px;
    border-color:rgba(37,104,232,.12);
    background:#fff;
    font-size:.76rem;
    box-shadow:0 8px 18px rgba(13,21,51,.04);
  }

  .partner-public-top nav button.nav-primary{
    min-height:44px;
  }

  .partner-top-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }

  .partner-address-grid{
    grid-template-columns:1fr 1fr;
  }

  .partner-address-grid label.wide{
    grid-column:1/-1;
  }

  .partner-location-actions{
    grid-template-columns:1fr;
  }

  .partner-kpi-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .partner-kpi-grid::-webkit-scrollbar{
    display:none;
  }

  .partner-kpi-grid article{
    flex:0 0 158px;
  }

  .portal-account-chip{
    grid-column:1/-1;
    grid-row:1;
  }

  .portal-light-action,.portal-primary-action,.portal-exit-action{
    width:100%;
    padding:0 8px;
  }

  .brand img{
    width:40px;
    height:40px;
    border-radius:13px;
  }

  .brand b{
    font-size:1.08rem;
  }

  .brand span{
    min-height:25px;
    padding:0 9px;
    font-size:.66rem;
  }

  .partner-campaign-hero{
    gap:18px;
    padding:18px;
    border-radius:26px;
  }

  .partner-public-copy h1{
    max-width:100%;
    font-size:2.34rem;
    line-height:1.02;
  }

  .partner-public-copy p:not(.eyebrow){
    margin-top:14px;
    font-size:.93rem;
    line-height:1.52;
  }

  .public-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin-top:20px;
  }

  .public-actions button{
    width:100%;
    min-height:46px;
  }

  .campaign-visual-card{
    padding:10px;
    border-radius:22px;
  }

  .campaign-visual-card>img{
    min-height:230px;
    border-radius:18px;
  }

  .campaign-floating-card{
    right:20px;
    bottom:20px;
    width:calc(100% - 40px);
    padding:13px;
    border-radius:18px;
  }

  .campaign-highlight-grid article{
    min-height:0;
  }

  .public-type-grid,
  .partner-grid.compact,
  .campaign-highlight-grid,
  .template-download-grid,
  .steps-grid,
  .virtual-menu-grid,
  .portal-route-stack{
    display:flex;
    gap:12px;
    padding:2px 17px 8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:17px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .public-type-grid::-webkit-scrollbar,
  .partner-grid.compact::-webkit-scrollbar,
  .campaign-highlight-grid::-webkit-scrollbar,
  .template-download-grid::-webkit-scrollbar,
  .steps-grid::-webkit-scrollbar,
  .virtual-menu-grid::-webkit-scrollbar,
  .portal-route-stack::-webkit-scrollbar{
    display:none;
  }

  .public-type-grid>.partner-type-card,
  .partner-grid.compact>.partner-type-card,
  .campaign-highlight-grid>article,
  .template-download-grid>article,
  .steps-grid>article,
  .virtual-menu-grid>article,
  .portal-route-stack>article{
    flex:0 0 min(82vw,330px);
    scroll-snap-align:start;
  }

  .campaign-highlight-grid>article,
  .template-download-grid>article,
  .steps-grid>article,
  .virtual-menu-grid>article,
  .portal-route-stack>article{
    min-height:178px;
  }

  .partner-programs,.how-it-works,.flow-card,.partner-dashboard,.login-card,.login-side-card,.campaign-highlight-grid,.public-template-downloads,.virtual-menu-models{
    gap:15px;
    margin-top:12px;
    padding:17px;
    border-radius:24px;
  }

  .section-head h2,.flow-card h1,.partner-dashboard h2,.login-card h1{
    font-size:1.42rem;
    line-height:1.18;
  }

  .portal-command-center{
    padding:18px;
    border-radius:24px;
  }

  .portal-command-center h1{
    font-size:2rem;
  }

  .partner-type-card{
    grid-template-columns:44px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:10px 12px;
    min-height:0;
    padding:15px;
    border-radius:18px;
  }

  .type-badge{
    grid-row:1/3;
    width:42px;
    height:42px;
    border-radius:14px;
  }

  .partner-type-card h3{
    font-size:1.03rem;
  }

  .partner-type-card p{
    grid-column:1/-1;
    font-size:.84rem;
  }

  .partner-type-card button{
    grid-column:1/-1;
    justify-self:stretch;
    min-height:44px;
  }

  .template-download-grid article{
    grid-template-columns:48px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:10px 12px;
    min-height:156px;
    padding:15px;
    border-radius:18px;
  }

  .template-download-grid span{
    grid-row:1/3;
    width:44px;
    height:38px;
  }

  .template-download-grid h3{
    font-size:1.04rem;
  }

  .template-download-grid p,.template-download-grid a{
    grid-column:1/-1;
  }

  .template-download-grid a{
    justify-self:stretch;
    min-width:0;
  }

  .steps-grid article{
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    min-height:92px;
    padding:14px;
  }

  .steps-grid b{
    align-self:center;
    font-size:.9rem;
  }

  .public-type-grid>.partner-type-card,
  .partner-grid.compact>.partner-type-card,
  .campaign-highlight-grid>article,
  .template-download-grid>article,
  .steps-grid>article,
  .virtual-menu-grid>article,
  .portal-route-stack>article{
    flex:0 0 min(82vw,330px);
    scroll-snap-align:start;
  }

  .campaign-highlight-grid>article,
  .template-download-grid>article,
  .steps-grid>article,
  .virtual-menu-grid>article,
  .portal-route-stack>article{
    min-height:156px;
  }

  .login-side-card{
    min-height:190px;
    order:-1;
  }

  .login-side-card b{
    font-size:1.45rem;
  }

  .partner-breadcrumb{
    max-width:100%;
    overflow:hidden;
    border-radius:16px;
    font-size:.72rem;
  }

  .partner-breadcrumb a,.partner-breadcrumb b{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .step-rail{
    margin:0 -10px 12px;
    padding:0 10px 8px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .step-rail::-webkit-scrollbar{
    display:none;
  }

  .step-rail button{
    flex:0 0 auto;
    min-width:92px;
    min-height:36px;
    border-color:var(--line);
    background:#fff;
    box-shadow:0 8px 18px rgba(13,21,51,.05);
    font-size:.7rem;
  }

  .login-card{
    box-shadow:0 18px 46px rgba(13,21,51,.1);
  }

  .google-auth-button{
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    min-height:52px;
    padding:0 14px;
    border-radius:17px;
  }

  .google-auth-button span{
    width:38px;
    height:38px;
    border-radius:13px;
  }

  .google-auth-button b{
    min-height:38px;
    font-size:.9rem;
  }

  .partner-splash-orbit{
    width:168px;
    height:168px;
  }

  .partner-splash-orbit:before{
    inset:8px;
  }

  .partner-splash-orbit span{
    top:12px;
    transform-origin:5px 72px;
  }

  .partner-splash img{
    width:128px;
    height:128px;
  }

  .partner-splash h1{
    font-size:2rem;
  }

  .partner-splash-tagline{
    font-size:.93rem;
  }

  .portal-account-chip{
    max-width:100%;
    justify-content:start;
  }

  .form-grid,.upload-grid,.review-stats{
    grid-template-columns:1fr;
  }

  .account-hero,.account-info-grid{
    grid-template-columns:1fr;
  }

  .account-hero{
    padding:17px;
  }

  .account-avatar{
    width:64px;
    height:64px;
    border-radius:20px;
  }

  .form-grid input,.form-grid select,.document-upload input{
    min-height:48px;
  }

  .csv-drop{
    grid-template-columns:54px minmax(0,1fr);
    min-height:0;
    padding:15px;
  }

  .csv-drop .csv-icon{
    width:50px;
    height:50px;
  }

  .csv-drop b{
    font-size:.94rem;
  }

  .csv-drop small{
    font-size:.78rem;
  }

  .csv-upload-control{
    grid-column:1/-1;
  }

  .csv-upload-button,
  .csv-upload-name{
    width:100%;
  }

  .review-table>div{
    grid-template-columns:1fr;
  }

  .review-table>div:first-child{
    display:none;
  }

  .dashboard-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-head .primary{
    width:100%;
  }

  .dashboard-list article{
    grid-template-columns:1fr;
    padding:15px;
  }

  .row-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .footer-actions,.footer-actions.three{
    display:grid;
    grid-template-columns:1fr;
  }

  .partner-welcome-modal,.partner-payment-modal{
    padding:20px;
    border-radius:24px;
  }

  .partner-payment-modal h2{
    padding-right:44px;
    font-size:1.48rem;
  }

  .payment-checklist,.payment-actions{
    grid-template-columns:1fr;
  }

  .welcome-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:380px){
  .partner-public-copy h1{
    font-size:2.08rem;
  }

  .brand span{
    display:none;
  }
}

/* Partner address and reusable food base */
.address-map-confirm{
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.78fr)!important;
  grid-template-areas:"copy map" "fields map" "actions map";
  gap:14px!important;
  align-items:stretch;
  padding:18px!important;
  background:linear-gradient(145deg,#F7FAFF,#EEF5FF)!important;
}
.address-copy{grid-area:copy}
.partner-address-grid{grid-area:fields}
.partner-location-actions{grid-area:actions}
.map-preview{grid-area:map}
.address-copy h3{margin-top:4px;font-size:1.35rem}
.address-copy p:not(.eyebrow){max-width:520px;margin-top:7px;color:var(--muted);font-weight:800;line-height:1.5}
.partner-address-grid{grid-template-columns:minmax(110px,.7fr) minmax(92px,.45fr) minmax(0,1fr)!important;align-content:start}
.partner-address-grid label.wide{grid-column:1/-1}
.partner-address-grid input{min-height:48px;font-size:.94rem}
.partner-location-actions{
  display:grid!important;
  align-content:start;
  gap:12px!important;
  min-width:0;
  padding:14px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#F8FAFF);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 26px rgba(13,21,51,.045);
}
.partner-location-actions p{
  display:grid;
  gap:4px;
  margin:0!important;
  color:var(--muted);
  font-weight:850;
  line-height:1.38;
}
.partner-location-actions p b{
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:950;
}
.partner-location-actions p span{
  font-size:.86rem;
}
.partner-location-actions>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.partner-location-actions button{
  display:grid;
  place-items:center;
  gap:3px;
  min-width:0;
  min-height:58px;
  padding:9px 10px;
  border-radius:17px;
  white-space:normal;
  line-height:1.08;
}
.partner-location-actions button b{
  display:block;
  overflow-wrap:anywhere;
  font-size:.78rem;
  font-weight:950;
}
.partner-location-actions button small{
  color:inherit;
  font-size:.62rem;
  font-weight:850;
  opacity:.72;
}
.map-preview{
  min-height:100%!important;
  border:1px solid rgba(255,159,113,.18)!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 58% 42%,rgba(37,104,232,.22),transparent 4%),
    radial-gradient(circle at 18% 82%,rgba(255,159,113,.14),transparent 22%),
    linear-gradient(135deg,#F8FAFF,#FFF5EB)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.map-preview.located{
  border-color:rgba(30,171,117,.2)!important;
  background:
    radial-gradient(circle at 56% 42%,rgba(30,171,117,.32),transparent 5%),
    radial-gradient(circle at 34% 68%,rgba(37,104,232,.12),transparent 18%),
    linear-gradient(135deg,#F6FFF9,#F8FAFF)!important;
}
.map-preview small{
  position:relative;
  z-index:1;
  display:block;
  max-width:210px;
  margin-top:10px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:850;
  line-height:1.35;
  text-align:center;
}
.document-upload{padding:18px!important;background:linear-gradient(145deg,#F8FAFF,#EEF5FF)!important}
.document-upload input[type="file"]{padding:8px!important;color:var(--muted);font-size:.78rem;font-weight:850}
.document-upload input[type="file"]::file-selector-button{min-height:34px;margin-right:10px;padding:0 12px;border:1px solid rgba(37,104,232,.18);border-radius:999px;background:#fff;color:var(--blue-deep);font:inherit;font-size:.72rem;font-weight:950;cursor:pointer}
.csv-limit-note{margin:0 0 12px;padding:12px 14px;border:1px solid rgba(255,159,113,.28);border-radius:16px;background:#FFF5EA;color:#8A552A;font-weight:850;line-height:1.45}
.library-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.library-list{display:grid!important;gap:9px!important}
.library-list-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.52fr) auto;gap:10px;align-items:center;min-width:0;padding:11px 12px;border:1px solid rgba(219,228,240,.9);border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(13,21,51,.045);cursor:pointer}
.library-row-main{display:grid;gap:3px;min-width:0}
.library-row-main span{color:#A45D2B;font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.library-row-main b{overflow:hidden;color:var(--blue-deep);font-size:.96rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
.library-row-main small,.library-row-acceptance small{overflow:hidden;color:var(--muted);font-size:.72rem;font-weight:820;text-overflow:ellipsis;white-space:nowrap}
.library-custom-tags{display:flex;gap:5px;min-width:0;overflow:hidden}
.library-custom-tags em{max-width:116px;overflow:hidden;padding:4px 7px;border:1px solid rgba(37,104,232,.1);border-radius:999px;background:#F6F9FF;color:#536582;font-size:.62rem;font-style:normal;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.library-row-acceptance{display:grid;gap:5px;min-width:0}
.library-row-acceptance strong{color:#1F8F64;font-size:1.12rem;font-weight:950}
.library-row-acceptance i{display:block;width:100%;height:7px;overflow:hidden;border-radius:999px;background:#EAF0FA}
.library-row-acceptance i:before{display:block;width:var(--acceptance,50%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#1FA66F,#7ACFA2);content:""}
.library-row-nutrition{display:none;min-width:0}
.library-list-row>button{min-height:38px;padding:0 14px;border:1px solid rgba(37,104,232,.14);border-radius:999px;background:#F8FAFF;color:var(--blue-deep);font-size:.72rem;font-weight:950}
.partner-library-backdrop{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:22px;background:rgba(9,16,35,.46);backdrop-filter:blur(10px)}
.partner-library-modal{position:relative;display:grid;gap:16px;width:min(940px,100%);max-height:min(92dvh,820px);overflow:auto;padding:26px;border:1px solid rgba(255,255,255,.72);border-radius:30px;background:linear-gradient(145deg,#fff,#F5F8FF);box-shadow:0 30px 90px rgba(9,16,35,.28)}
.partner-modal-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(37,104,232,.14);border-radius:50%;background:#fff;color:var(--blue-deep);font-size:1.1rem;font-weight:950;box-shadow:0 12px 24px rgba(13,21,51,.08)}
.library-modal-head{max-width:660px;padding-right:46px}
.library-modal-head h2{margin-top:5px;color:var(--blue-deep);font-size:clamp(1.6rem,4vw,2.45rem);line-height:1}
.library-modal-head p:not(.eyebrow){margin-top:9px;color:var(--muted);font-weight:820;line-height:1.5}
.library-modal-signal{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(31,166,111,.18);border-radius:18px;background:#F3FFF8}
.library-modal-signal span,.library-modal-signal small{color:#4C7D66;font-size:.72rem;font-weight:900}
.library-modal-signal b{color:#1F8F64;font-size:1.6rem;font-weight:950}
.library-modal-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.library-modal-form label{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.library-modal-form .wide{grid-column:1/-1}
.library-modal-form input,.library-modal-form select,.library-modal-form textarea{width:100%;min-height:46px;border:1px solid rgba(219,228,240,.95);border-radius:16px;background:#fff;color:var(--blue-deep);font:inherit;font-size:.9rem;font-weight:850;letter-spacing:0;text-transform:none}
.library-modal-form textarea{min-height:88px;padding:13px;resize:vertical}
.menu-visual-picker{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0;
  padding:14px;
  border:1px solid rgba(37,104,232,.12);
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#F8FAFF);
}
.menu-visual-picker legend{
  padding:0 6px;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.menu-visual-picker small{
  grid-column:1/-1;
  color:var(--muted);
  font-size:.72rem;
  font-weight:820;
  line-height:1.4;
}
.library-custom-filter-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:14px;border:1px solid rgba(37,104,232,.1);border-radius:18px;background:#F8FAFF}
.library-custom-filter-fields legend{grid-column:1/-1;padding:0 6px;color:var(--blue-deep);font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.library-custom-filter-fields legend small{color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:0;text-transform:none}
.library-nutrition-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:14px;border:1px solid rgba(219,228,240,.95);border-radius:20px;background:linear-gradient(145deg,#fff,#F8FAFF)}
.library-nutrition-fields legend{grid-column:1/-1;padding:0 6px;color:var(--blue-deep);font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.library-nutrition-fields legend small,.library-nutrition-fields label small{color:var(--muted);font-size:.66rem;font-weight:850;letter-spacing:0;text-transform:none}
.library-nutrition-fields.core{
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:12px;
  border-color:rgba(37,104,232,.12);
  background:#fff;
}
.library-nutrition-fields.core label{
  padding:10px;
  border:1px solid rgba(219,228,240,.72);
  border-radius:14px;
  background:#F8FAFF;
}
.library-extra-nutrition{
  grid-column:1/-1;
  border:1px solid rgba(219,228,240,.86);
  border-radius:18px;
  background:#fff;
}
.library-extra-nutrition>summary{
  padding:14px 16px;
  cursor:pointer;
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.04em;
  list-style:none;
  text-transform:uppercase;
}
.library-extra-nutrition>summary::-webkit-details-marker{display:none}
.library-extra-nutrition>div{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  padding:0 14px 14px;
}
.library-extra-nutrition label{
  padding:8px;
  border-radius:12px;
  background:#F8FAFF;
}
.library-ingredients-builder{display:grid;gap:12px;padding:16px;border:1px solid rgba(37,104,232,.12);border-radius:22px;background:linear-gradient(145deg,#fff,#F8FAFF)}
.library-ingredients-builder>header{display:flex;align-items:center;justify-content:space-between;gap:14px}
.library-ingredients-builder h3{margin:2px 0 4px;color:var(--blue-deep);font-size:1rem;font-weight:950;letter-spacing:0;text-transform:none}
.library-ingredients-builder header span{display:block;max-width:620px;color:var(--muted);font-size:.78rem;font-weight:820;letter-spacing:0;line-height:1.4;text-transform:none}
.library-ingredients-builder header button{min-height:40px;padding:0 16px;border-radius:999px;font-size:.72rem;font-weight:950;white-space:nowrap}
.library-recipe-total{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.library-recipe-total article{
  display:grid;
  gap:8px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(199,215,240,.78);
  border-radius:18px;
  background:#fff;
}
.library-recipe-total article>span{
  color:var(--muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.library-macro-chip-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.library-macro-chip-row span{
  display:grid;
  gap:2px;
  min-width:0;
  padding:8px;
  border-radius:12px;
  background:#F3F7FF;
}
.library-macro-chip-row small{
  overflow:hidden;
  color:var(--muted);
  font-size:.56rem;
  font-weight:950;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.library-macro-chip-row b{
  overflow:hidden;
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.library-macro-chip-row.mini{
  grid-template-columns:repeat(4,minmax(54px,1fr));
  min-width:min(100%,300px);
}
.library-macro-chip-row.mini span{
  padding:6px 7px;
  background:#fff;
}
.library-ingredients-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.library-ingredient-row{overflow:hidden;border:1px solid rgba(199,215,240,.88);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(13,21,51,.045)}
.library-ingredient-row>summary{display:grid;grid-template-columns:minmax(120px,1fr) minmax(190px,auto) 30px;align-items:center;gap:10px;min-height:54px;padding:10px 12px;cursor:pointer;list-style:none}
.library-ingredient-row>summary::-webkit-details-marker{display:none}
.library-ingredient-row>summary span{display:grid;gap:2px;min-width:0}
.library-ingredient-row>summary b{overflow:hidden;color:var(--blue-deep);font-size:.88rem;font-weight:950;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
.library-ingredient-row>summary small{overflow:hidden;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
.library-ingredient-row>summary button{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border:1px solid rgba(180,71,86,.14);border-radius:50%;background:#FFF7F7;color:#8B2433;font-size:1rem;font-weight:950}
.library-ingredient-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 12px 12px}
.library-ingredient-body .wide{grid-column:1/-1}
.library-ingredient-core{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:2px;padding:12px;border:1px solid rgba(219,228,240,.88);border-radius:16px;background:#F8FAFF}
.library-ingredient-core p{grid-column:1/-1;margin:0;color:var(--blue-deep);font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.library-ingredient-extra{border:1px solid rgba(219,228,240,.78);border-radius:16px;background:#fff}
.library-ingredient-extra>summary{padding:12px;color:var(--blue-deep);font-size:.74rem;font-weight:950;cursor:pointer;list-style:none}
.library-ingredient-extra>summary::-webkit-details-marker{display:none}
.library-ingredient-extra>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.library-base-link-field{
  position:relative;
}
.library-base-link-field.is-hidden{
  display:none!important;
}
.library-base-link-field small{
  color:#7A879C;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:0;
  line-height:1.35;
  text-transform:none;
}
.library-modal-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:4px}
.library-modal-actions button{min-height:46px;padding:0 18px;border-radius:999px;font-size:.78rem;font-weight:950}
.event-library-picker{display:grid;gap:9px}
.event-library-picker label{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(180px,1fr);gap:12px;align-items:center;min-width:0;padding:12px;border:1px solid rgba(219,228,240,.9);border-radius:18px;background:#fff}
.event-library-picker input{width:22px;height:22px;accent-color:var(--blue)}
.event-library-picker b{display:block;overflow:hidden;color:var(--blue-deep);font-size:.94rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
.event-library-picker small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;font-weight:820}

@media(max-width:860px){
  .address-map-confirm{grid-template-columns:1fr!important;grid-template-areas:"copy" "fields" "actions" "map"}
  .partner-address-grid{grid-template-columns:1fr 92px!important}
  .partner-location-actions>div{grid-template-columns:1fr}
  .map-preview{min-height:210px!important}
  .library-list-row{grid-template-columns:1fr}
  .library-list-row>button{width:100%}
  .library-modal-form{grid-template-columns:1fr 1fr}
  .library-nutrition-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-nutrition-fields.core,
  .library-extra-nutrition>div,
  .library-ingredient-body,
  .library-ingredient-core,
  .library-ingredient-extra>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-recipe-total,
  .library-ingredients-list{grid-template-columns:1fr}
  .library-ingredient-row>summary{grid-template-columns:1fr 30px}
  .library-ingredient-row>summary .library-macro-chip-row{grid-column:1/-1;grid-row:2}
  .library-ingredients-builder>header{display:grid}
  .library-custom-filter-fields{grid-template-columns:1fr}
  .anonymous-overview-grid,
  .favorite-recipe-grid,
  .anonymous-grid{grid-template-columns:1fr}
  .interaction-ingredient-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partner-anonymous-panel>header{display:grid}
  .event-library-picker label{grid-template-columns:auto minmax(0,1fr)}
  .event-library-picker .library-macros{grid-column:1/-1}
}

@media(max-width:560px){
  .partner-library-backdrop{padding:10px}
  .partner-library-modal{max-height:94dvh;padding:20px 16px;border-radius:24px}
  .library-modal-form{grid-template-columns:1fr}
  .library-nutrition-fields,
  .library-nutrition-fields.core,
  .library-extra-nutrition>div,
  .library-ingredient-body,
  .library-ingredient-core,
  .library-ingredient-extra>div,
  .library-macro-chip-row{grid-template-columns:1fr}
  .interaction-ingredient-numbers{grid-template-columns:1fr}
  .library-modal-actions{display:grid;grid-template-columns:1fr}
}

/* Library dashboard polish */
.partner-library-view .compact-library{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.partner-library-view .compact-library article,
.partner-library-view .library-channel-grid article{
  min-height:auto;
  padding:14px 16px;
  border-color:rgba(199,215,240,.72);
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#F8FAFF);
  box-shadow:0 12px 26px rgba(13,21,51,.055);
}

.partner-library-view .compact-library b,
.partner-library-view .library-channel-grid b{
  font-size:1.58rem;
}

.partner-library-view .compact-library small,
.partner-library-view .library-channel-grid small{
  max-width:150px;
  font-size:.74rem;
  line-height:1.28;
}

.partner-library-view .library-channel-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.library-management-bar{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(199,215,240,.82);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#F6F9FF);
  box-shadow:0 14px 30px rgba(13,21,51,.06);
}

.library-search-field{
  display:grid;
  gap:7px;
  min-width:0;
}

.library-search-field span{
  color:var(--muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.library-search-field input{
  width:100%;
  min-height:48px;
  padding:0 16px;
  border:1px solid rgba(199,215,240,.9);
  border-radius:16px;
  background:#fff;
  color:var(--blue-deep);
  font:inherit;
  font-size:.92rem;
  font-weight:850;
  outline:0;
}

.library-search-field input:focus{
  border-color:rgba(37,104,232,.45);
  box-shadow:0 0 0 4px rgba(37,104,232,.1);
}

.library-chip-row,
.library-toolbar-actions,
.library-group-toggle{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  min-width:0;
}

.library-chip-row button,
.library-group-toggle button,
.library-toolbar-actions>button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(37,104,232,.14);
  border-radius:999px;
  background:#fff;
  color:var(--blue-deep);
  font-size:.72rem;
  font-weight:950;
  white-space:nowrap;
}

.library-chip-row button span{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#EEF3FF;
  color:#2568E8;
  font-size:.64rem;
}

.library-chip-row button.active,
.library-group-toggle button.active{
  border-color:transparent;
  background:linear-gradient(135deg,#2568E8,#1748BC);
  color:#fff;
  box-shadow:0 10px 22px rgba(37,104,232,.18);
}

.library-chip-row button.active span{
  background:rgba(255,255,255,.18);
  color:#fff;
}

.library-kind-chips{
  max-height:82px;
  overflow:auto;
  padding-right:4px;
}

.library-toolbar-actions{
  justify-content:space-between;
  padding-top:2px;
}

.library-toolbar-actions>button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.library-group-section{
  display:grid;
  gap:9px;
}

.library-group-section>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 2px 0;
}

.library-group-section>header b{
  color:var(--blue-deep);
  font-size:.94rem;
  font-weight:950;
}

.library-group-section>header span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:850;
}

.partner-library-view .library-channel-grid article{
  position:relative;
  overflow:hidden;
  padding-left:18px;
}

.partner-library-view .library-channel-grid article:after{
  position:absolute;
  right:-18px;
  bottom:-20px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(37,104,232,.06);
  content:"";
}

.partner-library-view .library-list{
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.partner-library-view .library-list-row{
  grid-template-columns:minmax(240px,1fr) minmax(164px,.46fr) 78px;
  padding:12px;
  border-radius:18px;
  background:#fff;
}

.partner-library-view .library-list-row:hover{
  border-color:rgba(37,104,232,.26);
  box-shadow:0 16px 34px rgba(13,21,51,.08);
  transform:translateY(-1px);
}

.partner-library-view .library-list-row.inactive{
  opacity:.62;
  background:linear-gradient(135deg,#fff,#F5F6FA);
}

.partner-library-view .library-list-row.inactive .library-row-main b{
  color:#7A8499;
}

.partner-library-view .library-row-main span{
  width:max-content;
  max-width:100%;
  padding:4px 7px;
  border-radius:999px;
  background:#FFF2E7;
}

.partner-library-view .library-row-main b{
  font-size:1rem;
  line-height:1.18;
}

.partner-library-view .library-row-acceptance{
  padding:7px 9px;
  border:1px solid rgba(31,166,111,.12);
  border-radius:14px;
  background:#F6FFF9;
}

.partner-library-view .library-row-acceptance strong{
  font-size:1.28rem;
  line-height:1;
}

.partner-library-view .library-row-nutrition,
.partner-library-view .library-macros{
  display:none;
}

.partner-library-view .library-list-row>button{
  align-self:center;
  min-height:36px;
  padding:0 12px;
  background:#fff;
}

@media(max-width:1100px){
  .partner-library-view .library-list-row{
    grid-template-columns:minmax(0,1fr) minmax(142px,.5fr) 76px;
  }
}

@media(max-width:720px){
  .partner-library-view .compact-library{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .partner-library-view .library-channel-grid{
    grid-template-columns:1fr;
  }
  .partner-library-view .library-list-row{
    grid-template-columns:1fr;
  }
  .library-toolbar-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .library-group-toggle{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .library-group-toggle button,
  .library-toolbar-actions>button{
    width:100%;
  }
  .partner-library-view .library-list-row>button{
    width:100%;
  }
}
