.pss-portal{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:#f8fafc;
  border-radius:10px;
  padding:24px;
  box-shadow:0 10px 25px rgba(15,23,42,.08);
  margin:20px auto;
  max-width:1200px;
}
.pss-portal-header h2{margin:0 0 4px;color:#0f172a;font-size:1.8rem}
.pss-portal-header p{margin:0 0 16px;color:#475569}

/* PSS palette: Navy + Silver + Green accents */
:root{
  --pss-navy:#0b1f3a;
  --pss-silver:#e5e7eb;
  --pss-green:#16a34a;
  --pss-green-dark:#15803d;
  --pss-white:#ffffff;
  --pss-text:#0f172a;
}

.pss-tabs-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;border-bottom:1px solid #e5e7eb;padding-bottom:6px}
.pss-tab{border:none;background:var(--pss-silver);color:var(--pss-text);padding:8px 14px;border-radius:999px;font-size:.88rem;cursor:pointer;white-space:nowrap}
.pss-tab:hover{background:#dbe0e6}
.pss-tab.active{background:linear-gradient(135deg,var(--pss-navy),#123a66);color:var(--pss-white);box-shadow:0 6px 14px rgba(11,31,58,.25)}
.pss-tabs-content{background:#fff;border-radius:10px;padding:20px 18px;border:1px solid #e5e7eb}
.pss-tab-panel{display:block}
.pss-hidden{display:none!important}

.pss-btn,.pss-btn-secondary{border-radius:999px;padding:10px 20px;border:none;font-weight:700;cursor:pointer}
.pss-btn{background:linear-gradient(135deg,var(--pss-green),var(--pss-green-dark));color:var(--pss-white);box-shadow:0 6px 14px rgba(22,163,74,.25)}
.pss-btn:hover{filter:brightness(0.98)}
.pss-btn-secondary{background:#e5e7eb;color:var(--pss-text);cursor:not-allowed;opacity:.85}

.pss-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px}
.pss-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:12px}
.pss-card h4{margin:0 0 6px;color:var(--pss-text)}
.pss-card p{margin:0;color:#475569;font-size:.92rem}

.pss-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pss-form-grid input, textarea{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:8px}

.pss-alert{padding:10px 12px;border-radius:10px;margin:10px 0 14px;border:1px solid #e5e7eb}
.pss-alert-success{background:#ecfdf5;border-color:#bbf7d0;color:#14532d}
.pss-alert-error{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}

.pss-note{color:#64748b;font-size:.92rem}

@media(max-width:640px){.pss-tabs-nav{overflow-x:auto;white-space:nowrap}.pss-tab{flex:0 0 auto}}
