/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
*,*::before,*::after{box-sizing:border-box;}a{color:inherit;text-decoration:none;}.portal-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);height:var(--layout-header-height);padding:0 var(--spacing-lg);background:var(--color-surface-card);border-bottom:1px solid var(--color-border-subtle);}.portal-header__context{flex:1;min-width:0;display:flex;align-items:center;}.portal-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;line-height:1.3;}.portal-breadcrumb__sep{color:var(--color-text-tertiary);}.portal-breadcrumb__item{color:var(--color-text-secondary);text-decoration:none;}.portal-breadcrumb__item:hover{color:var(--color-text-primary);}.portal-breadcrumb__item--current{color:var(--color-text-primary);font-weight:500;}.portal-header__actions{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0;}.portal-tier-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;text-transform:lowercase;}.portal-tier-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0.85;}.portal-tier-badge--external{background:var(--color-tier-external-bg);color:var(--color-tier-external-text);}.portal-tier-badge--external .portal-tier-badge__dot{background:#22a06b;}.portal-tier-badge--partner{background:var(--color-tier-partner-bg);color:var(--color-tier-partner-text);}.portal-tier-badge--internal{background:var(--color-tier-internal-bg);color:var(--color-tier-internal-text);}.portal-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-brand-primary);color:var(--color-text-inverse);font-size:13px;font-weight:600;cursor:pointer;user-select:none;text-transform:uppercase;letter-spacing:0.02em;}.portal-user-menu{position:relative;}.portal-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(0,0,0,0.1);overflow:hidden;z-index:2000;}.portal-user-dropdown[hidden]{display:none !important;}.portal-user-dropdown__name{padding:12px 16px 8px;font-size:13px;font-weight:600;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);}.portal-user-dropdown__item{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;color:var(--color-text-primary) !important;}.portal-user-dropdown__item:hover{background:var(--color-surface-muted);}.portal-oidc-btn-wrapper .form-submit,.portal-oidc-btn-wrapper a.form-submit{display:inline-flex;align-items:center;padding:8px 18px !important;background:var(--color-brand-primary) !important;color:var(--color-text-inverse) !important;border:none !important;border-radius:var(--radius-full) !important;font-family:var(--font-sans) !important;font-size:13px !important;font-weight:500 !important;cursor:pointer !important;}.portal-oidc-btn-wrapper .form-submit:hover,.portal-oidc-btn-wrapper a.form-submit:hover{background:var(--color-brand-primary-dark) !important;}.portal-page{display:flex;flex-direction:row;align-items:stretch;min-height:100vh;background:var(--color-surface-page);}.portal-body{flex:1 1 0%;min-width:0;display:flex;flex-direction:column;min-height:100vh;margin-left:var(--layout-sidebar-width);}.portal-body > .portal-header{flex-shrink:0;}.portal-main{flex:1 1 auto;min-width:0;min-height:0;padding:var(--layout-main-padding-y) var(--layout-main-padding-x) var(--spacing-2xl);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:var(--layout-section-gap);}.portal-main > *:first-child{flex:0 1 auto;width:100%;max-width:100%;min-height:0;}.content-section{width:100%;max-width:var(--layout-container-max);margin-left:auto;margin-right:auto;}body.user-logged-in{--layout-main-padding-x:var(--layout-main-padding-authed);--layout-main-padding-y:var(--layout-main-padding-authed);}body.user-logged-in .portal-main{padding:var(--layout-main-padding-authed);gap:var(--layout-main-padding-authed);}body.user-logged-in .portal-content-inner{padding:0;width:100%;max-width:none;}body.user-logged-in .portal-main .content-section{max-width:none;margin-left:0;margin-right:0;}.portal-hero{background:var(--color-brand-hero-dark);border-radius:var(--radius-xl);padding:48px 56px;color:var(--color-text-inverse);}.portal-hero__eyebrow{font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-hero-eyebrow);margin-bottom:var(--spacing-md);}.portal-hero__title{font-size:36px;font-weight:600;line-height:1.15;margin:0 0 var(--spacing-md);color:var(--color-text-inverse);}.portal-hero__subtitle{max-width:520px;font-size:15px;line-height:1.5;color:var(--color-hero-subtitle);margin:0 0 var(--spacing-lg);}.portal-hero__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);}.portal-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;border:none;cursor:pointer;text-decoration:none;}.portal-btn--primary{background:var(--color-brand-accent);color:var(--color-text-inverse);}.portal-btn--primary:hover{background:var(--color-brand-accent-hover);color:var(--color-text-inverse);}.portal-btn--outline{background:transparent;color:var(--color-text-inverse);border:1px solid rgba(255,255,255,0.4);}.portal-btn--outline:hover{border-color:var(--color-text-inverse);}.portal-section-header__eyebrow{font-size:11px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs);}.portal-section-header__title{font-size:24px;font-weight:600;margin:0 0 var(--spacing-xs);color:var(--color-text-primary);}.portal-section-header__subtitle{font-size:14px;color:var(--color-text-secondary);margin:0 0 var(--spacing-lg);}.api-cards-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);}@media (min-width:769px){.api-cards-grid{grid-template-columns:repeat(2,1fr);}}@media (min-width:1024px){.api-cards-grid{grid-template-columns:repeat(4,1fr);}}.api-card{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color 0.15s ease;}.api-card:hover{border-color:var(--color-border-default);}.api-card__icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;}.api-card__icon--external{background:var(--color-tier-external-bg);color:var(--color-tier-external-accent);}.api-card__icon--internal{background:var(--color-tier-internal-bg);color:var(--color-tier-internal-accent);}.api-card__icon--public{background:var(--color-tier-public-bg);color:var(--color-tier-public-accent);}.api-card__icon--partner{background:var(--color-tier-partner-bg);color:var(--color-tier-partner-accent);}.api-card__title{font-size:15px;font-weight:500;color:var(--color-text-primary);margin:0;}.api-card__subtitle{font-size:13px;color:var(--color-text-secondary);margin:0;flex:1;}.api-card__badge{display:inline-flex;align-self:flex-start;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:500;text-transform:lowercase;}.api-card__badge--external{background:var(--color-tier-external-bg);color:var(--color-tier-external-text);}.api-card__badge--internal{background:var(--color-tier-internal-bg);color:var(--color-tier-internal-text);}.api-card__badge--public{background:var(--color-tier-public-bg);color:var(--color-tier-public-text);}.api-card__badge--partner{background:var(--color-tier-partner-bg);color:var(--color-tier-partner-text);}.portal-resources{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);font-size:14px;}.portal-resources a{color:var(--color-brand-primary);font-weight:500;}.portal-resources__sep{color:var(--color-border-default);}.portal-content-inner{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg);min-height:400px;}.suite-sidebar,.suite-content-card,.suite-section-bar,.suite-layout .suite-sidebar{display:none !important;}.steps-section{padding:2rem 0 4rem;font-family:'Inter',system-ui,sans-serif;color:#1e293b;}.steps-section .steps-header{margin-bottom:2rem;}.steps-section .steps-header h2{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-0.01em;line-height:1.2;}.steps-section .steps-header p{font-size:0.875rem;color:#64748b;margin-top:0.25rem;margin-bottom:0;}.steps-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}.step-card{position:relative;display:block;background:#fff;border:1px solid #e2e8f0;border-radius:0.75rem;padding:1.75rem;text-decoration:none;color:inherit;overflow:hidden;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}.step-card:hover{transform:translateY(-2px);border-color:#2563eb;box-shadow:0 20px 25px -5px rgba(37,99,235,0.10);}.step-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(to right,transparent,#2563eb,transparent);opacity:0;transition:opacity 0.2s ease;}.step-card:hover::before{opacity:1;}.step-number{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.75rem;color:#2563eb;margin-bottom:0.75rem;}.step-title{font-size:1.125rem;font-weight:700;letter-spacing:-0.01em;margin:0 0 0.5rem;transition:color 0.2s ease;}.step-card:hover .step-title{color:#2563eb;}.step-desc{font-size:0.875rem;color:#64748b;line-height:1.5;margin:0;}@media (min-width:640px){.steps-grid{grid-template-columns:repeat(2,1fr);}}@media (min-width:1024px){.steps-section{padding:2rem 0 6rem;}.steps-grid{grid-template-columns:repeat(3,1fr);}}body.suite-page--credentials .portal-main{padding:0;gap:0;background:#ffffff;min-height:calc(100vh - 56px);}body.suite-page--credentials .suite-page-header{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#ffffff;border-bottom:1px solid #e5e7eb;}body.suite-page--credentials .suite-page-header h1{font-family:'Montserrat',system-ui,sans-serif;font-size:20px;font-weight:700;color:#003C82;margin:0;flex:1;}body.suite-page--credentials .suite-credentials-page{background:#ffffff;padding:32px 48px 48px;font-family:'Montserrat',system-ui,sans-serif;flex:1;width:100%;box-sizing:border-box;}@media (max-width:768px){body.suite-page--credentials .suite-credentials-page{padding:24px 16px 32px;}body.suite-page--credentials .suite-page-header{padding:12px 16px;}}
