.portal-primitive-root{font-family:var(--portal-bold-font,system-ui,sans-serif);font-size:var(--portal-bold-base,18px);line-height:1.55;color:var(--portal-bold-text);background:var(--portal-bold-bg)}@media (prefers-reduced-motion:reduce){.portal-primitive-root *,.portal-primitive-root :after,.portal-primitive-root :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.portal-workspace-shell{min-height:100%;border-radius:var(--portal-bold-radius-lg);border:1px solid var(--portal-bold-border);box-shadow:var(--portal-bold-shadow-md);overflow:hidden}.portal-workspace-shell__header{background:var(--portal-bold-surface);border-bottom:1px solid var(--portal-bold-border)}.portal-workspace-shell__body,.portal-workspace-shell__header{padding:var(--portal-bold-space-lg)}.portal-workspace-shell__footer{padding:var(--portal-bold-space-md) var(--portal-bold-space-lg);font-size:.889rem;color:var(--portal-bold-muted);border-top:1px solid var(--portal-bold-border)}.portal-hero{display:flex;flex-wrap:wrap;gap:var(--portal-bold-space-md);align-items:flex-start;justify-content:space-between}.portal-hero__eyebrow{font-size:.889rem;font-weight:700;color:var(--portal-bold-primary);margin:0 0 4px}.portal-hero__title{font-size:1.556rem;font-weight:800;margin:0;line-height:1.2}.portal-hero__subtitle{margin:8px 0 0;color:var(--portal-bold-muted);max-width:42rem}.portal-hero__badge{padding:6px 14px;border-radius:var(--portal-bold-radius-pill,999px);background:linear-gradient(135deg,var(--portal-bold-primary),var(--portal-bold-secondary));color:#fff;font-size:.833rem;font-weight:700}.portal-gateway-grid{display:grid;grid-gap:var(--portal-bold-space-md);gap:var(--portal-bold-space-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portal-gateway-card{padding:var(--portal-bold-space-lg);border-radius:var(--portal-bold-radius-xl);background:var(--portal-bold-surface);border:2px solid var(--portal-bold-border);cursor:pointer;transition:transform var(--portal-bold-motion),box-shadow var(--portal-bold-motion)}.portal-gateway-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--portal-bold-shadow-md)}.portal-gateway-card.is-selected{border-color:var(--portal-bold-primary);box-shadow:var(--portal-bold-shadow-lg)}.portal-mission-card{display:flex;flex-direction:column;height:100%;padding:var(--portal-bold-space-md);border-radius:var(--portal-bold-radius-lg);background:var(--portal-bold-surface);border:1px solid var(--portal-bold-border)}.portal-mission-card__body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.portal-mission-card__actions{margin-top:auto;padding-top:12px}.portal-mission-card__actions .portal-cta-btn{width:100%}.portal-mission-card__title{font-weight:700;margin:0 0 4px}.portal-mission-card__meta{font-size:.889rem;color:var(--portal-bold-muted);margin:0}.portal-mission-card__progress{height:8px;border-radius:4px;background:var(--portal-bold-border);margin-top:12px;overflow:hidden}.portal-mission-card__progress-bar{height:100%;background:linear-gradient(90deg,var(--portal-bold-primary),var(--portal-bold-accent));transition:width var(--portal-bold-motion)}.portal-map,.portal-path{display:flex;flex-wrap:wrap;gap:var(--portal-bold-space-sm,8px);align-items:center}.portal-map__node,.portal-path__node{padding:10px 16px;border-radius:var(--portal-bold-radius-md);border:2px solid var(--portal-bold-border);background:var(--portal-bold-surface);font-size:.889rem;font-weight:600}.portal-map__node.is-active,.portal-path__node.is-active{border-color:var(--portal-bold-primary);background:color-mix(in srgb,var(--portal-bold-primary) 15%,var(--portal-bold-surface))}.portal-map__node.is-complete,.portal-path__node.is-complete{border-color:var(--portal-bold-success)}.portal-kpi-timeline{display:flex;flex-direction:column;gap:var(--portal-bold-space-sm,8px)}.portal-kpi-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:var(--portal-bold-radius-md);background:var(--portal-bold-surface);border:1px solid var(--portal-bold-border)}.portal-staff-grid{display:grid;grid-gap:var(--portal-bold-space-md);gap:var(--portal-bold-space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.portal-staff-panel{border-radius:var(--portal-bold-radius-lg);border:1px solid var(--portal-bold-border)}.portal-magazine-section,.portal-staff-panel{padding:var(--portal-bold-space-md);background:var(--portal-bold-surface)}.portal-magazine-section{border-left:4px solid var(--portal-bold-primary);margin-bottom:var(--portal-bold-space-md);border-radius:0 var(--portal-bold-radius-md) var(--portal-bold-radius-md) 0}.portal-cta-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.portal-cta-btn{font:inherit;font-size:1rem;font-weight:600;padding:12px 20px;border-radius:var(--portal-bold-radius-md);border:none;cursor:pointer;transition:transform var(--portal-bold-motion),opacity var(--portal-bold-motion);min-height:44px;min-width:44px}.portal-cta-btn:active:not(:disabled){transform:scale(.97)}.portal-cta-btn--primary{background:linear-gradient(135deg,var(--portal-bold-primary,#2563eb),var(--portal-bold-secondary,#06b6d4));color:#fff}.portal-cta-btn--secondary{background:var(--portal-bold-surface);color:var(--portal-bold-text);border:2px solid var(--portal-bold-border)}.portal-cta-btn--ghost{background:transparent;color:var(--portal-bold-primary);border:2px solid var(--portal-bold-primary)}.portal-cta-btn.is-loading,.portal-cta-btn:disabled{opacity:.55;cursor:not-allowed}.portal-cta-btn.is-clicked{box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-bold-primary) 40%,transparent)}.portal-cta-feedback{margin-top:10px;padding:10px 14px;border-radius:var(--portal-bold-radius-md);background:color-mix(in srgb,var(--portal-bold-primary) 12%,var(--portal-bold-surface));font-size:.889rem;font-weight:600}.portal-auth-mismatch{padding:var(--portal-bold-space-lg);border-radius:var(--portal-bold-radius-lg);border:2px solid var(--portal-bold-warning);background:color-mix(in srgb,var(--portal-bold-warning) 10%,var(--portal-bold-surface))}.portal-auth-mismatch__title{margin:0 0 8px;font-size:1.111rem}.portal-auth-mismatch__desc{margin:0 0 16px;color:var(--portal-bold-muted)}.portal-telemetry-mock{font-size:.889rem;border:1px dashed var(--portal-bold-border);border-radius:var(--portal-bold-radius-md);padding:var(--portal-bold-space-md);max-height:200px;overflow:auto}.portal-telemetry-mock__item{padding:4px 0;border-bottom:1px solid var(--portal-bold-border)}.portal-preview-banner{padding:12px 16px;background:#fef3c7;color:#92400e;font-weight:700;border-bottom:2px solid #f59e0b}.portal-preview-section{margin-bottom:var(--portal-bold-space-xl,32px)}.portal-preview-section__title{font-size:1rem;font-weight:800;margin:0 0 12px;color:var(--portal-bold-muted)}.portal-primitive-root[data-viewport=mobile],body[data-viewport-mobile=true] .portal-primitive-root{max-width:390px;margin:0 auto}.portal-primitive-root[data-viewport=mobile] .portal-gateway-grid,body[data-viewport-mobile=true] .portal-gateway-grid{grid-template-columns:1fr}.portal-hero--clean-edtech{color:var(--color-text,#1e293b);background:linear-gradient(180deg,var(--accent-warm-bg,#fffbeb) 0,var(--color-card,#fff) 72%);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--layout-radius-lg,16px);padding:24px 20px;box-shadow:var(--shadow-card,0 1px 3px rgba(15,23,42,.06));margin-bottom:16px}.portal-hero--clean-edtech .portal-hero__eyebrow{color:var(--color-primary,#2563eb);font-weight:600;letter-spacing:.04em}.portal-hero--clean-edtech .portal-hero__title{color:var(--color-text,#1e293b);font-size:1.75rem;font-weight:700}.portal-hero--clean-edtech .portal-hero__subtitle{color:var(--color-muted-text,#64748b)}.portal-primitive--clean-edtech{color:var(--color-text,#1e293b);background:var(--color-card,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--layout-radius-lg,16px);padding:20px;box-shadow:var(--shadow-card)}.portal-primitive--clean-edtech .portal-hero{background:transparent;border:none;box-shadow:none;padding:0 0 12px;margin-bottom:12px}.portal-primitive--clean-edtech .portal-staff-panel{background:var(--color-surface,#f8fafc);border:1px solid var(--color-border,#e2e8f0);color:var(--color-text,#1e293b)}