.partner-body{min-height:100dvh}.portal-wrap{max-width:1240px;margin:auto;padding:36px 24px 60px}.portal-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.portal-hero h1{font-size:clamp(1.8rem,4vw,2.8rem)}.portal-hero p{color:var(--muted);margin-top:8px}.portal-actions{display:flex;gap:10px;flex-wrap:wrap}.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.portal-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.portal-stat strong{font-size:2rem;display:block;line-height:1.2}.portal-stat span{color:var(--muted);font-size:.85rem}.portal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}.portal-sidebar{border:1px solid var(--line);border-radius:16px;background:white;padding:18px;align-self:start}.portal-sidebar h2{font-size:1rem;margin-bottom:12px}.portal-sidebar p{font-size:.84rem;color:var(--muted);overflow-wrap:anywhere}.portal-sidebar button{width:100%;margin-top:14px}.portal-list{display:grid;gap:14px}.portal-card{border:1px solid var(--line);background:white;border-radius:16px;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.portal-card h2{font-size:1.1rem;margin:9px 0}.portal-card p{color:var(--muted);font-size:.85rem}.portal-badge{font-size:.75rem;padding:5px 10px;border-radius:30px;background:#edf3fc;color:#28598e;display:inline-block}.portal-badge.published{background:#e2f6ec;color:#176c43}.portal-badge.needs_changes{background:#fff0d4;color:#805207}.portal-badge.withdrawn{background:#edf0f4;color:#526377}.portal-empty{padding:60px 28px;background:white;border:1px dashed #b8c8dd;border-radius:16px;text-align:center}.portal-empty p{color:var(--muted);margin:12px auto 22px;max-width:480px}.portal-login{max-width:540px;margin:55px auto 80px;padding:32px;border:1px solid var(--line);background:white;border-radius:22px}.portal-login h1{font-size:2.1rem}.portal-login p{color:var(--muted);margin:12px 0 25px}.portal-login .field{margin-top:20px}.portal-login textarea{font-family:monospace;font-size:.9rem;min-height:90px}.portal-login .primary{width:100%;margin-top:20px}.portal-note{background:#edf4ff;border:1px solid #cbdcf3;padding:14px 16px;border-radius:10px;color:#234c78;font-size:.88rem;margin-bottom:20px}.portal-error{color:#a22626;background:#fff0f0;border:1px solid #f2cdcd;border-radius:9px;padding:12px;margin:12px 0}.portal-steps{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.portal-steps span{padding:7px 12px;border-radius:30px;background:#e7eef8;font-size:.8rem;color:#3a597e}.editor-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;margin:20px 0}.editor-section h2{font-size:1.3rem;margin-bottom:18px}.editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.editor-grid .wide{grid-column:1/-1}.editor-grid .double{grid-column:span 2}.editor-grid textarea{min-height:120px}.upload-zone{border:2px dashed #b9cfe8;padding:25px;border-radius:12px;background:#f7faff}.upload-zone p{color:var(--muted);font-size:.86rem;margin:8px 0 15px}.upload-zone input{width:100%}.asset-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.asset-item{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.asset-item img{width:100%;height:110px;object-fit:cover;border-radius:6px}.asset-item a{display:block;margin-top:8px;font-size:.85rem;overflow-wrap:anywhere}.asset-item small{color:var(--muted)}.editor-bottom{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;position:sticky;bottom:0;padding:16px;background:#f3f6fbf2;border-top:1px solid var(--line);backdrop-filter:blur(8px)}.editor-bottom .portal-actions{flex:1;justify-content:end}.portal-feedback{margin:14px 0;padding-inline-start:22px}.portal-feedback li{margin:6px 0;color:#805207}.portal-link{word-break:break-all;background:#f4f7fb;border:1px solid var(--line);border-radius:9px;padding:12px;width:100%;font-size:.85rem}.busy-note{margin-top:12px;color:var(--muted);font-size:.86rem}.portal-mobile-title{margin-bottom:10px}
@media(max-width:760px){.portal-wrap{padding:24px 18px 40px}.portal-hero{align-items:start;flex-direction:column}.portal-stats{grid-template-columns:repeat(2,1fr);gap:10px}.portal-stat{padding:16px}.portal-layout{grid-template-columns:1fr}.portal-sidebar{order:2}.portal-card{padding:18px;flex-direction:column;align-items:stretch;gap:12px}.portal-login{margin:28px 18px;padding:25px 20px}.editor-grid{grid-template-columns:1fr 1fr}.editor-grid .double{grid-column:1/-1}.editor-section{padding:20px 17px}.asset-list{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-bottom{gap:10px}.editor-bottom .portal-actions{justify-content:stretch}.editor-bottom button{flex:1}.portal-hero .portal-actions{width:100%}.portal-hero .portal-actions button{flex:1}}
@media(max-width:420px){.editor-grid{grid-template-columns:1fr}.editor-grid .double,.editor-grid .wide{grid-column:auto}.portal-login h1{font-size:1.8rem}}

.portal-wrap .eyebrow,.portal-login .eyebrow{color:#1b668f}

.field[hidden]{display:none}

.partner-guide-list{padding-inline-start:22px}.partner-guide-list li{margin:12px 0;line-height:1.65}

.field [aria-invalid="true"]{border-color:#a43c24}.field-error{color:#8b2f1b;font-size:.84rem;margin-top:6px;line-height:1.45}

.portal-reauth{padding:20px;margin:20px 0;border:1px solid var(--line);border-radius:14px;background:#fff}.portal-reauth p{margin:8px 0 14px;color:var(--muted)}.portal-reauth .field{max-width:640px}

/* Match the catalog's calm surfaces and accessible touch feedback. */
.portal-stat,.portal-sidebar,.portal-card,.portal-login,.editor-section,.portal-reauth{border-radius:20px;box-shadow:var(--surface-shadow)}
.portal-hero{align-items:start}.portal-hero p{max-width:62ch;line-height:1.65}
.portal-stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin-bottom:.35rem}
.portal-stats{gap:1rem}.portal-card{padding:1.5rem}.portal-card h2{line-height:1.4}
.portal-badge{font-size:.8rem;line-height:1.5}.portal-login textarea{line-height:1.6}
.editor-section{padding:1.75rem}.editor-section h2{letter-spacing:-.015em}
.editor-grid{gap:1.25rem}.portal-note,.portal-error,.upload-zone,.portal-link{border-radius:14px;line-height:1.6}
.asset-item{border-radius:14px;padding:1rem}.asset-item img{border-radius:9px}.asset-item button{min-height:44px}
.editor-bottom{background:rgba(245,247,250,.96);backdrop-filter:blur(16px) saturate(140%);border-radius:16px 16px 0 0;gap:1rem;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));box-shadow:0 -6px 24px #07162a08}
.field [aria-invalid=true]{border-width:2px}.field-error{font-size:.875rem;line-height:1.55}
.portal-wrap .field input,.portal-wrap .field select,.portal-wrap .field textarea{scroll-margin-block:1.5rem 9rem}
[dir=rtl] .portal-stat strong,[dir=rtl] .editor-section h2{letter-spacing:0}
@media(max-width:760px){
  .editor-section{padding:1.25rem 1rem}.portal-card{padding:1.25rem}
  .portal-actions{gap:.75rem}.editor-bottom{margin-inline:-.25rem}
  .editor-bottom .portal-actions{flex-basis:100%}.editor-bottom button{min-width:0;white-space:normal}
  .portal-stats{gap:.75rem}.portal-stat strong{font-size:1.75rem}
}
@media(prefers-reduced-transparency:reduce){.editor-bottom{background:#f5f7fa;backdrop-filter:none}}
@media(prefers-contrast:more){.editor-bottom{background:#f5f7fa;backdrop-filter:none;border-color:#536780}.portal-badge{border:1px solid currentColor}.upload-zone{border-color:#536780}}

