*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1117;color:#e2e8f0}.portal-root{display:flex;flex-direction:column;height:100vh;background:#0f1117}.portal-nav{flex-wrap:wrap;padding:0 16px;min-height:56px;background:#1a1d27;border-bottom:1px solid #2d3148}.portal-nav,.portal-nav-brand{display:flex;align-items:center;flex-shrink:0;gap:8px}.portal-nav-logo{font-size:20px}.portal-nav-title{font-size:16px;font-weight:700;color:#e2e8f0;white-space:nowrap}.portal-nav-tabs{display:flex;gap:4px;flex:1 1;min-width:0}.portal-nav-right{margin-left:auto;flex-shrink:0}.portal-tab{background:none;border:none;color:#64748b;font-size:14px;font-weight:500;padding:6px 14px;border-radius:6px;cursor:pointer;white-space:nowrap}.portal-tab:hover{color:#94a3b8}.portal-tab.active{background:#2d3148;color:#e2e8f0}.portal-signout{background:none;border:1px solid #2d3148;color:#64748b;font-size:13px;padding:5px 12px;border-radius:6px;cursor:pointer;white-space:nowrap}.portal-signout:hover{color:#94a3b8;border-color:#3d4168}.portal-main{flex:1 1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.portal-iframe{flex:1 1;border:none;width:100%;height:100%}@media (max-width:480px){.portal-nav{padding:8px 12px;row-gap:6px}.portal-nav-brand{flex:1 1}.portal-nav-tabs{order:3;width:100%;flex:none;border-top:1px solid #2d3148;padding-top:6px;padding-bottom:2px}.portal-tab{flex:1 1;text-align:center;padding:6px 8px}}.dashboard-stub{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:16px}.dashboard-stub-icon{font-size:48px}.dashboard-stub-title{font-size:20px;font-weight:700;color:#e2e8f0;text-align:center}.dashboard-stub-desc{font-size:14px;color:#64748b;text-align:center;max-width:480px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin-top:16px;width:100%;max-width:480px}@media (min-width:480px){.metric-grid{grid-template-columns:repeat(4,1fr);max-width:640px}}.metric-card{background:#1a1d27;border:1px solid #2d3148;border-radius:12px;padding:16px 12px;text-align:center}.metric-label{font-size:11px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:22px;font-weight:700;color:#475569}